python(函数)

函数

函数_functions是指克重复使用的程序片段。

#function1.py

def say_hello():
    print('Hello world')
say_hello()
say_hello()
输出:
Hello world
Hello world

函数参数

#function_param.py

def print_max(a,b):
    if a > b:
        print(a,'is maximum')
    elif a==b:
        print(a,'is equal to',b)
    else:
        print(b,'is maximum')

#直接传递字面值
print_max(3,4)
#以参数的形式传递变量
x=5
y=7
print_max(x,y)
输出:
4 is maximum
7 is maximum

局部变量

#function_loacl.py
x=50
def func(x):
    print('x is',x)
    x=2
    print('Changed local x to',x)
func(x)
print('x is still',x)
输出:
x is 50
Changed local x to 2
x is still 50

global 语句(全局)

#function_global.py

x=50
def func():
    global x
    print('x is',x)
    x=2
    print('Change global x to',x)
func()
print('Value of x is',x)
输出:
x is 50
Change global x to 2
Value of x is 2

默认参数值

#function_default.py

def say(message,times=1):
    print(message*times)

say('Hello')
say('World',5)
Hello
WorldWorldWorldWorldWorld

关键字参数

#function_keyword.py

def func(a,b=5,c=10):
    print('a is',a,'and b is',b,'and c is',c)

func(3,7)
func(25,c=24)
func(c=50,a=100)
a is 3 and b is 7 and c is 10
a is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50

可变参数

#function_verargs.py

def total(a=5,*numbers,**phonebook):
    print('a',a)
'''声明一个诸如 *param 的星号参数时,从此处开始直到结束的所有 位置参数 都
将被收集并汇聚成一个称为"param"的元组(tuple)。
声明一个诸如 ** param 的双星号参数时,总此处开始直到结束的所有 关键字参数 都
将被收集并汇聚成一个名为param的字典(Dictionary)。
'''
    #遍历元组中的所有项目
    for single_item in numbers:
        print('single_item',single_item)

    #遍历字典中的所有项目
    for first_part,second_part in phonebook.items():
        print(first_part,second_part)

print(total(10,1,2,3,Jack=1123,John=2231,Inge=1560))
输出:
a 10
single_item 1
single_item 2
single_item 3
Jack 1123
John 2231
Inge 1560
None

return 语句

用于函数返回

#function_return.py

def maximum(x,y):
    if x < y:
        return x
    elif x==y:
        return 'The numbers are equal'
    else:
        return y

print(maximum(2,3))
print(maximum(2,2))
print(maximum(3,2))
2
The numbers are equal
2

DocStrings

Documentation Strings文档字符串,建成docstrings。docString是一款你应当使用的重要工具,它能帮助你更好的记录程序,并让其更加易于理解。当程序实际运行时,我们甚至可以通过一个函数来获取文档。
#强烈推荐为所有重要的函数配以文档字符串。

def print_max(x,y):
    #文档字符串,规定为遗传多行的字符串,其中第一行一某个大写字母开始,以句号结束。
    #第二行为空行,后跟的第三行开始是任何详细的解释说明。
    '''Prints the maximum of two numbers.打印你两个数值中的最大数。

    the two values must be integers.这两个数都应该是整数'''

    #如果可能,将其转换至整数类型
    x=int(x)
    y=int(y)
    if x > y:
        print(x,'is maximum')
    else:
        print(y,'is maximum')


print_max(3,5)
#使用函数__doc_属性来获取函数print_max的文档字符串。
print('__doc__使用如下:')
print(print_max.__doc__)
print('help使用结果如下:')
#使用help()函数,来获取__doc__属性并以一种简洁的方式将其呈现给你,
help(print_max)
5 is maximum
__doc__使用如下:
Prints the maximum of two numbers.打印你两个数值中的最大数。

    the two values must be integers.这两个数都应该是整数
help使用结果如下:
Help on function print_max in module __main__:

print_max(x, y)
    Prints the maximum of two numbers.打印你两个数值中的最大数。

    the two values must be integers.这两个数都应该是整数
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值