python 類中的變數 方法

2021-10-12 03:56:18 字數 2524 閱讀 1646

一. python 類中的變數分為類變數,例項變數,self

# coding:utf-8

class a(object):

date = '20201215' # 類變數

def __init__(self):

self.name = 'stephen' # 例項變數

def __str__(self):

return self.date + ' ' + self.name

new = a()

print(new)

print(new.date)

print(new.name)

20201215 stephen

20201215

stephen

1. 類變數

在類中方法之外定義的變數,在類中使用,不需要例項化,通過self.xx或者class.xx就可使用,例項物件可通過物件.xx進行使用。
2. 例項變數

在類中方法內定義的變數,通過self.xx就可使用,例項物件可通過物件.xx進行使用。

3. self

self就是本類物件

二. 例項方法,靜態方法,類方法

class date:

day = 10 # 類變數

def __init__(self, year, month, day): # 建構函式

self.year = year

self.month = month

self.day = day

def __str__(self):

return ("--").format(year=self.year, month=self.month, day=self.day)

def yesterday(date):

date.day -= 1

def print_year(self, number): # 例項方法

print(self.year + number)

@property

def weather(self): # 屬性方法

return 'rainny'

@staticmethod # 靜態方法:校驗輸入值型別和大小是否符合咱們的型別。

def var_str(date_str):

year, month, day = tuple(date_str.split("-"))

if 0 < int(year) and 0 < int(month) <= 12 and 0 < int(day) < 32:

return true

else:

return false

@classmethod # 類方法

def class_method(cls, date_str):

if cls.var_str(date_str): #這裡是呼叫靜態方法,注意要用cls.靜態方法,原理和例項方法中的self一樣,自己可以試試,否則是不能讀取的。

year, month, day = tuple(date_str.split("-"))

return cls(int(year), int(month), int(day))

new_day = date.class_method("2018-10-10")

print(new_day)

# 列印結果

2018 - 10 - 10

1. 例項方法

例項方法的是類中最常用的方法,方法本身帶self引數,非本類中例項化後才能使用該方法,本類中呼叫例項方法通過self.xx()

2. 靜態方法

3. 類方法

4. 屬性方法

類屬性方法無傳參且必須有返回值,例項化物件呼叫的時候通過調取屬性的方式進行呼叫 

三. 建構函式,析構函式

class person(): #定義類

def info(self): #例項方法

self.name='xiaoming'

print("shi li fang fa")

def __del__(self): #析構函式,類銷毀自動執行

print("類銷毀的時候就執行")

zwj=person()

zwj.info()

del zwj #銷毀類

print("*****===")

shi li fang fa

類銷毀的時候就執行

*****===

建構函式,例項化就自動呼叫該方法,一般該方法會放一些屬性或者初始化的東西;

析構函式,類例項被銷毀的時候自動執行

參考:python_類裡的方法及變數,python3:類方法,靜態方法和例項方法以及應用場景,一張圖了解python 類方法與類變數 類變數與例項變數

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 類方法,例項方法,類變數,例項變數

建立乙個person類 class person object per v per v 建立乙個類變數 def init self,name,age 初始化類例項變數 self.name name self.age age definstance method self 建立類例項方法 print ...

Java中類變數 類方法 例項變數 例項方法

在理解類變數 類方法之前先看一段 class person public static void showtotalfee 在person類中定義了3個變數,有2個變數是直接型別 變數名,而第3個變數的型別前加了static這個關鍵字。類變數也叫靜態變數,也就是在變數前加了static 的變數 類變...