1. 程式人生 > >python基礎複習(三)

python基礎複習(三)

函式

#內部作用域想修改外部作用域的變數時,就要用到global

>>> num =1
>>> def fun1():
    global num            #只有用global定義之後內部作用於才可以修改外部作用域的變數
    print(num)
    num = 123          #內部作用域想修改了外部作用域的變數
    print(num)

    
>>> fun1()
1
123
>>> num     #被修改成功
123

如果要修改巢狀作用域(enclosing 作用域,外層非全域性作用域)中的變數則需要 nonlocal 關鍵字

>>> def outer():
    num = 10
    def inner():
        nonlocal num
        num = 100
        print(num)
    inner()
    print(num)

    
>>> outer()
100
100

str.format() 的用法

>>> for x in range(1,11):
    print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))

    
 1   1    1
 2   4    8
 3   9   27
 4  16   64
 5  25  125
 6  36  216
 7  49  343
 8  64  512
 9  81  729
10 100 1000

>>> "{1} {0} {1}".format("hello", "world") # 設定指定位置

'world hello world'

print("網站名:{name}, 地址 {url}".format(name="菜鳥教程", url="www.runoob.com"))

 

site = {"name": "菜鳥教程", "url": "www.runoob.com"}

print("網站名:{name}, 地址 {url}".format(**site))      # 通過字典設定引數

my_list = ['菜鳥教程', 'www.runoob.com']

print("網站名:{0[0]}, 地址 {0[1]}".format(my_list))   # "0" 是必須的  # 通過列表索引設定引數

 

輸出結果為:

網站名:菜鳥教程, 地址 www.runoob.com
網站名:菜鳥教程, 地址 www.runoob.com
網站名:菜鳥教程, 地址 www.runoob.com