python复习
1、字符串:用引号括起的内容
2、title()——首字母大写:print(变量名.title())
upper()——全部大写:print(变量名.upper())
lower()——全部小写:print(变量名.lower())
“.”是让python对前面的变量进行title()操作
3、合并字符串:+ 。在 + 两边的可以是带“”的字符,也可以是变量名:
full_name=first_name + ” ” +last_name(“”指的是在first_name和last_name之间插入一个空格,当然引号内也可以是其他内容,并最终与first_name和last_name一起输出
4、制表符:\t ;换行符: \n .可以放在字符串任何你想放的位置
“\n\t”让字符串换到下一行,并在下一行开头添加一个制表符(下划线的为运行结果):
>>>Print(“Language:\n\tPython”)
Language:
Python
5、删除空白:
rstrip():删除 string 字符串末尾的指定字符(默认为空格)(right)str.rstrip([chars]),chars -- 指定删除的字符(默认为空格)
>>>Favourite=“Python “
>>>Favourite.rstrip()
“Python”
lstrip():删除 string 字符串开头的指定字符(默认为空格)(left)
str.lstrip([chars]),chars -- 指定删除的字符(默认为空格)
从左到右移除字符串的指定字符,无字符集参数或为 None 时移除空格,str 时移除所有属于字符集子串的字符一旦不属于则停止移除并返回字符串副本。
如:
>>> 'www.example.com'.lstrip('cmowz.')
'example.com'
strip():删除 string 字符串两端的指定字符(默认为空格)
str.strip([chars]),chars -- 指定删除的字符(默认为空格)
剥除函数最常用于在储存用户输入前对其进行清理
6、2**4表示2的4次方,空格不影响计算
7、str():让非字符串值表示为字符串,或强调是字符串
8、注释:#注释;‘\n注释\n’;三对双引号”””content”””;三对单引号’’’content’’’。
9、列表:列表名=[],[]内每一个字符串、字符用引号括起,用“,”分隔
10、访问列表:print(列表名[0])访问第一个元素,print(列表名[-1])访问倒数第一个元素
11、修改元素:列表名[0]=’text’,这样列表中的第一个元素就变成了text
12、添加元素:append()——添加到末尾:变量名.append(‘text’),text被添加到列表的最后一位了;
insert()——添加到任意位置:列表名.insert(0,’text’),text就被添加到第一位了,原来的第一位往右移;
del——删除任意元素:del 变量名[2],第三位的元素就被删除了
pop()——删除元素,返回该元素,删除的元素可以被储存到另外的位置:bag=basket.pop(5),这样basket中的第六位元素就从basket中剔除,并赋给了变量bag,若()内无索引,默认剔除列表末尾元素
remove()——根据元素名(值)删除元素:basket.remove(‘text’),basket中的text就被删除了,若basket中有很多个text,只删除顺序的第一个text,要全部删除就要运用循环
13、排序:
① sort()——永久性的,按首字母排序,首字母相同看第二个字母,以此类推:cars.sort()。print(sort(cars))是错误的
② sorted()——临时排序,加上时才顺序输出,print(sorted(cars))。错误写法:cars.sorted()
③ Reverse()——倒着打印(英文字母,与sort相反):cars.reverse()
14、确定列表长度:len(cars)
15、列表的复制:list1=list2[:],完全复制;list1=list2[:2],只是把list2第0~1位元素复制到list1中。
16、函数(库)调用方式:
(1)import <函数库>
函数库名.函数名()
例:import math
math.add()
(2)导入特定函数
from <函数库> import 函数
函数名()
例:from math import add
add() //不用加函数库名和“.”
(3)导入函数库所有函数
from math import *
math() //因为把所有的函数都导入了,所以不需要加函数库名
(4)给函数起别名:
from math import add as ad
#这样add函数就可以以ad的别名调用了
(5)给模块起别名:
import pizza as p
#函数定义:def function(形参):
#注意:往函数传值时,如果是字符串,要用 ’ ’,如function(‘cat’)
形参可以是字符串,数字,甚至是列表、字典,且不需要像C那样声明,一般看到函数内部才能知道形参的类型。
#利用空元组当形参可传递任意数量的实参,例:def pizza(*topping):,在这里*topping中的星号让python创建一个名为topping的空元组,并将接收到的实参放入其中,两个*表示形参是字典。
#def pet(animal_type=’dog’,pet_name):
如果在接下来调用函数过程中没有给animal_type传值,那么‘dog’为其默认值,其等号两边不能有空格,且一般把有默认值的形参放在后面,实参传值时必须按照形参的顺序一一对应。
#函数即可返回包括字典、列表等的任何类型的值,运用函数return(同C)
#如果函数没有使用 return 语句,则函数返回的是None对象
#1,加*表示接受一个tuple(元组),如:
def f(*args):
for arg in args: # 取出tuple中的每个元素,然后打印
print(arg)
结果:
f(1,2,3,4)
1
2
3
1
2
3
4
5
6
7
8
加**表示接受一个dict(字典),如:
def f(**kargs):
print(kargs)
结果:
f(a=1, b=2)
{'a': 1, 'b': 2}
17、字典:储存一个对象的各种信息,或多个对象的同一个信息。
18、格式:字典的键值对要用{}括起,除数字外,都要用’ ’括起,键在前,值在后,中间是冒号: 。
19、写入内容:a[‘color’]=’green’,这样同时添加了键:color和值:green。
20、修改内容:a[‘color’]=’red’,这样值green就变成了red。
21、删除内容:del a[‘color’],键color会连同它的值red一起被删除
22、遍历字典的键值对:可声明两个变量,用于储存键值对中的键和值,对于与这两个变量可用任何名称。方法items()返回的是一个键值对,for将每个键、值依次储存到声明的两个变量中。
23、遍历字典的键:方法keys()返回字典的键
24、遍历字典的值:方法values(),与上面类似
25、字典列表:<列表>=[<字典1>,<字典2>,<字典3>]
26、在字典中储存列表:比如值是一个列表
27、在字典中储存字典:储存每个人的信息
28、if语句:(1)判断条件不需要括号,但末尾一定要有冒号;(2)列表为空时返回false;(3)记得缩进
29、while循环:用法基本与C相同
30、类
31、初始化类的属性用的是“__init__()”,前后两个“_”
32、类中的方法(函数)定义时括号填上self,如def sit(self):
33、用class定义
34、继承:
35、导入类:像导入函数一样,从一个模块里导入多个类,要用逗号分隔
36、文件
37、读取文件:
38、读写操作:mode的a,w,a+,w+与C相同
相关函数:
open(filename,mode)以某一方式打开文件,默认为只读;
read()把文件中的内容全部读出;
readlines()一行一行地读出,通常结合for循环
write()向文件中写入内容。
39、异常try-except-else
40、
41、总结:
(1) 在可能会发生错误的地方使用
(2) 需要预测可能发生的错误,并知道错误的类型,如:ZeroDivisionError,常见的错误类型除了例子,还有FileNotFoundError
42、
handle可以是pass语句:什么都不做(为了不让用户知道发生了什么)
43、储存数据:json.dump()&json.load()
44、魔术方法:
(1) __len__():
① 触发:使用len()
(2) __getitem__():
(3) __bool__():
① 触发:使用bool()转换对象时
(4) __repr__():
① 触发:使用repr()操作对象时,自动触发
② 功能:设置repr()操作对象的返回结果,能把一个对象用字符串的形式表达出来以便辨认
(5) __add__():
① 触发:
1) v1 = Vector(2, 4)
2) v2 = Vector(2, 1)
3) v1 + v2
(6) __mul__():
① 触发:*
(7) __abs__():
① 触发:使用abs()时
45、运算符:
(1) and的优先级比or高,not>and>or
(2) for 和 while 都可以有 else 语句
46、字符串相关方法:
(1) capitalize():使字符串首字母大写——”string”.capitalize()。与title()的区别是,使用title()方法的字符串的所有单词的首字母均大写,但capitalize()只是句首首字母大写。
(2) count(sub,beg=0,end=len(string)):计算字符sub在原字符串或其子字符串中出现的次数,string.count(‘p’)
(3) endswith(suffix[, start[, end]]):用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 "start" 与 "end" 为检索字符串的开始与结束位置。str.endswith(suffix[, start[, end]])
(4) find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。str.find(str, beg=0, end=len(string))
(5) join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。str.join(sequence),sequence -- 要连接的元素序列,str才是分隔符。
>>> jn1="-"
>>> jn2="------"
>>> str='name'
>>> jn1.join(str) #字符串也属于序列
'n-a-m-e'
>>> jn2.join(str) #使用多字符连接序列
'n------a------m------e'
>>> fruits={'apple','banana'}
>>> jn1.join(fruits) #连接的序列是集合
'apple-banana'
>>> animals=("pig","dog")
>>> jn1.join(animals) #连接的序列是元祖
'pig-dog'
>>> students={"name1":"joy","name2":"john","name3":"jerry"} #连接的序列是字典,会将所有key连接起来
>>> jn1.join(students)
'name1-name2-name3'
(6) split()通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num+1 个子字符串,string.split(str="", num=string.count(str))。str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num -- 分割次数。默认为 -1, 即分隔所有。返回分割后的字符串列表。
(7) startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
(8) zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。str.zfill(width)。width -- 指定字符串的长度。如果width大于字符串长度,则原字符串右对齐,前面填充0。
(9) eval() 函数用来执行一个字符串表达式,并返回表达式的值。
>>>x = 7
>>> eval( '3 * x' ) 21
>>> eval('pow(2,2)') 4
>>> eval('2 + 2') 4
>>> n=81
>>> eval("n + 4") 85
即eval的参数是字符串表达式,eval将其转化为一般表达式,并返回表达式的值
eval() 函数也可以直接用来提取用户输入的多个值。
a,b=eval(input())
输入:10,5,得到 a=10,b=5
感谢阅读!