Learning Python Day 1
2018-06-18 01:17:13来源:未知 阅读 ()
Python擅长的领域:
WEB开发:Django\pyramid\Tornado\Bottle\Flask\WebPy
网络编程:Twisted\Requests\Scrapy\Paramiko
科学运算:SciPy\Pandas\Ipython
GUI图形开发:wxPythin\PyQT\Kivy
运维自动化:OpenStack\SaltStack\Ansible\腾讯蓝鲸
- 第一个Python程序:"Hello World"
1 print("Hello World")
- 变量与交互式输入:(注意Input得到的是字符型变量,如果需要数字要进行强制转换,如int)
1 #代码在interaction.py中 2 name = input("name:") 3 age = int(input("age:")) #integer 4 print(type(age),type(str(age))) 5 job = input("job:") 6 info1 = ''' 7 ---------------info1 of %s -------------- 8 name:%s 9 age:%d 10 job:%s 11 ''' %(name,name,age,job) # ''' ''' 表示多行注释,也可以将此赋给变量 12 print(info1) #第一种方法:%d,%s…… 13 info2 = ''' 14 ---------------info2 of {_name} ----------- 15 name:{_name} 16 age:(_age} 17 job:{_job} 18 '''.format(_name=name,_age=age,_job=job) 19 print(info2) #第二种方法:{}加.format() 20 info3 = ''' 21 -------------info3 of {0} --------- 22 name:{0} 23 age:(1} 24 job:{2} 25 '''.format(name,age,job) 26 print(info3) #第三种方法:{}里面数字加.format(),此时.format()中变量要按顺序排列
- 小型用户登录程序(不显示密码):这里要使用getpass模块
1 import getpass 2 _username = zheng zhi 3 _password = abc123 4 username = input("username:") 5 password = getpass.getpass("password:") 6 if _username == username: 7 print("Welcome user {name} login..".format(name=username)) 8 else: 9 print("Invalid username or password")
- 简单的循环:
注意,类似for,while,if,else等后面一定要加冒号
while
1 count = 0 2 while True: 3 print("count:",count) 4 count = count+1 5 if count == 10000 6 break
for
1 for i in range(10): 2 if i < 3: 3 print("loop",i) 4 else: 5 continue 6 print("go")
注意Python中强制缩进,一个代码缩进与不缩进可能会有很大差别,比如在上个例子中,如果把最后一行代码修改一下:
1 for i in range(10): 2 if i < 3: 3 print("loop",i) 4 else: 5 continue 6 print("go")
这样最后运行的结果与上个会产生不同,要多注意。
接下来,我们运用至今所学的知识编写一个“猜年龄”的小游戏,可以分别用while和for循环来写
- 猜年龄
1 #用while来写,代码在guess_while中 2 age_of_zhengzhi = 21 3 count = 0 4 while count < 3: 5 guess_age = int(input("Please guess the age of zhengzhi")) #注意不要忘记了用int将字符型变量转化为整形变量 6 if guess_age ==age_of_zhengzhi: 7 print("Yes,you got it!") 8 break 9 elif guess_age > age_of_zhengzhi: 10 print("Emmm,guess smaller..") 11 else: 12 print("Emmm,guess bigger..") 13 count = count+1 14 else: 15 print("You have tried too many times..")
#用for来写,代码在guess_for中 age_of_zhengzhi = 21 for i in range(1,5): guess_age = int(input("Please guess the age of zhengzhi")) #注意不要忘记了用int将字符型变量转化为整形变量 if guess_age ==age_of_zhengzhi: print("Yes,you got it!") break elif guess_age > age_of_zhengzhi: print("Emmm,guess smaller..") else: print("Emmm,guess bigger..") else: print("You have tried too many times..")
注意break和continue的含义:
break:跳出当前循环
continue:跳出当次循环
- 模块初识:
内置的两个模块:
sys模块:
1 import sys 2 print(sys.path) #打印环境变量 3 print(sys.argv) #打印相对路径 4 print(sys.argv[2]) #用于读取给定的参数
比如在命令行中python sys_mod.py 5 4 3 2 1,这样,print(sys.argv[2])命令会返回第二个参数4
os模块:
1 import os 2 cmd_res1 = os.system("dir) #os.system直接输出到屏幕上,不存给cmd_res,即执行命令,不保存结果 3 print("-->",cmd_res1) 4 cmd_res2 = os.popen("dir").read() #执行命令但不显示,将结果保存给变量 5 print("-->",cmd_res2
我们在执行第2行os.system()代码后运行直接打印出根目录,前面的赋值表达式似乎没起到作用,接下来我们打印cmd_res1,结果发现输出了0,这个含义是代表执行命令成功;
第4行执行os.popen()则是执行命令但不显示,将内容赋值给了cmd_res2,由于加了.read(),接下来我们打印cmd_res2时会得到具有可读性的根目录。
第三方模块:
第三方下载的,甚至自己写的.py文件都可称之为第三方模块,可以使用import调用。但是需要注意的是,命令执行时寻找模块会在sys.path显示的路径中寻找,找不到则会报错。比如我们将之前写好的password.py文件放入day1文件夹新建的一个名为new_dir的文件夹中,运行以下代码将会报错:
1 import password
这是因为import命令会在sys.path显示的环境变量路径中寻找待调用的模块,但是我们将password.py模块改变了位置。对此,有两种解决方法,第一是将password.py重新复制到site_package目录中(一个专门存放第三方模块的位置,在环境变量路径中有);第二是将new_dir目录增添到环境变量路径中去。
- bytes类型及转码:
简单地说,就是.encode(encoding = "~”)将str(字符串)转化为bytes,.decode(encoding = "~")将bytes转化为str(字符串)
msg = "我爱北京天安门" print(msg) print(msg.encode(encoding = "utf-8").decode(encoding = "utf-8))
两个print打印的结果是相同的。但注意,不是字符串无法进行.encode()转码,比如123.encode()
- 三元运算:
1 result = 值1 if 条件 else 值2
如果条件为真,则result = 值1;若条件为假,则result = 值2。
password改进版(加入了连续输入三次错误后不允许继续输入)(但并没有把次数与用户名联系起来,日后继续改进):
1 import getpass 2 _username = "zheng zhi" 3 _password = "abc123" 4 count = 0 5 while count < 3: 6 username = input("username:") 7 password = getpass.getpass("password:") 8 if _username == username and _password == password: 9 print("Welcome user {name} login ..".format(name = username)) 10 break 11 else: 12 print("Invalid username or password,you have the last %d chances"%(2-count)) 13 count += 1 14 if count == 3: 15 print("You have tried unsucessfully for 3 times,your username has been locked!")
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash