1、函数的不固定参数:
#参数不是必填的、没有限制参数的个数、返回参数组的元组
def syz(*args): #参数组,不限制参数个数 #‘args’参数的名字可以随便命名
print(args)
#username = args[0] #返回的参数放在元组中,通过下标来取值
#pwd = args[1]
syz()
syz('niuhan','sdfsdf',122)
>>> ()
>>> ('niuhan', 'sdfsdf', 122) #元组
2、关键字参数
#不限制传参的个数,但是传的格式必须是k-v的形式,传进来的参数放在字典里
def syz(**kwargs): #关键字参数
print(kwargs)
syz() #>>>{}
syz(name='',age=20) #>>>{'name': '', 'age': 20}
syz(name='nny',age=38,add='北京',home='河南')
syz('nhy') #报错
3、递归:函数自己调用自己
#少用递归,递归效率不高,递归最多循环999次
def test():
num = int(input("please enter a number:"))
if num%2==0: #判断是不是偶数
return True #如果是偶数,退出程序,返回True
print('不是偶数请重新输入!')
return test()
print(test()) #调用test函数
4、内置函数:pyhton自带的一些函数,可以直接拿来用的
常用的内置函数有:
1 print(all([1,2,3,4])) #判断可迭代的对象里面的值是否都为真
2 print(any([0,1,2,3,4])) #判断可迭代的对象里面的值是否有一个为真
3 print(bin(10)) #十进制转二进制
4 print(bool(None)) #把一个对象转换成布尔类型
5 print(chr(69)) #打印数字对应的ascii
6 print(ord('E')) #打印字符串对应的ascii码
7 print(dir(d)) #打印传入对象的可调用方法
8 exec('def a():print("我是a")') #执行python代码
9 a = eval('1+2') #也是用来执行python代码的,只能执行一些简单的代码,比如运算,[] {}
10 print(a)
11 print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选
12 print(map(lambda x:x>5,[1,2,3,4,5,6]))
13 print(max(111,12))#取最大值
14 print(min((1,2,3)))#取最小值
15 print(abs(-1))#取绝对值的
16 print(round(11.119999,3))#取几位小数
17 print(sorted([2,31,34,6,1,23,4]))#排序
较为常用的:
1 id() #看内存地址
2 type() #看数据类型
3 print() #打印
4 input() #输入
5 list() #转list
6 set()# 转集合
7 str()#转字符串
8 dict()#转字典
9 int()#转int
10 float()#转float类型
11 len()#取长度
12 max()
13 min()
14 dir() #帮助你的
15 sorted()#排序
16 round(11.00011,2)#保留几位小数
17 map()
18 filter()
19 zip()
5、random模块的方法
1 import random,string
2 print(string.printable) #代表所有的 数字+字母+特殊字符
3
4 print(random.randint(1,10)) #从1-10随机取一个整数
5 print(random.uniform(1,99)) #随机取一个小数 #>>>73.5928709012442
6 print(round(random.uniform(1,99),2)) #配合round(),表示随机取小数点后2位的小数 #>>>59.22
7 print(random.choice([1,2,3,4])) #只能随机取1个元素(列表或字符串)
print(random.choice('abcde'))
9 print(random.sample(string.printable,5)) #随机取N个元素,返回的是list #>>>['A', 'x', ',', ')', 'E']
10
11 # random.shuffle([xxx])洗牌(打乱顺序)
12 pickts = ['A','J','Q','K',2,3,4,5,6]
13 random.shuffle(pickts) #只能传list(因为字符串不能修改)
14 print(pickts)
xx