日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:Python靜態(tài)函數(shù)和普通方法的區(qū)別

python靜態(tài)函數(shù)和普通方法的區(qū)別

站在用戶的角度思考問題,與客戶深入溝通,找到天祝藏族自治網(wǎng)站設計與天祝藏族自治網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、網(wǎng)絡空間、企業(yè)郵箱。業(yè)務覆蓋天祝藏族自治地區(qū)。

下面通過一個例子,講解Python靜態(tài)函數(shù)、普通方法、類方法的區(qū)別

# -*-coding:utf-8-*-
# 普通方法,類方法,靜態(tài)方法的區(qū)別

__metaclass__ = type


class Tst:
    name = 'tst'

    data = 'this is data'

    # 普通方法
    def normalMethod(self, name):
        print self.data, name

    # 類方法,可以訪問類屬性
    @classmethod
    def classMethod(cls, name):
        print cls.data, name

    # 靜態(tài)方法,不可以訪問類屬性
    @staticmethod
    def staticMethod(name):
        print name

三種方法都可以通過實例來調(diào)用,但是靜態(tài)方法和類方法無法訪問實例屬性,所以更改了tst.data僅對普通方法起了作用

tst = Tst()
tst.data = 'this is new'
tst.normalMethod('name')
tst.staticMethod('name')
tst.classMethod('name')

#結果
this is new name
name
this is data name

區(qū)別

普通方法不能通過類名調(diào)用,但是靜態(tài)方法和類方法是可以的

# error普通方法必須通過實例調(diào)用# 
Tst.normalMethod('name')Tst.classMethod('name')
Tst.staticMethod('name')#結果this is data name
name

總結:

1、普通方法,可以通過self訪問實例屬性

def normalMethod(self,data)

2、類方法,可以通過cls訪問類屬性

@classmethod
def classMethod(cls,data)

3、靜態(tài)方法,不可以訪問,通過傳值的方式

@staticmethod
def staticMethod(data)

更多技術請關注Python視頻教程。


網(wǎng)頁標題:創(chuàng)新互聯(lián)Python教程:Python靜態(tài)函數(shù)和普通方法的區(qū)別
文章地址:http://www.5511xx.com/article/djgepgc.html