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

2021-08-08 10:54:34 字數 1828 閱讀 3019

自己敲過之後效果更好!
#!/user/bin/env python

# -*- coding:utf-8 -*-

#變數#_***,單下劃線開頭的變數,標明是乙個受保護(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#__***,雙下劃線開頭的,表示的是私有(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

#__***__,以雙下劃線開頭,並且以雙下劃線結尾的,是內建變數

#內建變數是可以直接訪問的,不是private變數,如__init__,__import__或是__file__

#所以,不要自己定義這類變數

#***_,單下劃線結尾的變數一般只是為了避免與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,可能會破壞函式的健壯性

python類中的變數和函式

類變數是在類下面直接定義的變數,類變數被類和例項訪問。所有例項在對類變數賦值之前一直共享記憶體,賦值後就各自儲存各自的類變數。成員變數在 init 函式中定義的以self.開頭,可以被例項訪問。區域性變數是在別的函式下定義的可以self.開頭也可以不以此開頭。不能被訪問 普通函式,不能訪問類中的任何...

python中的類,類變數,例項變數

這幾天寫 的時候碰到乙個python中的小問題,找了好半天才解決,所以記錄下來。classa object def init self self.x y def call self for i in range 5 print x self.x print y y 輸出的結果是 x 5,5,5,5,...

python中random模組常用函式總結

本文用來總結記錄,供以後翻閱 1.seed a none,version 2 隨機數種子生成器。一般不呼叫,且預設選系統當前時間為隨機數種子。個人總結 種子不變,列印出來的隨機數也永遠不變 哪怕重新開啟檔案再執行 2.randrange stop stop引數必須為整數,函式則從 0,stop 中返...