ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

15、函数参数

2022-06-19 01:32:52  阅读:162  来源: 互联网

标签:full 15 name 函数参数 add print world hello


位置参数实例

函数没有任何位置参数

def hello_world():
    print('hello')
    print('world')

hello_world()

程序运行输出如下:

hello
world

函数有 1 个位置参数

def hello_world(n):
    for i in range(n):
        print('hello world')

hello_world(3)

程序运行输出如下:

hello world
hello world
hello world

函数有 2 个位置参数

def hello_world(n, string):
    for i in range(n):
        print(string)

hello_world(3, 'HELLO WORLD')

程序运行输出如下:

HELLO WORLD
HELLO WORLD
HELLO WORLD

默认参数

在定义函数时,可以为参数提供一个缺省值,如果传递参数时,可以忽略部分参数,举例如下:

def add_student(name, age, city = 'nanjing'):
    print(name)
    print(age)
    print(city)

add_student('jerry', 12)

程序正常运行,输出结果如下:

tom
10
nanjing

简化函数调用

使用默认参数,可以简化函数的调用,尤其是在函数需要被频繁调用的情况下。因为大部分学生来自于 nanjing,可以为参数 city 设定一个默认值 nanjing,如下所示:

def add_student(name, age, city="nanjing"):
    print(name)
    print(age)
    print(city)

add_student('tom', 10) 
add_student('jerry', 12) 
add_student('mike', 12) 
add_student('john', 11) 
add_student('jobs', 13, 'beijing')

可变参数

使用可变参数重新实现计算累加和的函数 add,函数 add 能够接受任意个数的参数,代码如下:

def add(*args):
    sum = 0
    for arg in args:
        sum = sum + arg
    print('len = %d, sum = %d' % (len(args), sum))

add(1)
add(1, 2)
add(1, 2, 3)

程序运行时,输出如下:

len = 1, sum = 1
len = 2, sum = 3
len = 3, sum = 6

关键字参数

def create_full_name(**kw_args):
    if 'full_name' in kw_args:
        full_name = kw_args['full_name']
        return full_name

    if 'first_name' in kw_args and 'last_name' in kw_args:
        first_name = kw_args['first_name']
        last_name = kw_args['last_name']
        full_name = first_name + last_name
        return full_name

print(create_full_name(full_name = 'ZhangSan'))
print(create_full_name(first_name = 'Li', last_name = 'Si'))

运行程序,输出结果如下:

ZhangSan
LiSi

参考资料

http://www.imooc.com/wiki/pythonlesson1/parameter.html

标签:full,15,name,函数参数,add,print,world,hello
来源: https://www.cnblogs.com/tiansz/p/16389759.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有