靜態屬性 @property 既可以訪問類屬性,也可以訪問例項屬性
class phone:
def __init__(self,brand,color, version):
self.brand = brand
self.color = color
self.version = version
# 相當於把函式屬性編變成了資料屬性
# 這樣呼叫方法由 例項.call() 變為 例項.call
@property
def call(self):
# print("正在用%s牌%s手機打**"% (self.brand,self.color))
return "正在用%s牌%s手機打**"% (self.brand,self.color)
v = p.call # p.call呼叫方式來看,我們不會知道call是資料屬性還是函式屬性,這樣方法就被隱藏起來了。
print(p.color, v)
類方法 @classmethod 可以訪問類屬性
class phone:
function = "打**";
def __init__(self,brand,color, version):
self.brand = brand
self.color = color
self.version = version
# 相當於把函式屬性編變成了資料屬性
# 這樣呼叫方法由 例項.call() 變為 例項.call
@property
def call(self):
# print("正在用%s牌%s手機打**"% (self.brand,self.color))
return "正在用%s牌%s手機打**"% (self.brand,self.color)
# classmethod可以將方法定義為類方法,可以直接通過 類名.方法名直接呼叫
@classmethod
def func(cls):
print(cls) # 傳遞進來的引數其實是乙個類
print("---->",cls.function)
# 可以直接通過 類名.方法名直接呼叫
phone.func()
# 可以不用通過 傳遞例項物件,呼叫func(p)了
# phone.func(p)
靜態方法 @staticmethod 不能使用類變數和例項變數
class phone:
function = "打**";
def __init__(self,brand,color, version):
self.brand = brand
self.color = color
self.version = version
# 相當於把函式屬性編變成了資料屬性
# 這樣呼叫方法由 例項.call() 變為 例項.call
@property
def call(self):
# print("正在用%s牌%s手機打**"% (self.brand,self.color))
return "正在用%s牌%s手機打**"% (self.brand,self.color)
# classmethod可以將方法定義為類方法,可以直接通過 類名.方法名直接呼叫
@classmethod
def func(cls):
print(cls) # 傳遞進來的引數其實是乙個類
print("---->",cls.function)
@staticmethod # 靜態方法只是名義上的歸屬類管理,不能使用類變數和例項變數,只是類的工具包
def see_movie(aa,bb):
print("%s %s 正在拿手機看電影"%(aa, bb));
phone.see_movie("小明","小公尺")
p.see_movie("小明","小公尺")
LeetCode第四十三題 Python實現
title leetcode no.43 categories tags 給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 45...
python第四十三課 封裝性
1.物件導向的三大特性 封裝性 繼承性 多型性 封裝 封裝使用的領悟 1 生活層面 食品 快遞 計算機 明星.2 計算機層面 模組 類 函式.屬性資料的封裝與隱藏 許可權修飾符的概念 public 公共的,範圍最大 protected 收保護的 default 預設,預設 private 私有的,範...
四十三 python 封裝郵件傳送附件(文字)內容
取名 send email.py 如下 coding utf 8 import smtplib from email.mime.text import mimetext from email.mime.multipart import mimemultipart import os def send...