-
第一个Python程序
- ipython交互模式:(print是一个函数对象,作用是在终端打印出传入该函数的对象)
In [1]: print("hello world") hello world
- Python文件格式
打开sublime,新建一个文件,命名为hello.py,在文件的第一行写上:print("hello world")
, 保存。
然后在该文件所在目录下打开终端,输入命令python3 hello.py
,即在终端上打印出结果。
- ipython交互模式:(print是一个函数对象,作用是在终端打印出传入该函数的对象)
-
表达式和运算符
- 运算符即常见的数学运算符:+, -, *, /, %(求余数), //(地板除), **(次方)
- 表达式(expression)由一个数字或数字和运算符组成,比如1+2,注意优先级
- 括号分组子表达式
用()可以将表达式分组,()内的表达式先进行运算 - 混合类型自动升级(整型<浮点型<复数型)
e.g. 1+2.14返回浮点数3.14
-
变量(variable)
- 变量是用来绑定数据对象的标识符;
- 变量的命名要求:
a. 变量名必须以字母或者下划线开头,后跟字母或下划线或数字;
b. 不能使用Python的关键字做变量名
- 合法的变量名示例:a a1 b bbb _aaa _Abcd var a1b2c2
- 不合法的变量名示例:1a 123 $ABC +a -b #ab @ab
- Python 的关键字:True, False, None, is, del, if, elif等
-
Python核心数据类型
- 数字(整型、浮点型、复数、布尔型)
- 字符串
- 列表
- 元组
- 字典
- 集合
- 字节串等等
-
语句
-
赋值语句
- 语法:
变量名=表达式 或者
变量名1=变量名2=表达式 或者
变量名1,变量名2,…,=序列 - 作用:
用于创建变量并将变量绑定(或关联)在一个对象(数据对象/函数/类等等)上 - 说明:
1、当变量不存在时,创建该变量同时绑定在这个对象上
2、当变量存在时,改变此变量的绑定的对象
3、一个变量只能绑定一个对象
4、两个变量可以同时绑定同一个对象 - 示例:
a=10
b=20
c=a+b
a1=b1=c1=200
x, y=100, 200 - 复合赋值算术运算符
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
- 语法:
-
条件语句
- 语法:
if 真值表达式:
语句块1…(前面四个空格,后面同)
elif 真值表达式:
语句块2…
elif 真值表达式:
语句块3…
…
else:
语句块4 - 作用:
让程序根据条件选择性地执行某条语句或某些语句。 - 说明:
elif 子句可有1个或多个,也可以没有
else子句最多只能有一个,也可以没有(只能放在最后)
- 语法:
-
循环语句
包括while语句以及for语句,后续再详细讲解。
-
-
Python中关联/绑定/引用的含义
- 在Python中,变量没有类型
- 关联/绑定/引用都是指变量和一个对象的关联关系
在交互模式下查看变量的绑定关系:In [1]: help("__main__")
-
python中的自动化内存管理
A=10000(先创建10000的数据对象,存入内存(RAM),创建一个变量A,将A和10000关联(绑定数据对象的地址))
B=20000
A=A+B(数据对象没有被变量绑定时,自动释放) -
is/is not 运算符
- 作用:(实际判断的是id)
判断两个变量是否绑定同一个对象,如果是同一个对象,返回True, 否则返回False
is not 与is作用相反 - 语法:
x is y(相同的数值可能为两个数据对象)
- 作用:(实际判断的是id)
-
小整数对象池
cpython中整数-5至256永远存在于小整数池中,不会释放并且可以重复使用
示例:
In [18]: a=5
In [19]: b=5
In [20]: a is b
Out[20]: True
In [21]: a = 1+4
In [22]: b = 2+3
In [23]: a is b
Out[23]: True
In [24]: a = 10000+1
In [25]: b = 9999+2
In [26]: a is b
Out[26]: False
In [27]: a = 10000
In [28]: b = 10000
In [29]: a is b
Out[29]: False
-
判断两个变量是否绑定相同对象的方法
- 使用is, 如第9点例子
- 使用id函数
In [35]: a=1000
In [36]: b=1000
In [37]: a is b
Out[37]: False
In [38]: id(a) == id(b)
Out[38]: False
In [39]: e=3
In [40]: d=3
In [41]: e is d
Out[41]: True
In [42]: id(e) == id(d)
Out[42]: True
-
删除变量
- 作用:用于删除变量,同时删除与对象的关联关系。如果可能则释放对象。
- 语法: del 变量名
- Python的自动化内存管理和引用计数(reference count)
每个对象都会记录有几个变量引用自身,当引用的数量为0时,则对象被销毁,此种自动化内存管理的方式叫引用计数
-
练习题
- 用交互模式求:
1、一个商店卖西瓜,7元一个,你带20元能买几个西瓜,找零多少钱?
2、一个学生毕业的薪资为10000元,每年涨20%,十年后他的薪资是多少? - 指定一个圆的半径r为3cm,
1、计算出圆的周长是多少厘米?
2、计算圆的面积是多少平方厘米?(要求用变量代替3cm和圆周率3.1415926 - 已知有两个变量:
a绑定10000
b绑定20000
问:在不创建任何新对象的情况下,如何让a和b交换绑定的对象? - 从凌晨0:0:0计时,到现在已经过了63320秒,请问现在是几时,几分,几秒?写程序打印出现在的时间
提示:可以用地板除和求和实现
- 用交互模式求: