大纲:
一、Python介绍
二、Python发展史
三、Python 2 or 3?
四、Python安装
五、Hello World程序
六、用户交互程序&&字符拼接
七、表达式
一、Python介绍
1、Python应用领域
云计算
web开发
科学运算
系统运维
金融,量化交易,金融分析
图形GUI
2、Python是一门什么样的语言?
Python是一门【动态】【解释型】【强类型】定义语言
分类:
动态语言和静态语言:
动态语言,无需指定数据类型
静态语言,需要声明所有变量的数据类型
编译型和解释性:
编译型语言运行之前需要编译,生成可执行文件
Python是解释性语言
编译型,执行效率高
强类型定义语言和弱类型定义语言:
强类型定义:一个变量只能赋予相同数据类型的值
弱类型定义:一个变量可以赋不同数据类型
3、Python优缺点
优点:
入门容易,有发展
开发效率高
高级语言
可移植性
可扩展性
可嵌入性
缺点:
速度慢:比java也慢,比C语言慢
代码无法加密:
python多线程不能利用多核优势
语言只是一个工具,体现的是设计师的思想。学会使用工具提高工作效率
4、Python解释器
Python从规范到解释器都是开源的,理论上任何人都可以编写解释器。
Python编译器:
CPython
IPython
交互解释器
PyPy
执行速度高,采用JIT技术,比java快,甚至某些功能比C快
Jython
Java平台上的Python解释器
IronPython
.net平台Python解释器
二、Python发展史
1989 开始
1991 诞生
2004 Django出现
Python 2.6和2.7过渡版本
2014 发布声明,Python2.7支持到2020年
三、Python 2 or 3?
官方:Python2.x is legacy.Python 3.x is the present and future of the language
Twisted还不支持Python3
四、Python安装
windows:
1、下载安装包
https://www.python.org/ftp/python/
2、安装
默认安装路径:C:\Users\name\AppData\Local\Programs\Python\Python35-32
3、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\Users\name\AppData\Local\Programs\Python\Python35-32,切记前面有分号
Linux:
无需安装,原装Python环境
五、Hello World程序
在linux 下创建一个文件叫hello.py,并输入
print ("Hello world")
然后执行命令:python hello.py ,输出
$ vim hello.py
$ python hello.py
Hello World!
指定解释器
上一步中执行 python hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。
如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:
#!/usr/bin/env python
print ("hello,world")
如此一来,执行: ./hello.py 即可。
ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py
在交互器中执行
除了把程序写在文件里,还可以直接调用python自带的交互器运行代码,
开发环境搭建:
Windows安装PyCharm
六、用户交互程序&&字符拼接
示例:
#!/usr/bin/env python
# -*-coding:utf-8-*-
# Author:Guosir
#raw_input 2.x input 3.x
#2.x input 废弃不用
name = input("name:")
age = int(input("age:"))
print(type(age) ,type(str(age)))
job = input("job:")
salary = input("salary:")
#print(username, password)
#字符拼接
#%d,整型;%s,string ;%f,浮点
"""info = '''
------info of %s ------
Name:%s
Age:%d
Job:%s
Salary:%s
''' %(name,name,age,job,salary)
"""
info2 = '''
------info of {_name} ------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
''' .format(_name=name,
_age=age,
_job=job,
_salary=salary)
print(info2)
七、表达式
说明:Pycharm不支持getpass模块
if条件判断示例:
#!/usr/bin/env python
# -*-coding:utf-8-*-
# Author:Guosir
import getpass
_username = 'Guosir'
_password = 'abc123'
username = input("username:")
password = getpass.getpass("password:")
if _username == username and _password == password:
print ("Welcome user {name} login...".format(name=username))
else:
print("Invalid username or password!")
if分支示例:
#!/usr/bin/env python
#-*-coding:utf-8-*-
#Author:Guosir
age_of_oldboy = 56
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("yes, you got it.")
elif guess_age > age_of_oldboy:
print("think smaller...")
else:
print("think bigger!")
While循环示例:
#!/usr/bin/env python
#-*-coding:utf-8-*-
#Author:Guosir
age_of_oldboy = 56
coun = 0
while coun < 3:
guess_age = int(input("Guess age:"))
if guess_age == age_of_oldboy:
print("You got it !")
break
elif guess_age > age_of_oldboy:
print("Think smaller...")
else:
print("Think bigger!")
coun += 1
else:
print ("You have tried too many bimes..fuck off!!!")
Continue循环示例:
for i in range(0,10):
if i < 3:
print("loop ",i)
else:
continue #跳出本次循环,继续下次循环
print("hehe...")
For循环示例:
for i in range(0,10):
if i < 3:
print("loop ",i)
else:
continue #跳出本次循环,继续下次循环
print("hehe...")
循环嵌套:
for i in range(10):
print('----------',i)
for j in range(10):
print(j)
if j > 5:
break