日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python的类变量和成员变量用法_Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析...

發布時間:2024/8/5 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python的类变量和成员变量用法_Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了Python面向對象程序設計類變量與成員變量、類方法與成員方法用法。分享給大家供大家參考,具體如下:

類變量與成員變量

在類中聲明的變量我們稱之為類變量[靜態成員變量],

在init()函數中聲明的變量并且綁定在實例上的變量我們稱之為成員變量。

類變量直接可以通過類名來調用。

1、若類變量與成員同時存在并且同名

使用對象來調用的時候,獲取的結果是成員變量的值,

使用類名來調用,獲取的是類變量的值。

2、若類變量存在,成員變量不存在,

使用對象來調用的時候,它首先尋找成員變量,

如果成員變量不存在。則去尋找類變量。

3、若類變量不存在,成員變量存在:

使用類名來調用,則會報錯

總結:

類變量通過類名或者對象來調用都不會報錯,但是成員變量只能通過對象來調用。

通過對象來修改類屬性的時候,只能作用到對象自己本身,作用不到類,

若是通過類名來修改類屬性,則只對類變量的值進行修改。

class Person(object):

# 類變量

name = "haha"

age = "19"

height = 170

def __init__(self,name,age,weight):

# 成員變量

self.name = name

self.age = age

self.weight = weight

def sayHeight(self):

print(self.height)

per = Person("xiaoming",19,50)

print(per.name)

print(Person.name)

# print(Person.weight)

per.height = 190

print(per.height)

print(Person.height)

print('*********')

Person.height = 200

print(Person.height)

print(per.height)

per.sayHeight()

輸出:

xiaoming

haha

190

170

*********

200

190

190

類方法與成員方法

類方法,成員方法

類方法:使用類名來調用的方法

成員方法:使用對象來調用的方法

若一個方法定義在類中,但是沒有參數[一般默認self],此時我們只能通過類名來調用

若我們需要使用到一個類的對象,首先要實例化。

class Person(object):

def __init__(self,name,age):

self.name = name

self.age = age

def say(self):

print("I am %s, I am %d year old"%(self.name,self.age))

def sayHello():

print('hello I am class function')

per = Person("xiaoming",19)

per.say()

Person.sayHello()

輸出:

I am xiaoming, I am 19 year old

hello I am class function

類方法與靜態方法

靜態方法:

當調用此方法時,不會將類的實例傳遞給它。

在類中定義的函數。

無需實例化類,就可以調用。它的定義在繼承中,是不可變的。

類方法:

當調用此方法時,將函數所屬的類作為第一個參數傳遞。

class A(object):

def foo(self, x):

print("executing foo(%s, %s)" % (self, x))

@classmethod

def class_foo(cls, x):

print("executing class_foo(%s, %s)" % (cls, x))

@staticmethod

def static_foo(x):

print("executing static_foo(%s)" % x)

a = A()

# 調用foo函數,參數傳入1

a.foo(1)

# 調用class_foo,參數傳入1

A.class_foo(1)

# 調用static_foo,參數傳入1

A.static_foo(1)

a.static_foo(1):

輸出:

executing foo(<__main__.A object at 0x0000024F126489B0>, 1)

executing class_foo(, 1)

executing static_foo(1)

executing static_foo(1)

下劃線

下劃線定義特殊的方法,一般情況下是系統定義名字,

如:

__init()__、__del()__

前雙下劃線(age):表示私有類型的變量(privated),只能在本類中進行訪問,外界不能直接訪問。如__age.

單下劃線(_age):以單下劃線開頭的表示保護類型變量(protected),

保護類型的變量只允許本身以及子類訪問,不能用于from module import *

[使用單下劃線開頭的時候,雖然變量能夠直接被訪問,但是請把變量視為一個保護類型的變量,盡量不要去訪問。

希望本文所述對大家Python程序設計有所幫助。

總結

以上是生活随笔為你收集整理的python的类变量和成员变量用法_Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 1024金沙人妻一区二区三区 | 国产又粗又大又硬 | 少妇高潮一69aⅹ | www.天天干| 人人草人人 | 高清欧美性猛交xxxx黑人猛交 | 国产精品系列在线 | 亚洲图区综合 | 黄色资源在线 | 久久久午夜精品福利内容 | 国产精选自拍 | 久久国产网| 国产福利资源 | 久草电影在线 | 国产一区二区三区欧美 | 欧美一级黄色片网站 | 精品无码一区二区三区爱欲 | 99久久婷婷国产综合精品青牛牛 | 欧美人妻精品一区二区三区 | 欧美一级免费 | 亚洲毛片在线观看 | 一区二区三区四区免费 | 国产精品第72页 | 国产尤物视频在线观看 | 成年人黄国产 | 波多野结衣av一区二区全免费观看 | 国内成人在线 | 久久久久久久久久成人 | 最新免费av网站 | 午夜视频在线看 | 狠狠干精品 | 鲁一鲁色一色 | 国产午夜精品一区二区三区四区 | 久久精品女人毛片国产 | 人妻精品久久久久中文字幕69 | 婷婷色中文字幕 | 欧美日韩人妻精品一区在线 | 国产麻豆影视 | 97久久人人超碰caoprom欧美 | 日韩欧美在线第一页 | 九七影院在线观看免费观看电视 | 久久一二区 | 亚洲成人免费av | 国产中文字幕乱人伦在线观看 | 波多野结av衣东京热无码专区 | 动漫玉足吸乳羞免费网站玉足 | 日本成人在线一区 | 国产欧美一区二区三区在线老狼 | 浪漫樱花在线观看高清动漫 | 日本一区二区免费电影 | 日韩成人福利视频 | 1024视频污 | 欧美日韩一本 | 在线综合网 | 曰批又黄又爽免费视频 | 亚洲乱码中文字幕久久孕妇黑人 | 国产精品无码免费在线观看 | 欧美激情二区三区 | 福利在线网站 | 野外(巨肉高h) | 日本理论片中文字幕 | av成人免费在线观看 | 天天爱天天插 | 资源av | 天天操天天干天天插 | avt天堂网| 欧美视频h| 在线观看的免费 | 人人射 | 日本不卡在线视频 | 99热这里只有精品1 亚洲人交配视频 | 国产精品无码电影 | 一本色道久久综合狠狠躁 | 国产白丝一区二区三区 | 日美韩av| 末路1997全集免费观看完整版 | 亚洲天堂毛片 | 一二区在线观看 | 日韩第九页 | 亚洲综合久 | av三级在线播放 | 国产高清日韩 | 娇小激情hdxxxx学生 | 欧美大片免费观看网址 | 美女网站视频在线观看 | 性v天堂 | 操啊操| 日韩一卡二卡在线 | 国产欧美一区二区三区视频在线观看 | 草草色 | 在线观看一区二区三区视频 | 老女人黄色片 | 日本五十路在线 | 青青草精品 | 激情小说亚洲色图 | 91肉色超薄丝袜脚交一区二区 | 免费男女乱淫真视频免费播放 | 91资源在线观看 | 成人午夜免费视频 |