python基础
特殊变量
_xxx from moudle import *无法导入
__xxx__ 系统定义的变量
__xxx 类的本地变量
表达式
算数表达式
将结果转为正数或者负数
+a 结果符号不变
-a 对结果符号取负
a + b a加b
a - b a减b
a**b a的b次幂
a*b a乘以b
a/b a除以b,正真除,浮点数保留小数
a//b a除以b,向下取整
a%b a对b取余数
逻辑表达式
not a a的逻辑非 bool
a and b a与b的逻辑与 bool
a or b a与b的逻辑或 bool
a is b a与b是同一个对象 bool
a is not b a与b不是同一个对象 bool
关系表达式
== 等于
!= 不等于
<> 不等于(废弃)
> 大于
< 小于
>= 大于等于
<= 小于等于
位运算
~a 按位取反
a << n a左移n位
a >> n a右移n位
a & b a和b按位与
a | b a和b按位或
a ^ b a和b按位异或
缩进表示关系,函数,分支,循环语句后面带":"
分支语句
# if else if a>b : print(a) else : print(b) #if eif else if a>b : print(a) elif a==b: print(b) else: print(wrong)
循环语句
python里的控制语句和循环语句和C的非常相似,毕竟python是用C实现的,注意语句后面的:不要丢掉
while 判断条件: 执行语句
for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for interating_var in sequence: 执行语句
for letter in "zhangsan": print("the current letter is:" + letter)
fruits=['banana','apple','mango'] for fruit in fruits: print ("the fruit is:" + fruit)
在python中,for ......else表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行,while。。。。else也是一样的。
count=0 while count<5: print(bytes(count)+" is less than 5") count = count +1 else: print(bytes(count)+" is not less than 5")
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5
python的列表结尾不需要增加标点符号
break语句
就像在C语言中,打破了最小封闭for或while循环
break语句用来终止循环语句,即循环条件没有false条件或者序列还没有完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
continue语句
continue语句跳出本次循环,但是break语句跳出整个循环。
continue语句用来告诉python跳出当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
list列表
序列都可以进行的操作包括“索引”,“切片”,“加”,“乘”,“检查成员”,序列中的每个元素都分配一个数字,它的位置,或者索引,第一个索引是0,第二个索引是1,以此类推。
列表和元组二者都能保存任意类型的python对象。
列表元素用【】包括,元素个数和值都可以改变。
元组元素用()包括,通过切片【: 】【 :】得到子集。
In [1]: alist=[1,2,3,4] #访问列表中的值 In [2]: alist Out[2]: [1, 2, 3, 4] In [3]: alist[2:] Out[3]: [3, 4] In [4]: alist[:3] Out[4]: [1, 2, 3]
In [5]: alist[1]=99 #更新列表中的值 In [6]: alist Out[6]: [1, 99, 3, 4]
In [6]: alist #删除列表中的值 Out[6]: [1, 99, 3, 4] In [7]: del alist[1] In [8]: alist Out[8]: [1, 3, 4]
pop是出站,列表里面可以追加列表
python列表脚本操作符
列表+和*的操作符与字符串类似,+用于组合列表,*用于重复列表
In [9]: len([1,2,3]) #列表长度 Out[9]: 3 In [10]: len(alist) Out[10]: 3 In [12]: [1,2,3]+["a","b","c"] #列表组合 Out[12]: [1, 2, 3, 'a', 'b', 'c'] In [13]: ["zhangsan"]*3 #列表重复 Out[13]: ['zhangsan', 'zhangsan', 'zhangsan'] In [14]: 3 in [1,2,3,4] #元素是否存在于列表中 Out[14]: True In [16]: for x in ["a","b","c"]: print x #列表迭代 a b c
列表截取
列表的截取与字符串操作类似
In [17]: l=["zhangsan","lisi","wangwu"] In [18]: l[2] #读取列表中第二个元素 Out[18]: 'wangwu' In [19]: l[-2] #读取列表中倒数第二个元素 Out[19]: 'lisi' In [20]: l[1:] #从第二个元素开始截取列表 Out[20]: ['lisi', 'wangwu']
列表函数和方法
python包含下列函数
In [21]: z=["xian","zhangsan","guangzhou"] In [22]: cmp(l,z) #比较两个列表的元素 Out[22]: 1 In [23]: len(l) #列表元素个数 Out[23]: 3 In [24]: max(l) #返回列表元素最大值 Out[24]: 'zhangsan' In [25]: min(l) #返回列表元素最小值 Out[25]: 'lisi' In [26]: p=(1,2,3) In [27]: list(p) #将元组转化为列表 Out[27]: [1, 2, 3]
In [28]: l.append("shanghai") #在列表末尾添加新的元素
In [29]: l
Out[29]: ['zhangsan', 'lisi', 'wangwu', 'shanghai']
In [30]: l.count("shanghai") #统计某个元素在列表中出现的次数
Out[30]: 1
In [31]: l.append("shanghai")
In [32]: l.count("shanghai")
Out[32]: 2
In [33]: l.extend(z) #在列表末尾一次性追加另一个列表的多个值。
In [34]: l
Out[34]:
['zhangsan',
'lisi',
'wangwu',
'shanghai',
'shanghai',
'xian',
'zhangsan',
'guangzhou']
In [35]: l.index("zhangsan") #从列表中找出某个值第一次匹配项的索引位置
Out[35]: 0
In [36]: l.insert(1,"dd") #将对象插入列表
In [37]: l
Out[37]:
['zhangsan',
'dd',
'lisi',
'wangwu',
'shanghai',
'shanghai',
'xian',
'zhangsan',
'guangzhou']
In [45]: l.remove("zhangsan") #移除列表中某个值的第一个匹配项
In [46]: l.reverse() #反向列表中的元素
In [47]: l
Out[47]:
['guangzhou',
'zhangsan',
'xian',
'shanghai',
'shanghai',
'wangwu',
'lisi',
'dd']
元组tuple
元组与列表类似,不同之处在于元组的元素不能修改,也可进行分片和连接操作,元组使用小括号,列表使用大括号。
In [50]: tuple=('zhangsan',222,4444) In [51]: tuple Out[51]: ('zhangsan', 222, 4444) In [52]: tuple[0] Out[52]: 'zhangsan'
元组和可读的列表,列表可以修改,元组不可以修改。
In [53]: gaga=('gangdong','qqqqqq',1212.99999) In [54]: tuple + gaga Out[54]: ('zhangsan', 222, 4444, 'gangdong', 'qqqqqq', 1212.99999)
元组中的元素值是不允许删除的,如果可以,我们可以使用del语句删除整个元组
元组运算符
与字符串一样,元组之间可以使用+号和*号
In [56]: dada=(1,2,3) In [57]: gaga+dada #元组连接 Out[57]: ('gangdong', 'qqqqqq', 1212.99999, 1, 2, 3) In [58]: dada*2 #元组复制 Out[58]: (1, 2, 3, 1, 2, 3) In [59]: 3 in gaga #元素是否存在 Out[59]: False In [61]: for x in gaga: print(x) gangdong qqqqqq 1212.99999
元组索引和截取
因为元组也是一个序列,因此我们可以访问元组中制定位置的元素,也可以截取索引中的元素
In [62]: gaga Out[62]: ('gangdong', 'qqqqqq', 1212.99999) In [63]: gaga[2] #读取第三个元素 Out[63]: 1212.99999 In [64]: gaga[-2] #反向读取,读取倒数第二个元素 Out[64]: 'qqqqqq' In [65]: gaga[1:] #截取元素 Out[65]: ('qqqqqq', 1212.99999)
无关闭分隔符
任意无符号的对象,以都好隔开,默认为元组。
元组内置函数
元组本身的意义就是保证数据不被修改。
字典