0.Python之禅
可以通过在python解释器中输入import this 查看python应该注意的一些规范与原则,如下:
1.打印 "Hello World!"和接受用户输入
#输出
print("Hello World!")
#输入,括号中参数表示提示信息
a=input('>>')
print(str(a))
2.变量
规则:
(1)变量名只能包含字母、数字和下划线,不能数字打头
(2)变量名不能包含空格,可以使用下划线来分割其中的单词
(3)不要使用python关键字作为自己的变量名
(4)变量名简短又具有描述性
(5)慎用小写字母l和小写字母o,容易被人错看成数字1和0
3.注释
单行注释:#
多行注释:使用 ''' 或 """括起来
示例:
4.运算符
(1)算术运算符:+ - * /(除的结果是浮点数) % **(乘方) //(取整除 - 向下取接近除数的整数)
(2)比较运算符:== != >= <= > <
(3)赋值运算符:= += -= *= /= %= //= **=
(4)位运算符:& | ^ ~ << >>
(5)逻辑运算符:and or not
(6)成员运算符:in not in
(7)身份运算符:is(判断两个标识符是否引用一个对象) is not
如:id(x) is id(y)等价于id(x)==id(y) 注:id()是用于获取变量的内存地址
5.python的内存管理
(1)动态语言的特性:变量无需事先声明,也不需要指定类型
(2)编程中无需关心变量的存亡,也不关心内存的管理
(3)python的内存管理机制:
python使用引用计数记录所有对象的引用数
计数为0:可被GC垃圾回收(垃圾回收的作用是1.回收不使用的变量占用的内存2.规整内存,减少碎片内存),当变量不再使用的时候,我们可以申请垃圾回收,但是变量不会被立即回收,而是打上标记,当达到一定条件(比如内存满到一定阈值)会自动进行回收(这个取决于语言中具体实现)
计数增加:赋值给其他变量就增加计数
计数减少:函数运行结束时,局部变量就会自动被销毁,对象引用计数减少
一般在对GC没有深刻理解的时候不建议自己手动地进行垃圾回收(因为在垃圾回收进行内存规整时,不能操作相应变量,所以会使性能下降)
在内存中尽量存放最有用的数据,不能因为它有GC,就频繁生成垃圾,然后程序会频繁调用GC,因为每一次垃圾回收都有会使性能下降,总体会使性能大幅下降
这种垃圾回收机制类似于Java
6.语句
(1)分支语句
1)单分支
if(condition):
语句块
if的括号中的condition的等价
2)多分支结构
(2)循环语句
1)whie循环
while(condition):
语句块
2)for循环
python中的for循环不同于C++中的for循环,它的for循环更像是C++11当中新增的针对遍历数组或容器的foreach循环语句
python的for循环可以遍历任何序列的项目
示例:
运行结果:
结论:
(1)for循环格式为:
for 代表序列每个元素的自定义变量名 in 要遍历的序列变量名 :
语句块;
如上述:for animal in animals :
注意:for循环后别忘了有冒号
(2)python是通过缩进来判断代码行与前一个代码行的关系,每个在for语句后缩进的语句都会被认为是for循环内部的语句,且
针对序列中的每个元素都会执行一次,所以缩进对于python来说很重要,它的作用类似于C++中的{},不能随意缩进
(3)python每一行的print语句会自动换行
(4)python会忽略代码中间的空行
range()函数
python可以使用range()函数轻松生成一系列的数字,大概有下列几种形式
(1)指定区间:range(1,5) 生成1,2,3,4 你没看错,这里没有5,又是左闭右开
(2)省略左边,默认从0开始:range(5) 生成0,1,2,3,4
(3)指定区间(前两个参数)和步长(第三个参数):range(0,10,3) 生成0,3,6,9 后一个数字等于前一个数字+3
(4)负数:range(-10,-100,-30) 生成-10,-40,-70 注意这里没有-100,始终不要忘了,右边是开区间
(5)可以结合range()和len()函数以遍历一个序列的索引:见示例代码
(6)可以使用range()函数来创建一个列表:利用list()函数将range()的结果直接转换成列表
示例:
运行结果:
3)break和continue
break:终止循环,只终止离它最近的一层循环
continue:终止此次迭代的循环,继续下一次迭代