浅谈自学Python之路(day1)
2018-02-19 17:15:14
Python语言相对于其他语言较为简洁,也相对好入门比如后面不加分号,基本见不着大括号等优点
- 第一个程序,也是学每门语言都需要掌握的第一个代码
print("Hello World")
- print 语句用法
1 print 'a', 'b' #print可以接受多个参数,参数的输出之间以空格相隔。 2 print 'a', #如果逗号之后没有参数,则不会换行。 3 print 'b'
- 接下来是输入用户名密码
1 import getpass 2 3 _username = 'lym' 4 _password = 'abc123' 5 username = input("username:") 6 #password = getpass.getpass("password:") 7 password = input("password:") 8 if _username == username and _password == password: 9 print("Welcome user {name} login...".format(name=username)) 10 else: 11 print("Invalid username or password!")
- 进行格式化拼接
1 name = input("name:") 2 #age = input("age:") 3 age = int(input("age:")) 4 print(type(age), type( str(age) )) 5 job = input("job:") 6 salary = input("salary:") 7 8 #用这种比较好 9 info = ''' 10 --------------info of %s 11 Name:%s 12 Age:%d 13 Job:%s 14 Salary:%s 15 '''%(name,name,age,job,salary) 16 17 18 info2 = ''' 19 --------------info of {_name} 20 Name:{_name} 21 Age:{_age} 22 Job:{_job} 23 Salary:{_salary} 24 '''.format( 25 _name = name, 26 _age = age, 27 _job = job, 28 _salary = salary 29 ) 30 31 32 info3 = ''' 33 --------------info of {0} 34 Name:{0} 35 Age:{1} 36 Job:{2} 37 Salary:{3} 38 '''.format(name,age,job,salary) 39 40 print(info3)
由以上可以看出,想输入一个英文或者数字可以这样写
1 name = input("name:")
简单而快捷
-
format方法
有时我们并不想用其他信息来构造字符串。这儿format()方法就很有用。
python从2.6开始支持format,新的更加容易读懂的字符串格式化方法,
从原来的% 模式变成新的可读性更强的
-
花括号声明{}、用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, 或者 变量名直接引用。
-
从format参数引入的变量名 、
-
冒号:、
-
字符位数声明、
-
空白自动填补符 的声明
-
千分位的声明
-
变量类型的声明: 字符串s、数字d、浮点数f
-
对齐方向符号 < ^ >
-
属性访问符中括号 ☐
-
使用惊叹号!后接a 、r、 s,声明 是使用何种模式, acsii模式、引用__repr__ 或 __str__
-
增加类魔法函数__format__(self, format) , 可以根据format前的字符串格式来定制不同的显示, 如: ’{:xxxx}’ 此时xxxx会作为参数传入__format__函数中。
- 注释
最简单的注释“#”
比如:
#print("这是一个注释")
多行注释: """ """
''' for i in range(10): if i<5: continue #不往下走了,直接进入下一次loop print("loop:", i ) '''
整段话就被全部注释掉了,也很简单
- 循环
表达式if ... else
1 # 提示输入用户名和密码 2 3 # 验证用户名和密码 4 # 如果错误,则输出用户名或密码错误 5 # 如果成功,则输出 欢迎,XXX! 6 7 8 #!/usr/bin/env python 9 # -*- coding: encoding -*- 10 11 import getpass 12 13 14 name = raw_input('请输入用户名:') 15 pwd = getpass.getpass('请输入密码:') 16 17 if name == "lym" and pwd == "cmd": 18 print("欢迎,lym!") 19 else: 20 print("用户名和密码错误")
猜年龄游戏:在程序中设定好你的年龄,然后让用户输入年龄比大小,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了
1 my_age = 28 2 3 user_input = int(input("input your guess num:")) 4 5 if user_input == my_age: 6 print("Congratulations, you got it !") 7 elif user_input < my_age: 8 print("Oops,think bigger!") 9 else: 10 print("think smaller!")
若改为无限次数猜,直到你猜对了为止
1 count = 0 2 age_of_oldboy = 26 3 while True: 4 guess_age = int(input("guess age: ")) 5 if guess_age == age_of_oldboy: 6 print("yes,you got it") 7 break 8 elif guess_age < age_of_oldboy: 9 print("think smaller") 10 else: 11 print("think bigger")
若限制次数为三次,超过三次就被踢出游戏
1 while count < 3: 2 guess_age = int(input("guess age:")) 3 if guess_age == age_of_oldboy: 4 print("yes,you got it") 5 break 6 elif guess_age < age_of_oldboy: 7 print("think smaller") 8 else: 9 print("think bigger") 10 count +=1 11 else: 12 print("fuck off")
此处,count 即计数器
- 表达式 for loop
最简单的循环10次
1 for i in range(10):
2 print("loop:", i )
输出结果为
1 loop: 0 2 loop: 1 3 loop: 2 4 loop: 3 5 loop: 4 6 loop: 5 7 loop: 6 8 loop: 7 9 loop: 8 10 loop: 9
如果想跳着输出 loop可以修改代码为
1 for i in range(0,10,2): 2 print("loop:",i)
输出结果为
1 loop: 0 2 3 loop: 2 4 5 loop: 4 6 7 loop: 6 8 9 loop: 8
1,3,5,7就分隔开了,从0开始每隔两个loop输出一个loop
- 表达式while loop
输出0-1000的数字
1 count = 0 2 while True: 3 print("count:",count) 4 count +=1 5 if count ==1000: 6 break
输出结果太多,这里就不截图了
再拓展一下,如何达到,让用户猜数字,三次内如果猜对则break,如果三次后还没有猜对则提问是否愿意继续猜? 如果打出的不是Y,则继续猜,依次循环,代码如下
1 while count < 3: 2 guess_age = int(input("guess age:")) 3 if guess_age == age_of_oldboy: 4 print("yes,you got it") 5 break 6 elif guess_age < age_of_oldboy: 7 print("think smaller") 8 else: 9 print("think bigger") 10 count +=1 11 if count == 3: 12 countiue_guess = input("do you want keep guessing?...") 13 if countiue_guess != "y": 14 count = 0
今天的学习的内容就是以上内容,相信大家看了以后也很容易理解,那么期待第二天的内容,我们下期见:)
下一篇: MySQL数据库优化方法详解