1. 程式人生 > 其它 >詳解 Go 中的 rune 型別

詳解 Go 中的 rune 型別

總結

名稱空間

# 名稱空間
	名稱空間是存放變數名與變數值繫結關係

# 名稱空間分類
1.內建名稱空間,python自帶的,啟動時就有的
	print() input()
2.全域性名稱空間,呼叫的時候才會產生全域性名稱空間
3.區域性名稱空間,函式體內定義的變數
    var1 = 1  # var1 是全域性名稱

    def func():    
        var2 = 2  # var2 是區域性名稱
		
# 存活週期
1.內建名稱空間
	python直譯器執行時產生,關閉時銷燬
2.全域性名稱空間
	py檔案執行時產生,關閉時結束
3.區域性名稱空間
	函式體程式碼執行時產生,關閉時銷燬
    

名字查詢順序

# 在查詢名字是要知道自己在哪個空間
1.若在區域性名稱空間
	區域性空間->全域性名稱空間->內建名稱空間
2.若在全域性名稱空間
	全域性名稱空間->內建名稱空間

def index():
    len = '區域性名稱空間中的len'
    print(len)

index()
print(len)  # 先列印區域性名稱空間中的len  再列印全域性名稱空間中的len
# 如果函式沒有被呼叫 那麼不要去管函式體程式碼有多複雜 先跳過
# 區域性名稱空間之間如果不是巢狀關係 那麼它們互不干涉

:

作用域

# 作用域
	作用域就是名稱空間能作用的範圍
    
   ''' 
        內建名稱空間:任意階段均可使用(全域性有效)

        全域性名稱空間:任意階段均可使用(全域性有效)

        區域性名稱空間:一般只在區域性名稱空間有效(區域性有效)
        # 並不絕對,可以打破
    '''
    
 
# gloabl關鍵字:區域性修改全域性不可變型別
	var = 1
    def index():
        global var  # 通過區域性名稱空間修改全域性的var
        var = 2

    index()
    print(var)  # 2
# nolocal關鍵字:區域性名稱空間巢狀寫,內層可以通過nolocal修改外層
	def func():
        num = 10
        def func1():
            nonlocal num   # nonlocal關鍵字宣告
            num = 100
            print(num)
        func1()
        print(num)
    func()
    
'''
	修改全域性的不可變型別,需要提前加關鍵字申明,修改的可變型別,不需要加關鍵字申明
'''

函式名多種用法

1.函式名用作變數名賦值
	def func():
    print('from function func')

    res = func
    print(res)
    res()  # from function func
2.函式名當做函式的實參
	def func():
    	print('from function func')


    def func1(a):
        print('from func1')
        print(a)
        a()
    func1(func)	 # <function func at 0x00000281B5B91EA0>
3.函式名用作函式的返回值
	def func():
        print('from function func')
        return func1()

    def func1():
        print('from func1')

    func()  # from function func  \n  from func1
4.函式名用作容器型別的元素
	# 容器型別:內部可以存檔多個元素的資料型別
    def func():
        print('from function func')


    l1 = [1, 2, 3, 4, func()]
    print(l1)
    l1[-1]  # from function func  \n  [1, 2, 3, 4, None]

函式的巢狀

# 函式的巢狀呼叫
	def func():
        func1()
        print('12345')

    def func1():
        print('98765') 
	func()  # 98765  \n  12345


# 函式的定義
	def func(cmd):
        def login():
            print('登入')

        def register():
            print('註冊')
        if cmd == '1':
            login()
        elif cmd == '2':
            register()
        else:
            print('對不起做不到')


    cmd = input('請輸入功能編號>>>:')
    func(cmd)

今天學了好多理論,要理解的有點多

: