第一天介绍了python
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
最新的TIOBE排行榜,Python赶超PHP占据第4, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
目前Python主要应用领域
-
WEB开发——最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架)
-
网络编程——支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的非常简单
-
爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥
-
云计算——目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算
-
人工智能——谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。
- 自动化运维——问问中国的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的答案,它的名字叫Python
- 金融分析——我个人之前在金融行业,10年的时候,我们公司写的好多分析程序、高频交易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语言
- 科学运算—— 你知道么,97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛
- 游戏开发——在网络游戏开发中Python也有很多应用。相比Lua or C++,Python 比 Lua 有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合作为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,然后用 C/C++ 在非常必要的时候写一些扩展。Python 非常适合编写 1 万行以上的项目,而且能够很好地把网游项目的规模控制在 10 万行代码以内。另外据我所知,知名的游戏<文明> 就是用Python写的
变量
程序执行的本质就是一系列状态的变化,变量二字的核心一个是变,一个是量,'变'正好对应程序的变化,'量'即计量,反映的是某种状态。
1 name='egon' #变量的声明2 name #通过变量名,引用变量的值3 print(name) #引用并且打印变量名name对应的值,即'egon'
判断
单分支,单重条件判断
if expression:
expr_true_suite
注释:expession为真执行代码expr_true_suite
单分支,多重条件判断
if not active or over_time >= 10:
print('Warning:service is dead')
warn_tag+=1
if+else
if expression:
expr_true_suite
else:
expr_false_suite
多分支if+elif+else
if expession1:
expr1_true_suite
elif expression2:
expr2_true_suite
elif expession3:
expr3_true_suite
else:
none_of_the_above_suite
if语句小结
- if 后表达式返回值为True则执行其子代码块,然后此if语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if
- expression可以引入运算符:not,and,or,is,is not
- 多重expression为加强可读性最好用括号包含
- if与else缩进级别一致表示是一对
- elif与else都是可选的
- 一个if判断最多只有一个else但是可以有多个elif
- else代表if判断的终结
- expession可以是返回值为布尔值的表达式(例x>1,x is not None)的形式,也可是单个标准对象(例 x=1;if x:print('ok'))
- 所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布 尔 True 或 False 值。空对象、值为零的任何数字或者 Null 对象 None 的布尔值都是 False。
需求一、用户登陆验证
#!/usr/bin/env pythonname=input('请输入用户名字:')password=input('请输入密码:')if name == 'egon' and password == '123': print('egon login success')else: print('用户名或密码错误')
循环语句
while循环
1、基本循环
while 条件: # 循环体 # 如果条件为真,那么循环体则执行 # 如果条件为假,那么循环体不执行
2、break
break用于退出本层循环
while True: print "123" break print "456"
3、continue
continue用于退出本次循环,继续下一次循环
while True: print "123" continue print "456"
4 tag
警报器 用于切割等
tag=Truewhile tag: username=input('username: ') password=input('password: ') if username == 'egon' and password == '123': while tag: cmd=input('>>: ') if cmd == 'q': tag=False continue print('------>%s' %cmd)
for循环
九九乘法表
for i in range(1,10): for j in range(1,i+1): print('%s*%s=%s' %(i,j,i*j),end=' ') print()
作业
猜年龄
1 import time 2 age=24 3 n=0 4 while n<3: 5 putage=input('请输入你猜的数字:') 6 if putage.isdigit() == False: 7 print('输入有误,请输入数字!') 8 n+=1 9 10 else:11 n=012 putage=int(putage)13 if putage == age:14 print('恭喜你,猜对了!!')15 time.sleep(5)16 break17 elif putage < age:18 print('猜小了')19 while n <3:20 panduan=input('是否继续玩?(y/n)')21 if panduan == 'n':22 exit()23 elif panduan =='y':24 25 break26 else :27 print('输入有误')28 n+=129 elif putage >age:30 print('猜大了')31 while n <3:32 panduan=input('是否继续玩?(y/n)')33 if panduan == 'n':34 exit()35 elif panduan =='y':36 37 break38 else :39 print('输入有误')40 n+=1