1. 程式人生 > >python中變數,函式,類之小總結

python中變數,函式,類之小總結

自己敲過之後效果更好!
#!/user/bin/env python
# -*- coding:utf-8 -*-

#變數
#_xxx,單下劃線開頭的變數,標明是一個受保護(protected)的變數,原則上不允許直接訪問,但外部類還是可以訪問到這個變數。
class Student:
    def __init__(self,name,age):
        self._name = name
        self.age = age
stu = Student('miao','23')
#當要輸入_name時,pycharm不會進行_name的提示
print(stu._name)
#當要顯示age時,pycharm會進行age的提示
print(stu.age)
#output:
#miao
#23


#__xxx,雙下劃線開頭的,表示的是私有(private)的變數
#只能是允許這個類本身進行訪問,連子類也不可以
#用於命名一個類屬性(類變數),呼叫時名字被改變
#(在類Student內部,__name變成_Student__name,如self._Student__name)
#雙下劃線開頭的例項變數仍然可以通過_Student__name來訪問__name變數:

class Person:
    def __init__(self,name):
        self.__name = name
per = Person('Qi')
print(per._Person__name)
#output:Qi

#__xxx__,以雙下劃線開頭,並且以雙下劃線結尾的,是內建變數
#內建變數是可以直接訪問的,不是private變數,如__init__,__import__或是__file__
#所以,不要自己定義這類變數

#xxx_,單下劃線結尾的變數一般只是為了避免與python關鍵字的命名衝突

#USER_CONSTANT,大寫加下劃線,對於不會發生改變的全域性變數,使用大寫加下劃線


#函式--大部分使用小寫和下劃線
#私有方法:小寫和一個前導下劃線
#這裡和私有變數一樣,並不是真正的私有訪問許可權
#同時也應該注意一般函式不要使用兩個前導下劃線(當遇到兩個前導下劃線時,Python的名稱改編特性將發揮作用)
class privateC:
    def _secrete(self):
        print("Don\'t test me")
priC = privateC()
priC._secrete()
#output:
#Don't test me

#特殊方法:小寫和兩個前導下劃線,兩個後置下劃線
#這種風格只應用於特殊函式,比如操作符過載等
def __add__(self,other):
    return int.__add__(other)

#函式引數:小寫和下劃線,預設值等號兩邊無空格
def connect(self,user=None):
    self._user = user

#類
#類總是使用駝峰格式命名,即所有單詞首字母大寫其餘字母小寫
#類名應該簡明精確,並足以從中理解類所完成的工作
#常見的一個方法是使用表示其型別或者特性的字尾,例如:SQLEngine,MimeTypes
#對於基類而言,可以使用一個Base或者Abstract字首
#不要濫用 *args 和 **kwargs,可能會破壞函式的健壯性