P..........Python(周末班)第一天(吓跑人数:0 迟到人数:0 大家状态:GOOD 我的状态:???? 讲师评级:rank?)
内容索引
1.Python介绍
2.发展历史
3.安装
4.guess for .py
5.coding.py
6.interaction.py
7.passwd.py
8.var.py
9.guess任性玩.py
10.while.py
11.guess.py
12.作业
13.看了你也不清楚底层
1.Python介绍
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

没黑幕的排行榜(雾)
应用领域很多,例如数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域
目前Python主要应用领域:
- 云计算: 云计算最火的语言, 典型应用OpenStack(里面很多PY开发的东西)
- WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django(开发效率非常变态,不过似乎不适合特大型架构)
- 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas(好像还有啥脑波分析的)
- 系统运维: 运维人员必备语言(对嘛,这个应该是这节课的主要目的)
- 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测(这个可不是PY自己能够单独完成的)
- 图形GUI: PyQT, WxPython,TkInter (配合上加密打包工具就可以打包成EXE给别人用了)
编译型vs解释型
编译型(运行前需要编译)
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型(边跑边解释)
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
2.Python发展历史
- 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
- 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
- Granddaddy of Python web frameworks, Zope 1 was released in 1999
- Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
- Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
- Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
- Python 2.5 - September 19, 2006
- Python 2.6 - October 1, 2008
- Python 2.7 - July 3, 2010
- In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
- Python 3.0 - December 3, 2008
- Python 3.1 - June 27, 2009
- Python 3.2 - February 20, 2011
- Python 3.3 - September 29, 2012
- Python 3.4 - March 16, 2014
- Python 3.5 - September 13, 2015
3.安装
Linux
yum -y install zlib zlib-devel yum -y install bzip2 bzip2-devel yum -y install ncurses ncurses-devel yum -y install readline readline-devel yum -y install openssl openssl-devel yum -y install openssl-static yum -y install xz lzma xz-devel yum -y install sqlite sqlite-devel yum -y install gdbm gdbm-devel yum -y install tk tk-devel
tar -xvzf Python-3.5.1.tgz
cd Python-3.5.1/
./configure --prefix=/usr/python --enable-shared CFLAGS=-fPIC
make
make&install
window安装
点下一步需要我手把手教你么???
然后需要在环境变量里面配置
安装成功后可以在命令行解释器里面使用Python3 或者 python调用
4.guess for .py
age_of_oldboy = 56 # 设定老男孩年龄 56岁 for i in range(3): # 通过range函数 给与3次循环 guess_age = int(input("guess age:") ) # 通过int函数 把input输入的值变成整数型,并赋值给guess_age if guess_age == age_of_oldboy : # 假如 guess_age 和 age_of_oldboy相同 则打印 yes.yougot it print("yes, you got it. ") break #停止运行 elif guess_age > age_of_oldboy: # 如果输入太小
print("think smaller...") #打印 thinksmaaller...
else: print("think bigger!")# 上面条件不符合则太大
else: print("you have tried too many times..fuck off") #超过3次循环 退出
5.coding.py
name = "你好,世界" #经典开局 ······好像和第四章反过来了反正也没人看到偷偷的藏在后面 print(name ) #打印你好世界
6. interaction.py
name = input("name:") #通过 name 变量接收输入 input #raw_input 2.x input 3.x #input 2.x = age = int(input("age:") ) #integer # 通过 age 变量接受 input输入 print(type(age) , type( str(age) )) #通过type知道age类型 通过str(age)转换成字符 然后打印类型 job = input("job:") # 通过 Job变量接收 input输入
salary = input("salary:") #通过salary 接受 input info = ''' -------- info of %s ----- Name:%s Age:%d Job:%s Salary:%s ''' % (name,name,age,job,salary) #格式化输出方式1 info2 = ''' -------- info of {_name} ----- Name:{_name} Age:{_age} Job:{_job} Salary:{_salary} '''.format(_name=name, _age=age, _job=job, _salary=salary) #格式化输出2 info3 = ''' -------- info of {0} ----- Name:{0} Age:{1} Job:{2} Salary:{3} '''.format(name,age,job,salary) #格式化输出3 print(info3)
7.passwd.py
import getpass #导入 模块 getpass 上面没遇到过的新 的东西 _username = 'alex' # 创建变量 并赋值为 alex _password = 'abc123' # 创建变量 并赋值为 abc123 username = input("username:") #username 变量接受input赋值 #password = getpass.getpass("password:") password = input("password:") #passsword 变量接受 input赋值 if _username == username and _password == password: #假如OK则输出 欢迎 不OK则说你帐号密码有问题 print("Welcome user {name} login...".format(name=username)) else: print("Invalid username or password!")
8.var.py
#!/usr/bin/env python # 使用PY的路径 # -*- coding:utf-8 -*- #使用的编码方式 # Author:Alex Li #作者是谁
9.guess.py
1 age_of_oldboy = 56 2 3 count = 0 4 while count <3: 5 guess_age = int(input("guess age:") ) 6 if guess_age == age_of_oldboy : 7 print("yes, you got it. ") 8 break 9 elif guess_age > age_of_oldboy: 10 print("think smaller...") 11 else: 12 print("think bigger!") 13 count +=1 14 if count == 3: #通过判断次数是否等于3 15 countine_confirm = input("do you want to keep guessing..?") #是否继续操作 16 if countine_confirm != 'n': 17 count =0 18 #else: 19 # print("you have tried too many times..fuck off")
10.while.py
for i in range(10):
print('----------',i)
for j in range(10):
print(j)
if j >5:
break
11.guess.py
age_of_oldboy = 56 count = 0 while count <3: guess_age = int(input("guess age:") ) if guess_age == age_of_oldboy : print("yes, you got it. ") break elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigger!") count +=1 else: print("you have tried too many times..fuck off")
12.作业 (山炮版本)

浙公网安备 33010602011771号