python学习
-
基础
函数 效果 print() 打印 input() 输入(这里获取的是字符串,需要转换类型) len() 字符串长度 str() 传入值的字符串 int() 传入值的整数形式 float() 传入值的浮点数形式 -
控制流
-
布尔值
首字母要大写,如:True False
-
比较操作符
操作符 含义 == 等于 != 不等于 < 小于 > 大于 <= 小于等于 >= 大于等于 -
布尔操作符
and or not
-
控制流语句
(1)if else ...语句
if 条件: 语句 elif: 语句 else: 语句
(2)while语句
while 条件:
(3)结束语句
break #跳出循环 continue #结束本次循环
(4)for循环
for i in range():
- range()函数最多传入三个参数
- range函数原型:range(start, end, scan)参数含义start:计数的开始位置,默认是从0开始。
end: 计数的结束位置scan:每次跳跃的间距,默认为1 - range()函数内只有一个参数,则表示会产生从0开始计数到输入参数(前一位整数)结束的整数列表。当range()函数传入两个参数时,则将第一个参数做为起始位,第二个参数为结束位。当range()函数内填入第三个参数时,第三个参数表示递增或递减值。
-
导入模块
import
-
结束程序
sys.exit()
-
-
函数
-
def语句和参数
def hello(name): #定义函数 print('hello'+name) hello('wuhang') #调用函数
-
return语句和返回值
return 返回值或表达式
-
None值
在python中表示没有值,首字母必须大写
-
关键字参数
是一种可选变元 如print()有end和sep 使用方法:print('Hello',end='') print('World') 输出:HelloWorld
-
global语句
如果需要在一个函数内修改全局变量,就需要使用global语句 区分: 1.如果变量在全局作用域中使用(即所有函数之外),它就是全局变量 2.如果在一个函数中,有针对该变量的global语句,它就是全局变量 3.否则,如果该变量用于函数中的赋值语句,它就是局部变量 4.如果该变量没有用在赋值语句中,它就是全局变量
-
异常处理
try: 需要检测语句 except (错误类型)Error: 处理方式
-
-
列表(其实就是数组呀)
-
列表基础
(1)负数下标
列表下标从0开始增长,但也可以用负数下标,整数值-1指的是列表中最后一个下标,-2指的是列表中倒数第二的下标。
(2)利用切片取得子列表
切片取得子列表,切片在[]中,但它中间有冒号分隔:spam[1:4] 1.第一个整数是切片开始的下标,第二个整数是切片结束处的下标。切片向上增长,直至第二个下标的值,但不包括它,切片求值为一个新的列表值 2.作为快捷方法,你可以省略切片冒号两边的一个下标或两个下标。省略第一个下标相当于使用0,或列表的开始。省略第二个下标相当于使用列表的长度,意味着切片直至列表的末尾
(3)一些对列表的操作
1.len()取得列表的长度。 如: spam=['cat','dog'] len(spam) 在交互式窗口中会输出 2 2.用下标改变列表里的值 spam[1]='moose' 3.列表连接和列表复制 +操作符可以连接两个列表,得到一个新列表 *操作符可以用于一个列表和一个整数,实现列表的复制 4.del语句从列表中删除值 del spam[1]
-
使用列表
(1)列表用于循环
for i in [0,1,2,3]等价于for i in range(4)
(2)in操作符和not in 操作符
#你在或者不在,它(布尔)都在那里 spam=['cat','dog'] 'cat' in spam True
(3)多重赋值技巧
#变量的数目必须和列表长度相等 cat=['fat','black','loud'] size,color,disposition=cat
-
增强的赋值操作
spam=42 spam+=1 #自增1并赋值给自己
-
方法
方法和函数是一回事,只是方法是调用在一个值上面
(1)index()
列表值都有一个index()方法,可以传入一个值,用来查找列表中存在值得下标,如果值不存在与列表里,会报ValueError
(2)append()和insert()在列表中添加值
spam.append('wuhang') //这将在列表末尾增加 spam.insert('1','wuhang') //将在列表下标1处添加值
(3)remove()方法从列表删除值
spam.remove('wuhang') //必须是列表中存在的值
(4)sort()方法将列表中的值排序
spam.sort() //这将顺序排序,从小到大 spam.sort(reverse=True) //逆序排序
注意:
1.sort()方法当场对列表排序,不要试图写出spam=spam.sort这样的代码
2.不能对既有数字又有字符串的列表排序
3.sort()方法对字符串排序时,使用的是“ASCII”字符顺序,而不是字典顺序,这意味着大写字母在前,小写在后。但可以使用spam.sort(key=str.lower)来按字典排序 -
类似列表的类型:字符串和元组
对于列表的操作也可以用来操作字符串
(1)可变和不可变数据类型
记住列表是可变数据类型,字符串单个字符是不可变,不能更改的
(2)元组数据类型
元组数据与列表几乎一致,区别在于两个方面,首先元组用(),而不是[],其次元组和字符串一样是不可变的
(3)用list()和tuple()函数来转换类型
函数list()和tuple()将返回传递给他们的值得列表和元组版本
-
引用
在变量必须保存可变数据类型的值时,例如列表或字典,Python就使用引用。对于不可变的数据类型的值,例如字符串、整形或元组,Python变量就保存值本身
(1)传递引用
对于列表和字典函数参数传递的是引用拷贝
(2)copy模块的copy()和deepcopy()函数
copy()将复制列表和字典的值,deepcopy()用来复制列表中包含列表的情况
-
-
字典和结构化数据
-
字典数据类型
字典以“键-值”对存在,字典输入时带花括号{}(1)字典与列表
列表排序,字典不排序。尝试访问不存在的键,将报错KeyError(2)key()、values()和items()方法
这三个字典方法将分别返回字典的键、值、键-值对的类似列表的值,这些返回值不能被修改,没有append()方法,但是可以用于for循环。也可以用list()方法得到真正的列表(3)检查字典中是否存在键或值
in和not in操作符检查并得到布尔值(4)get()方法
get方法有两个参数,要取得其值的键,以及如果该键不存在,返回的备用值(5)setdefault()方法
传递给该方法的第一个参数,是要检查的键,第二个参数,是如果该键不存在时要设置的值,如果该键确实存在,方法就会返回键的值。 -
漂亮打印
导入pprint模块,可以使用pprint()打印键排序过的输出,如果不是显示到屏幕,而是得到文本作为字符串,就使用pformat()。
-