失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python基础-数据类型转换 默认参数 关键字参数

Python基础-数据类型转换 默认参数 关键字参数

时间:2023-08-13 12:32:53

相关推荐

Python基础-数据类型转换 默认参数 关键字参数

Python基础-数据类型转换,文件操作,默认参数,关键字参数

1.数据类型之间转换

"""数字型:int float bool compex非数字型:list tuple set dict str"""# str->int# str->float# score = float(input('请输入年纪'))"""------------------ int ------------------"""# str->int# str = '10101'# 1+4+16# 默认10进制# 10进制 100# result = int(str)# 8进制 017 7+8 = 15 012 2+8 = 10# result = int(str,base=8)# 16进制 每一位最大 15 1-9 a b c d e f 0x6FF 0x12 2+16 = 18 0xa7 7+10 = 17# result = int(str,base=16)# 2进制 0 1 1001 1+8 = 9# result = int(str,base=2)## print(result)"""------------------ float ------------------"""# str->float# str = '1.232123'# result = float(str)# print(result)"""------------------ list tuple set之间转换 ------------------"""# list()->list# tuple()->tuple# set()->set"""------------------ dict ------------------"""# d = {}# d = dict([('name','张三'),('age',40)])# print(d)"""------------------ frozenset ------------------"""# s = {1,2,3}# 添加元素# s.add(4)# print(s)# 不可变的集合 元素唯一# result = frozenset(s)# # result.# print(result)"""------------------ chr ------------------"""# 将数字转换成码表对应的字符# f = 97# rsult = chr(f)# print(rsult)"""------------------ ord ------------------"""# 字符转化成整数值# str = 'a'# result = ord(str)# print(result)"""------------------ 定义列表保存a-z ------------------"""# l = ['a','b','c']# l = []# for ele in range(ord('a'),ord('z')+1):#l.append(chr(ele))# print(l)"""------------------ hex ------------------"""# a = 18# 0-9 a b c# print(hex(a))"""------------------ oct ------------------"""a = 18print(oct(a))

默认参数和关键字参数:

# 默认参数要放到函数参数最后def sayHello(score,name='林青霞'):# 形参 没有默认数据的参数定义在有默认数据的参数后面'''给女神打招呼:param name::return:'''print('hello %s'%(name))sayHello(60,'高圆圆')# 调用函数# sayHello('高圆圆')# 实参# 如果不传递默认参数的数据 ,使用默认参数对应的数据# sayHello()# l = [1,2,3]# l.sort(reverse=True)# print(l)# ''.find()

关键字参数:

def sayHello(name,age,score):print('姓名:%s,年纪:%d,分数:%f'%(name,age,score))sayHello(score=70,age=30,name='高圆圆')

默认参数的作用:

"""网络请求:请求地址:path请求方式:GET POST网络请求模块"""# python不支持方法重载def sendRequest(path,method='GET'):# 发送网络请求print('请求地址:%s,请求方式:%s'%(path,method))# def sendRequest(path):#'''#默认使用GET方式 请求#:param path:#:return:#'''#print('请求地址:%s,请求方式:%s'%(path,'GET'))# 30种请求 GET:25 POST:5# 请求新闻列表sendRequest('')sendRequest('')sendRequest('')sendRequest('')sendRequest('')sendRequest('')# 登录sendRequest('','POST')

可变参数args:

"""思考:1.定义函数,求两个数的和2.定义函数,求三个数的和3.定义函数求任意个数的和"""# 1.定义函数,求两个数的和# 2.定义函数,求三个数的和8# 3.定义函数求任意个数的和def sum(name,*args):# 形参能够接收任意个长度的数据# args是什么类型?result = 0for ele in args:result += elereturn resultprint(sum('张三',10, 20,30))

keargs:

def func(a,**kwargs):# kwargs 接收不存在的关键字参数name = kwargs['name']age = kwargs['age']print(kwargs)func(name = '张三',age = 30,a=10,score=70)

传递元组到args中:

def func(*args):print(args)#(10,20,30)# func(10,20,30)t = (10,20,30)func(*t)

字典传递给kwargs:

# def func(**kwargs):#print(kwargs)### d = {'name':'张三','age':40}# # func(name='张三',age=30)# # func(name = d)# func(**d)def func(*args):print(args)d = {'name':'张三','age':40}# 如果* 拆字典的keyfunc(*d)

可变参数练习:

"""需求:1.定义函数func1接收可变参数*args以及**kwargs,打印args以及kwargs2.定义函数func2接收可变参数*args以及**kwargs,调用func1将参数传递给func13.调用func2,保证func1和func2中打印的两个参数完全一致"""# 1.定义函数func1接收可变参数*args以及**kwargs,打印args以及kwargsdef func1(*args,**kwargs):print('func1开始')print(args)print(kwargs)print('func1结束')# 2.定义函数func2接收可变参数*args以及**kwargs,调用func1将参数传递给func1def func2(*args,**kwargs):print('func2开始')print(args)print(kwargs)# 调用funcfunc1(*args,**kwargs) # (10,20,30) {'name':'张三','age':30}print('func2结束')# 3.调用func2,保证func1和func2中打印的两个参数完全一致func2(10,20,30,name='张三',age=30)

递归求阶乘:

"""需求:使用递归求n的阶乘阶乘: 5的阶乘10的阶乘 1*2*3...*9*105*4*3*2*1 5 * 4的阶乘(4*3*2*1)n的阶乘 n * (n-1)的阶乘(n-1*...*1)"""count = 0# go 90000# kotlin 60000# python 966def func(n):global countcount+=1print(count)'''求n的阶乘:param n: 需要求的阶乘:return: n的阶乘'''if n==1:return 1else:return n*func(n-1)print(func(1000))# 1 1 2 3 5 8 13 21 34 55#

如果觉得《Python基础-数据类型转换 默认参数 关键字参数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。