码迷,mamicode.com
首页 > 编程语言 > 详细

python-函数

时间:2019-01-19 00:44:35      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:value   format   **kwargs   参数传递   ase   *args   item   位置实参   pre   

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-函数

标签:value   format   **kwargs   参数传递   ase   *args   item   位置实参   pre   

原文地址:https://www.cnblogs.com/daimatuo/p/10289128.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!