python函数

>函数定义

'''
在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')

'''
注意:如果
posted @ 2022-04-11 23:40  饭兜  阅读(43)  评论(0编辑  收藏  举报