Python基础-函数

函数

In [2]: def hello():
   ...:     print('Hello FishC!')
   ...:     

In [3]: temp = hello()
Hello FishC!

In [4]: temp          # 没有返回值

In [5]: print(temp)   # 返回值为None  
None

In [6]: type(temp)    # 类型也是None
Out[6]: builtins.NoneType

函数 return

In [8]: def back():
   ...:     return [1, '赵东伟', 3.14] 
   ...: 

In [9]: back()
Out[9]: [1, '赵东伟', 3.14]

In [10]: def back():               # 值不带括号
    return 1, '赵东伟', 3.14
   ....: 

In [11]: back()                    # 返回的是元组
Out[11]: (1, '赵东伟', 3.14)

变量的作用域(局部变量)


def discounts(price, rate):
    final_price = price * rate
    return final_price
old_price = float(input('请输入原价:'))
rate = float(input('请输入折扣率:'))
new_pice = discounts(old_price, rate)
print('打折后价格是:', new_pice)
print('这里试图打印局部变量final_price的值:', final_price)  # 此处打印局部变量

C:\Python35\python3.exe D:/Python/day1/mima.py
请输入原价:90
请输入折扣率:0.8
打折后价格是: 72.0
Traceback (most recent call last):
  File "D:/Python/day1/mima.py", line 54, in <module>
    print('这里试图打印局部变量final_price的值:', final_price)
NameError: name 'final_price' is not defined        # 提示变量没有定义

不要在函数内部修改 局部变量

def discounts(price, rate):
    final_price = price * rate
    old_price = 50            # Python会创建一个同名的局部变量代替
    print('修改后old_price的值是1:', old_price)
    return final_price

old_price = float(input('请输入原价:'))
rate = float(input('请输入折扣率:'))
new_pice = discounts(old_price, rate)
print('修改后old_price的值是2:', old_price)
print('打折后价格是:', new_pice)

C:\Python35\python3.exe D:/Python/day1/mima.py
请输入原价:100
请输入折扣率:0.8
修改后old_price的值是1: 50
修改后old_price的值是2: 100.0           # 此处还是100,没有变成50
打折后价格是: 80.0
posted @ 2017-04-12 16:48  赵东伟  阅读(218)  评论(0)    收藏  举报