python-函数
Posted 代码脱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-函数相关的知识,希望对你有一定的参考价值。
1、函数:
def greet(name): #定义函数def
print("hello "+name)
greet("lele")
在本程序中, name 是形参(函数为完成其工作所需的一项信息),在调用本函数时,greet(“lele”)其中的“lele”作为实参(调用函数时传递的函数信息)。
1.1 位置参数 vs 关键字参数
def greet(name,sex): #定义函数def
print("hello "+name+" "+sex)
greet("lele","male")
greet( "male","lele")
greet( sex= "male", name = "lele")
位置参数传递时,必须保证实参和形参的位置一一对应,否则结果会出现问题,关键字参数则不用在乎顺序。
输出结果:
hello lele male
hello male lele
hello lele male
1.2 默认参数
def greet(name,sex="female"): #定义函数def
print("hello "+name+" "+sex)
greet("lele")
greet( "lele","male")
greet( sex= "male", name = "lele")
在定义函数时,已经为形参指定了默认值,则调用函数时不传递实参,将使用默认值,若传递实参,则将覆盖默认值。
输出结果:
hello lele female
hello lele male
hello lele male
1.3 返回值
def get_formatname(first_name,last_name):
full_name = first_name +" "+ last_name
return full_name
while True:
f_name = input("Please input yout first_name:")
if f_name == "q":
break
l_name = input("Please input your last_name:")
if f_name == "q":
break
format_name = get_formatname(f_name,l_name)
print("hello "+ format_name)
通过shou_mag()的定义通过形参 first_name,last_name 接受名和姓,并将其合在一起,存在变量 full_name中,并将结果返回到函数调用行中。
1.4 函数 传递列表
def shou_mag(name_list):
#一个个的删除name_list中的值,并将其存储在心得列表中the_great
while name_list:
names = name_list.pop() #将原来的列表删除
print(names)
the_great.append(names)
def make_great(great):
#在列表中的每个元素前加上“the great”
for obj in great:
print("the great "+obj)
name1 = ["lele","ningning"]
the_great= [ ]
shou_mag(name1)
make_great(the_great)
print(name1)
输出结果:
ningning
lele
the great ningning
the great lele
[ ]
可以发现最后name1 变为一个空列表,因为调用pop() 时已经将原列表中的元素一个个的删除,如果想保留原来的name1 列表,可将
shou_mag(name1) 修改为 shou_mag(name1[:])
输出结果:
ningning
lele
the great ningning
the great lele
[‘lele‘, ‘ningning‘]
2、任意的位置实参和关键字实参
def make_love(*args,**kwargs):
‘定义了一个可以接收多个位置实参和关键字实参的函数‘
make = []
‘创建一个空列表用于接收位置参数‘
for i in args:
make.append(i)
love = { }
‘创建一个空字典用接手关键参数‘
for key,value in kwargs.items():
love[key] = value
return make,love
love_make = make_love(0,1,2,3,4,5,name="jjj",age= 25,school ="xjtu")
print(love_make)
其中的*args 是将所有的位置实参存储在args元组中,**kwagrs是将所有的位置参数存储在kwargs的空字典中。
以上是关于python-函数的主要内容,如果未能解决你的问题,请参考以下文章