2020.1.29 最近做了性能测试之后就没怎么具体编过程,现在是春节,但是因为疫情的原因,上班推迟,天天在家挺空闲的,所以决定温习一下。
1、字符串常用函数
https://www.runoob.com/python3/python3-string.html
计算字符出现次数:s = "我叫陈威".count('陈', 0, 3) 指定开始和结束下标
endswith(suffix, beg=0, end=len(string))
检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
find(str, beg=0, end=len(string))
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
index(str, beg=0, end=len(string))
跟find()方法一样,只不过如果str不在字符串中会报一个异常.
replace(old, new [, max])
把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
在字符串上执行 lstrip()和 rstrip()
2、列表:
https://www.runoob.com/python3/python3-list.html
l = [1, 2, 3]
l.reverse() #元素反转
l.clear() #清空列表
l.append(4) #追加元素
3、元组
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
4、字典 https://www.runoob.com/python3/python3-dictionary.html
定义:d = {key1 : value1, key2 : value2 } #键必须是唯一的,但值则不必。
主要操作:
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del dict['Name'] # 删除键 'Name'
dict.clear() # 清空字典
del dict # 删除字典
radiansdict.items() #返回字典中的项
radiansdict.values() #返回字典中的值
radiansdict.keys() #返回字典中的key
遍历:
for k, v in dict.items():
print(k ,':', v)
字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
实例
#!/usr/bin/python3
dict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("dict['Name']: ", dict['Name'])
以上实例输出结果:
dict['Name']: 小菜鸟
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:
实例
#!/usr/bin/python3
dict = {['Name']: 'Runoob', 'Age': 7}
print ("dict['Name']: ", dict['Name'])
5、集合
集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
6、for语句:
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
if site == "Runoob":
print("菜鸟教程!")
break
print("循环数据 " + site)
else:
print("没有循环数据!")
print("完成循环!")
如果for循环正常结束,else中语句执行。如果是break的,则不执行
7、range():
for i in range(5): #0 - 5序列
print(i)
for i in range(5, 10): #5 - 10序列
print(i)
for i in range(11, 20, 2): #步长为2
print(i)
8、迭代器
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组对象都可用于创建迭代器:
9、函数
传不可变对象和可变对象区别:
(1)传整型等不可变对象,对其进行修改,值不会变
def ChangeInt( a ):
a = 10
b = 2
ChangeInt(b)
print( b ) # 结果是 2
(2)传入list等可变对象,即使不返回,对象也被修改
def changeme( mylist ):
"修改传入的列表"
mylist.append([1,2,3,4])
print ("函数内取值: ", mylist)
return
# 调用changeme函数
mylist = [10,20,30]
changeme( mylist )
print ("函数外取值: ", mylist)
调用函数时,如果没有传递参数,则会使用默认参数。
#可写函数说明
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print ("名字: ", name)
print ("年龄: ", age)
return
#调用printinfo函数
printinfo( age=50, name="runoob" )
print ("------------------------")
printinfo( name="runoob" )
不定长参数
(1)加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
# 可写函数说明
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vartuple)
# 调用printinfo 函数
printinfo( 70, 60, 50 )
(2)加了两个星号 ** 的参数会以字典的形式导入。
def printinfo( arg1, **vardict ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vardict)
# 调用printinfo 函数
printinfo(1, a=2,b=3)
匿名函数
lambda 函数的语法只包含一个语句。 lambda [arg1 [,arg2,.....argn]]:expression
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))
来源:CSDN
作者:小刀_cs
链接:https://blog.csdn.net/figo8875/article/details/104108039