python知识点输出12-函数

1.函数的使用
<1函数定义
使用关键字def
确定函数名称、参数名称、参数个数、编写函数体
<2函数调用
通过函数名称调用函数
对函数的个个参数进行实际赋值
2.函数的参数传递
/分类
<1位置参数:调用时的参数个数和顺序与定义的参数的个数和顺序相同
<2关键字参数:“形参名称=值”,传递参数顺序可以与定义时参数的顺序不同

def happy_birthday(name,age):
	print('祝'+name+'生日快乐')
happy_birthday(age=18,name='anna')

<3默认值参数:直接对形式参数进行赋值
附:混合使用

def fun(a,b=20) #a作为位置,b默认值参数
	pass
def fun2(a=20,b)#报错---当位置参数和关键字参数同时存在的时候,应该遵循位置参数在前,默认值参数在后
	pass

/可变参数
<1个数可变的位置参数:在参数前加一颗*

fun(*para:20,30) #位置参数
fun([11,22,33,44]#实际上传递的是一个函数
fun(*[1,22,33,44])#在调用时,参数前加一颗星,将列表进行解包

<2个数可变的关键字参数:在参数前加两颗*

def fun2(name,age,height)
d={'name':'anna','age':18,'height':170}
fun2(**d)

3.函数的返回值
<1如果函数的运行结果需要在其他函数中使用,那么这个函数就应该被定义为带返回值的函数
<2函数的运行结果使用return关键字进行返回
<3return可以出现在函数中的任意一个位置,用于结束函数
<4返回值可以是多值,结果是一个元组类型
4.变量的作用域
<1局部变量:函数内部,函数执行结束,局部变量的生命周期也结束
<2全局变量:整个程序,程序运行结束,全局变量的生命周期菜结束
5.一些函数
<1 lambda函数:没有名字的函数,这种函数只能使用一次,一般实在函数的函数体只有一句代码且只有一个返回值时,可以使用匿名函数简化
result=lambda

s=lambda a,b:a+b
print(type(s))
print(s[a:10,b:20])#调用匿名函数
#列表的正常取值操作
lst=[10,20,30,40,50]
for i in range(len(lst)):
	print(lst[i])
#使用匿名函数进行取值
for i in range (len(lst)):
	result=lambda x:x[i]//根据索引取值,result的类型时function
	print(result)
#对列表进行排序,排序的规则 是字典中的成绩
student_scores.sort(key=lambda x:x.get('score'),reverse=True)//降序
print(student_scores)

<2递归函数:在一个函数的函数体内调用该函数本身;并且一个完整的递归操作由两部分组成:递归调用和递归终止条件
finonacci sequence
f(n)=f(n-1)+f(n-2)
<3内置函数
/数据类型转换函数:
bool/str(obj)
int/float(x)
list/tuple/set(sequence)
/数字函数
abs(x):获得x的绝对值
divmod(x,y):获得x和y的商和余数
max/min(sequence):获得sequenc的最大值和最小值
sum(iter):对可迭代对象进行求和运算
pow(x,y):获得x的y次幂
round(x,d)对x进行保留d位小数,结果四舍五入
/迭代器操作函数
在这里插入图片描述

lst=[54,56,77,4,567,34]
#排序操作
asc_lst=sorted(lst)
desc_list=sortd(lst,reverse=True)
print('原列表:',lst)
print('升序:',asc_lst)
print('降序',desc_lst)
#zip
x=['a','b','c','d']
y=[10,20,30,40,50]
zipobj=zip(x,y)
print(type(zipobj))
print(list(zip(zipobj))
输出--[('a',10),('b',20),('c',30),('d',40)]
#filter
def fun(num):
	return num%2==1
obj=filter(fun,range(10))#将range(10),0-9的整数,都执行一次fun操作
print(list(obj))

/其他
format(value,format_spec):将value以format_spec格式进行显示

print(format(3.14,'20'))#数值型默认右对齐
print(format('hello','20'))#字符串默认左对齐
print(format('hello','*<20'))#<左对齐,*表示的填充符,20表示显示的宽度
print(format('hello','*>20'))
print(formst('hello','*^20))
print(format('3.1415926','.2f'))
print(format(20,'b'))#j进制转换
print(format(20,'o'))
format(20,'x'))

len(s):获得s的长度或s元素的个数
id(obj):获得对象的内存地址
type(x):获得x的数据类型
evals(s):去掉‘’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值