1. 程式人生 > 其它 >002、python基本語法

002、python基本語法

1、變數

  a、用來標識資料

  b、語法: 變數名 = 值 (資料)

變數名的規範:

  a、字母、下劃線、數字組成 ;

  b、不能以數字開頭 ;

  c、區分大小寫 ;

  e、簡明知意 ;

  f、不能是關鍵字 (內建的函式和方法不是關鍵字) ,用如下程式碼檢視關鍵字: 

import keyword

print(keyword.kwlist)

關鍵字列印結果如下:

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def'
, 'del', 'elif',

'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or',

'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] Process finished with exit code 0

知識補充:

python 中 _ 和 __ 的區別:

  xx:      公有變數,所有物件都可以訪問;
  _xx:      單前置下劃線,私有化屬性和方法,
for 包名 import * 禁止匯入,類物件和子類可以訪問,使用 物件._變數名呼叫 ;   __xx:    雙前置下劃線,避免與子類中的屬性命名衝突,無法在外部直接訪問,應使用物件._類名__變數名呼叫 ;   __xx__:   雙前後下劃線,用於定義類的魔法屬性/魔法方法,例如:__init__,__str____del__ 等;
          為什麼叫魔法方法,因為不需要顯式呼叫,看起來魔法一般;
  xx_:    單後置下劃線,用於避免與python關鍵字的衝突。

在python的類中,沒有真正的私有化,不管是方法還是屬性,為了程式設計的需要,約定加了下劃線 _ 的屬性和方法, 不屬於API,不應該在類的外面訪問,也不會被 from M import * 匯入。

參考學習:Python中 _ 和 __ 的含義

特殊成員和魔法方法:

參考學習視訊 : https://www.bilibili.com/video/BV14v411B7pB?t=170

class Cat():
    """
    這是一個貓類
    """

    def __init__(self, name):
        self.name = name
        print('我是一隻貓,我的名字叫:{0}'.format(self.name))

    def __del__(self):
        print('我被系統回收了')

    def __call__(self, *args, **kwargs):
        print('我是一隻貓,我被呼叫了。')


cat = Cat('Tom')        # 呼叫 魔法方法 __init__()
print(cat.__doc__)      # 列印 類的註釋
print(cat.__call__())   # 呼叫 魔法方法 __call__()
print(callable(cat))    # cat 是否可被呼叫,寫了__call__方法,列印True,沒寫列印False
print(cat.__module__)
print(cat.__class__)

del cat                 # 呼叫 魔法方法 __del__()
View Code

執行結果如下:

D:\SkyWorkSpace\WorkSpace\Pytest\Temp\day06\venv\Scripts\python.exe D:/SkyWorkSpace/WorkSpace/Pytest/Temp/day06/test_demo.py
我是一隻貓,我的名字叫:Tom

    這是一個貓類
    
我是一隻貓,我被呼叫了。
None
True
__main__
<class '__main__.Cat'>
我被系統回收了

Process finished with exit code 0
View Code