第一个python程序
编写: hello.py
执行python程序
$ python3 文件路径名.py
常用的文件后缀:
.py python语言后缀
.c C语言
.cpp/.cc/.cxx C++语言后缀
.java Java语言后缀
在python交互模式下编写并执行代码
进入交互模式:
$ python3 <回车>
退出交互模式:
>>> quit() <回车>
>>> exit() <回车>
或输入: ctrl + d (输入文件结束符)
python 的注释
以 # 开头, 直至行尾
作用:
让注释内容不参加解释执行
sublime 注释快捷键 ctrl + /
python 程序的组成:
1. 程序是由模块组成
2. 模块是由数据,函数,类等组成
3. 函数由语句组成
4. 语句由表达式组成
python 的核心数据类型
数字(整型数int,浮点型数float,复数complex, 布尔型bool)
字符串 str, 列表 list 等
整型数 int
整数是不带有小数部分的数字
整数的字面值表示方式
十进制表示方式
如:
10
200
-100
99999999999999999999999999
八进制表示方式
如:
0o177 (127)
0o11 (9)
十六进制表示方式:
如:
0x11 (17)
0xFF (255)
0x1a2b
二进制表示方式:
如:
0b111
0b101
进制:
二进制 逢二进一 (0~1)
八进制 逢八进一 (0~7)
十进制 逢十进一 (0~9)
十六进制 逢十六进一 (0~9,A-F, a-f)
浮点型数 float
浮点数是带有小数部分的数字(小数部分可以是0)
浮点数的字面值表示方式:
小数表示法:
如:
3.14 3.1 3.0 3. 0.14 .14
科学计数法:
格式:
小数 e/E (正负号) 指数
如:
6.18E-1 (等同于 0.618)
2.9979e8 等于299790000.0
复数 complex
分为两部分:
实部(real)
虚部(image)
虚部是以j或J结尾的数
字面值:
1j
(2J)
1+2J
3-4j
布尔型数 bool
用来表求真和假两种状态的数字
True 表示值(条件满足或成立)
False 表示假(条件不满足或不成立)
说明:
True 的值为1
False的值为0
内置对象
空值 None
None 是一个表示不存的特殊对象
作用:
用来占位
变量解除绑定
表达式和运算符
表达式 expression
由一个数字 或 数字和运算符 等组成
作用:
通常让计算做一些事情并返回结果
如:
1 + 2
1 + 2 * 3 + 4 / 5
运算符:
算术运算符:
+ 加法
- 减法
* 乘法
/ 除法
// 地板除floordiv
% 求余
** 幂运算
/ 除法
除法得到的数是浮点型数,不会丢弃小数部分
1 / 3 # 得 0.333333333333
8 / 2 # 得 4.0
// 地板除
除的结果云掉小数部分向下取整
如:
7 / 3 # 得 2.333333333333
7 // 3 # 得 2
3.25 // 1.5 # 得 2.0
% 求余
如:
7 % 3 # 得 1
3.25 % 1.5 # 得 0.25
** 幂运算
格式:
x ** y
意为 x的y次方
如:
4 ** 2 # 得 16
3 ** 4.0 # 得 81.0
运算符的优先级
**
* / // %
+ -
示例:
1 + 3 * 3 ** 2 + 4 // 2
1 + 3 * 9 + 4 // 2
1 + 27 + 4 // 2
1 + 27 + 2
28 + 2
30
括号分组子表达式:
()内部的表达式先进行计算
混合类型自动升级
1 + 2.14 返回类型为浮点型 3.14
3 + 4.0 返回 7.0
基本输出函数 print
格式:
print(要打印的东西)
多个数据用逗号分隔开
变量 variable
什么是变量
变量是关联一个对象的"标识符"
标识符的命名规则:
必须为字母或下划线开头,
后跟字母或下划线或数字
不能使用python的关键字
说明:
python的变量名区分大小写
合法的标识符(变量名) 举例 :
abc a1b2 _abc __Abcd var
不合法的标识符:
1a2b $ABC +a -b #ABC @ ABC
python关键字:
True, False, None, is, del, if, elif ...等
赋值语句
=
语法:
变量名 = 表达式
或
变量名1 = 变量名2 = 表达式
或
变量名1, 变量名2 = 序列
作用:
1. 创建一个变量,此变量用来绑定数据对象
2. 修改一个变量的绑定关系,让其绑定另一个数据对象
说明:
当变量不存在时,创建该变量,同时将变量绑定在这个对象上
当变量存在时,改变此变量绑定的对象
一个变量只能绑定一个对象
两个变量可以同时绑定同一个对象
示例:
pi = 3.1415926
pi2 = pi # pi变量 和 pi2 变量同时绑定 3.1415926
x = y = 100 # x变量和 y变量同时绑定 100
x, y = 100, 200 # 序列赋值
python 中的自动化内存管理
a = 10000
b = 20000
a = a + b # 释放10000这个对象,a重新绑定30000
c = a # c同时绑定在30000上
del 语句:
作用:
用于删除变量,同时解除与对象的关联关系,如果可能能释放对象
语法:
del 变量名
在交互模式下查看当前作用域的所有变量
>>> help('__main__')
退出键: q
示例:
a = 10000 # 创建a变量,绑定10000
print(a) # 10000
del a # 删除了a变量,释放10000这个数据对象
print(a) # 出错
自动化内存管理和引用计数:
每个对象都会记录有几个变量绑定(引用)自身,
当引用的数量为0时,
则此对象将被销毁(释放内存资源),
此种自动化内存管理的方式叫引用计数
例:
a = 10000
b = a # 两个变量同时绑定10000这个数据对象
del a
del b # 此时会释放10000这个数据对象
is / is not 运算符
作用:
判断两个对象是否是同一个对象,
当是同一对象时返回True,否则返回False
说明:
is not 返回值与is 相反
语法:
x is y
x is not y
id(obj) 函数
作用:
返回一个对象在内存中的地址
小整数对象池
CPython中,整数-5至256的数永远存在于小整数池中,不会释放且可重复使用
示例:
a = 100
b = 100
a is b # True
复合赋值算术运算符
运算符 | 说明 |
y += x | 等同于 y = y + x |
y -= x | 等同于 y = y - x |
y *= x | 等同于 y = y * x |
y /= x | 等同于 y = y / x |
y //= x | 等同于 y = y // x |
y %= x | 等同于 y = y % x |
y **= x | 等同于 y = y ** x |
例:
x = 100
x *= 2 # x = 200
x = 100
x = x * 2 # x = 200