人若有情死得早 发表于 2017-6-23 23:24:50

019函数:我的地盘听我的

1.函数与过程:函数和过程都是指一段实现特定功能的代码段,如果该代码有返回值则称为函数,否则称为过程,即便函数体内没有return语句返回一个值,Python程序也会返回一个空的返回值;
函数(function):有返回值
过程(procedure):简单、特殊没有返回值的
Python严格来说只有函数没有过程
>>> def hello():
        print('Hello FishC!')

       
>>> temp = hello()
Hello FishC!
>>> temp
>>> print(temp)
None
>>> type(temp)
<class 'NoneType'>
2.函数的返回值
Python可以拥有多个返回值,可以以列表和元组的形式返回;
>>> def back():
        return

>>> back()

>>> def back():
        return 1, '小甲鱼', 3.14

>>> back()
(1, '小甲鱼', 3.14)
3.局部变量(Local Variable)和全局变量(Global Variable)
1)函数变量的作用域——局部或全局,在函数体内定义的变量称为局部变量,其作用域仅限该函数体内部;全局变量则是在函数体外定义的变量,它的作用域为整个代码段;
def discounts(price,rate):
    final_price = price * rate
    print('这里试图打印全局变量old_price的值:',old_price)
    return final_price

old_price = float(input('请输入原价:'))
rate = float(input('请输入折扣率:'))
new_price = discounts(old_price, rate)
print('打折后价格是:', new_price)
请输入原价:100
请输入折扣率:0.8
这里试图打印全局变量old_price的值: 100.0
打折后价格是: 80.0
2)当在函数体内对全局变量修改时,程序会自动生成一个和全局变量名一样的局部变量;
def discounts(price,rate):
    final_price = price * rate
    # print('这里试图打印全局变量old_price的值:',old_price)
    old_price = 50
    print('修改后old_price的值是1:', old_price)
    return final_price

old_price = float(input('请输入原价:'))
rate = float(input('请输入折扣率:'))
new_price = discounts(old_price, rate)
print('修改后old_price的值是2:', old_price)
print('打折后价格是:', new_price)
请输入原价:100
请输入折扣率:0.8
修改后old_price的值是1: 50
修改后old_price的值是2: 100.0
打折后价格是: 80.0
页: [1]
查看完整版本: 019函数:我的地盘听我的