Python简介:
创始人:Guido Van Rossum (荷兰人)时间:1989年圣诞节期间
地点:阿姆斯特丹
语言的种类:
Java C C++ Python
Python优点:
系统运维
网络编程(搜索引擎,爬虫,服务器编程)
科学计算
人工智能,机器人
云计算
大数据及数据库编程
教育
游戏,图像
其他
优点:
面向对象
免费
可移殖
可混合编程
简单易学易用
开发效率高
应用领域广泛
开源
缺点:
与C/C++相比。执行速度不够快
python的官网:
www.python.org
python的版本:
Python 2.7
Python 3.5(当前使用版本)
Python 3.7 (最新版本)
python 安装
Window
Mac OS X
Linux
....
编译型语言(静态语言):
C/C++ ------需要编译成机器指令 -----运行在目标机器上
解释执行型语言(动态语言):
java/Python ----解释执行器程序(运行与机器上)
Python解释执行器的类型:
CPython(C语言写的) ,
Jython(java语言写的),
IronPython(基于.net框架的)
PyPy (Python语言写的)
第一个Python程序
编写hello.py
执行python.py
$python3(解释执行器) hello.py
$python3 hello.py
常用的文件的后缀
.py python 源代码
.c C语言
.cpp/.cxx/.cc/.C C++语言
.java java语言
Python的交互模式下编写并执行代码
进入交互模式:
$python<回车>
退出交互模式:
>>> quit()<回车>
Python的注释:
Python 注释是以#开头,直到行尾
作用:
让解释执行器忽注释内容
sublime 中注释的快捷方式:
ctrl + /(Linux)
command + / (mac os x下)
python 程序的组成
程序由模块组成
模块由语句(函数,类)等组成
语句包含表达式
表达式建立并处理数据对象
python的核心数据类型和内置对象:
数字类型:
整型,浮点型,复数,布尔
字符串类型:
空值 None:
整数
整型常数的表达方式(整数可以很大)
十进制整数 : 10 0 -100
八进制整数:0O177(255) 0O11(9)
0o11+9=18
十六进制方式表达(0x开头,后根0-9 A-F)
0X11 (17)
0xFF (255)
二进制方式表达(0b开头后跟0或者1)
0b111
浮点数:float
两种表示方法:
小数
3.14 3.1 3.0 3. 0.14 .14
科学技术法(e大小写均可以,代表10的几次方)
6.18E-1 (0.618) 等同于6.18*十分之一
2.9979e8(等同于29790000)
>>> 2.9979e8
299790000.0
复数 complex
数学里的一种表示数的方法
分为实部和虚部两部分
虚部以j或J结尾
示例
>>> 1J
1j
>>> 1j
1j
>>> 1j * 1j
(-1+0j)
>>> (1+1J)+(1-1J)
File "<stdin>", line 1
(1+1J)+(1-1J)
^
SyntaxError: invalid syntax
布尔 bool
用来表示真和假的两种状态的类型
True 表示真(条件满足或成立)
False 表示假(条件不满足或者不成立)
>>> True
True
>>> False
False
>>>
空值 None
None 是一个特殊的常量 不表示任何类型
作用:
1.用来占位
2.变量解除绑定
>>> None
>>>
表达式和运算符(也叫操作符)
由一个数字(或其他对象)或数字和运算符组成,用来表示一个运算,通常是让一个程序返回一个结果
示例:
>>> 1+2
3
>>> 1+3+5*7
39
>>>
算术运算符:
+ 加法
- 减法
*乘法
/除法
%求余
//地板除(python2.3 以后才有)
** 幂运算
python2.7
>>> 1/3
0
>>> 1.0/3
0.3333333333333333
>>> 8/2
4
python3
>>> 1/3
0.3333333333333333
>>> 8/2
4.0
/除法
除法得到的数是浮点型数,不会丢弃小数部分
>>> 1/3
0.3333333333333333
//地板除 ???
除法的结果去掉小数部分方向不取整
>>> 8//3
2
>>>3.25//1.5
2.0 (python3中2.0等于2)
-5//3 (负数向下取整)
2
%求余
>>> 7%3
1
>>> 3.25%1.5
0.25
**幂运算
格式:x**y
>>> 4**2
16
>>> 3.0**3.0
27.0
>>> 5.6**1.418
11.506165654866916
>>> 4*.5 (4的0.5次方)
2.0
(-1) ** .5
运算符的优先级:
>>> 1+3*3**2+4//2
1+3*9+4//2
1+27+4//2
1+27+2
30
括号分组子表达式
用()可以将表达式分组,()内的表达式优先进行计算
>>> (1+2)*(3+4)
21
>>> ((1+2)*3)**4
6561
注意:在交互模式下,可以ctrl+d退出交互模式
变量
什么是变量
变量是关联一个对象的符号
变量名必须为字母或下划线(_)开头,后跟字母,下划线或数字
不能使用Python的关键字
注:
变量名区分大小写
合法的变量名示例:
a al b bbb_abc
不合法的示例:
la 123 $ABC +a -b @ABC
Python 的关键字:
True ,False None ,is ,del,if elif else
赋值语句:
语法:
变量名=表达式
作用:当没有此变量时,创建一个变量,同时将变量绑定到这个对象上
当变量存在时,改变此变量关联的对象
用变量访问此变量关联的这个对象
说明:一个变量只能绑定一个对象
两个变量可以同时绑定同一个对象
>>> a=100
>>> b=a
>>> b
100
pi 圆周率
python 关联/绑定/引用的含义
在Python,变量没有类型
关联/绑定/引用都是指变量和一个对象的关联关系
序列赋值的语法:
变量名1,变量名2,...=对象1,对象2,...
变量名1,变量名2,...=(对象1,对象2,...)
变量名1,变量名2,...=[对象1,对象2,...]
>>> a=10
>>> b=20
>>> a=b
>>> a
20
>>> b
20
>>> a ,b=1,2 (分别给a,b赋值)
>>> 1
1
>>> b
2
>>> a,b=b,a(交换两个变量的绑定关系)
>>> a
2
>>> b
1
python的变量不存值,代表的是绑定关系
is /is not 运算符
is 作用:
判断两个变量是否绑定同一个对象,当是同一个对象时返回True,否则返回False
is not作用与is相反
语法:
x is y
x is not y
(the boat)
理解a=1000+2000都发生了?
类似于河里的小船,如果没有绳子绑定则不会停留。变量就相当于绳子
>>> a=1000+2000
>>> a
3000
>>> b=3000
>>> a is b
False
>>> b=a
>>> a is b
True
注意:在CPython解释执行器中,-5~256的整数只有一份,此数据对象将会被重复使用.在此解释执行器中,这些范围的数已经创建,只有一份,所有的变量都只能绑定同一个对象,不再此范围内可以创建不同的份数,所以相应的变量会绑定不同的对象。
>>> a=100
>>> b=100
>>> a is b
True
del语句:
用于删除变量,同时解除变量与对象的关联关系,如果可能则释放对象。
语法:
del 变量名
x=10000
示例:
a=3000
b=a
del a #删除a变量
>>> a=3000
>>> b=a
>>> del a 删除a变量
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> b
3000
>>> del b 删除b变量,同时会释放没有引用关系的3000对象
在交互模式下查看当前作用域的所有变量
当前作用域:当前空间,不能存在相同的变量
>>> b=10000
>>> help("__main__")
Help on built-in module __main__:
NAME
__main__
FILE
(built-in)
DATA
b = 10000 -----说明b绑定10000