>函数定义
'''
在python中 所有的函数都需要用def来定义
结构
def 函数名称(参数1,参数2,参数...):
函数主体代码
[return [返回值]]
'''
定义一个无参有返回值的参数
def get_info():
return '人生苦短,我学python'
print(get_info())
'''
函数之间是可以互相调用
'''
def hello_1():
print('热爱生活,热爱头发')
def hello_2():
hello_1()
return '生活,头发你只能选择一个'
print(hello_2())
'''
提示:任何函数都是有返回数据的,如果没有return的返回语句,那么实际上是返回的数据就是none
'''
定义带参数的函数
def function_1(num_1,num_2):
print('两个参数的和为%f' % (num_1 + num_2))
function_1(1.1, 1.2)
使用命名关键字参数
def login(name,age,*,phone_num,adress):
print("姓名:%s\n年龄:%d\n手机号码:%d\n住址:%s\n"
%(name,age,phone_num,adress))
# login('五五开',18,18895676189,'上海') #login() takes 2 positional arguments but 4 were given 这个传参是会报错的
'''
python提供了一种命名关键字的定义形式 ,利用* 定义参数名称,* 后的的参数在函数调用的时候必须明确的写上参数名称
'''
login('五五开',18,phone_num=18895676189,adress='上海')
定义默认参数
def function_2(title,url='www.baid.com'):
print('%s的网址为:%s' % (title, url))
function_2('百度')
function_2('网易','www.wangyi.com')
'''
默认的参数可以传参是进行改变,如果选择不填的时候就会把设置的默认的参数传入函数体
'''
'''
题目:定义一个函数,传入两个列表,新增和更新第一个列表数据输出,且数据唯一
'''
def data_change(list_1,list_2):
for i in list_2:
if i not in list_1:
list_1.append(i)
return list_1
list_1=[1,2,3,4,5]
list_2=[1,3,6,7,8]
print(data_change(list_1, list_2))
定义可变参数
def math(cmd,*number):
'''
定义一个实现数字计算的函数,该函数可以根据,传入的数字符号自动对数据计算
:param cmd: 运算符号
:param number: 参数名称,该参数为可变参数,相当于一个元组
:return:
'''
sum=0
if cmd =='+':
for num in number:
sum = sum+num
elif cmd=='-':
for num in number:
sum = sum - num
return sum
print(math('+',1,2,3,4,5,6,7,8 ))
定义一个关键字参数
def print_info(name,**urls):
'''
:param name: 要输出的姓名
:param urls: 喜欢的网站名称
:return:
'''
print(name)
print(urls)
print_info('小明',baidu='www.baidu.com')
'''
注意:如果