python uppercase函数_python(五)函数补充,内置函数,Random函数

1. 可变参数

def   send_message(*args) :在调用这个函数的时候,可以不传参数,也可以传一个参数,也可以传多个参数。只要传参了,就会把参数放进一个元组中。

2. 关键字参数

def  send_message(**kwargs):在调用这个参数的时候,可以不传参数,可以传一个参数,也可以传入多个参数。传入的格式为k=v

3 位置参数,关键字参数混合使用时,需要注意

def myfunc2(name,addr='beijing',*args,**kwargs)

关键字参数后面不能使用位置参数,也就是当位置参数和关键字参数一起时,要把位置参数放在前面,最后在写关键字参数

4  解包

def connect (ip,port,username,password)

info=('196.36.23.22',‘3323’,‘root’,‘123456’)

connect(*info),

在元组,列表,集合,字符串只要数量和变量一致,就能个以一一对应。

字典的话要用connect(**dic)

5 常用的内置函数

print(max([123,423,1,2,3,45,332]))#取最大值

print(sum([123,423,1,2,3,45,332]))#求和

print(divmod(10,3))#余数

print(round(11.222222,2))#取几位小数

l = ['u1','u2','u3']

l2= ['p1','p2','p3']print(list(zip(l,l2)))#将两个list和为一个二维数组

print(dict(zip(l,l2)))#将两个list和为一个二维数组

l = [1,2,34,12,32,98,3221,98,34,532]print(sorted(l))#排序

print(sorted(l,reverse=True))#降序排序

print(l)

l2=[

['xiaobai',12],

['xiaohei',11],

['lisi',98],

['wangwu',34]

]

l3= sorted(l2,key=lambda x:x[-1][-1])#二维数组排序,key是传一个函数名,是指用哪个参数来进行排序

print(l3)defuser_key(x):return x[-1]#key是传一个函数名,由sorted循环排序时去调用该函数

l4 = sorted(l2,reverse=True,key=user_key)print(l4)

l = [1,2,34,12,32,98,3221,98,34,532]#循环把list的每个参数传给函数,#根据某个规则来过滤list里的参数

result = filter(lambda x:x>5,l)#输出的是大于5的数

stri= 'fdsfrewrwerwrffdsf'str_result= filter(lambda x:x!='f',stri)print(list(str_result))print(list(result))#保留函数返回的值,就是循环执行函数

map_result = map(lambda x:x>5,l)#返回的是True或false,返回所有print(list(map_result))

map_result1= map(lambda x:str(x).strip().zfill(3),l)#返回所有print(list(map_result1))for index,i in enumerate(l,1):#将list转为带下标的二维数组,传1是从1开始,默认从0开始

print('%s -> %s'%(index,i))

str_code = '''l = [1,2,34,12,32,98,3221,98,34,532]

map_result1 = map(lambda x:str(x).strip().zfill(3),l)

print(list(map_result1))

print('hhhh')'''

#让程序自动帮你执行代码,可以执行所有的python代码#用exec方法有风险,比如执行os.remove()把文件删除等

exec(str_code)

result= eval('{"name":"xiaohei","age":"19"}')#执行python代码,只能执行简单的,定义数据类型和运算

print(result)

不常用的内置函数

print(all([1,2,3,4,5,0]))#判断可迭代对象里的值是否都为真

print(any([1,2,3,4,5,0]))#判断可迭代对象里的值是否有一个为真

print(bin(10))#10进制转2进制

print(hex(10))#10进制转成16进制

print(oct(10))#10进制转成8进制

print(chr(33))#数字对应的ascii码

print(ord('v'))#字符对应的ascii码#python3 默认的字符集是utf-8#python2 默认的字符集是ASCII

f = open('a.txt','w')print(dir(f))#打印传入对象的可调用方法

print(locals())#返回局部变量

deffun():

name= 'abc'age= 18

print(locals()) #返回局部变量,返回的是一个字典

fun()print(globals())#返回全局变量,返回的是一个字典

匿名函数:是个简单的函数,没有名字

f1=lamber x:x+1

print(f1(2))

Random函数:

1. 使用Random模块,需要导入 import random

2. 随机生成一个整数:random.randint(1,6):会随机生成一个1-6中的任意一个数

3. 随机生成一个小数:random.uniform(1,10):会随机生成1-10中的任意一个小数

4.random.simple("jkjkjkjk",3):会随机从给出的字符串中取,取几个由后面的数字决定。最后生成的是一个列表。然后用''.join(列表)变成一个字符串

5.random.shuffle(列表) :打乱列表的顺序。俗称洗牌

6. 随机生成小写,大写字母,特殊字符,数字,需要导入:import string

小写字母:string.ascii_lowercase

大写字母:string.ascii_uppercase

字母:string.ascii_letter

特殊字符:string.punctuation

整数数字:string.digits

随机取一个值:random.choice() 里面可以是列表,数字,字母

补充:

当字符不满的时候长度的时候可以填充用的方法是string.zfill(位数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值