python如何对一个属性或方法进行封装_python 类、对象、方法、属性
在python中,一個(gè)對(duì)象的特征也稱為屬性(attribute)。它所具有的行為也稱為方法(method)
結(jié)論:對(duì)象=屬性+方法
在python中,把具有相同屬性和方法的對(duì)象歸為一個(gè)類(class)
比如人類,動(dòng)物,植物等等,這些都是類的概念。
類是對(duì)象的模板或藍(lán)圖,類是對(duì)象的抽象化,對(duì)象是類的實(shí)例化。類不代表具體的事物,而對(duì)象表示具體的事物。
>>> class people:
... def speak(self):
... print ("hello!")
...
''' 定義一個(gè)people類,定義一個(gè)speak方法,但沒(méi)有定義屬性, 因?yàn)閷傩圆粚儆陬?#xff0c;而是屬于各個(gè)類的實(shí)例。也就是說(shuō)屬于對(duì)象。 因此我們可以給每個(gè)實(shí)例設(shè)置不同的屬性 '''
>>> class people: #類
... def speak(self): #方法
... print ("hello!")
...
>>>
>>> jack = people() #創(chuàng)建jack實(shí)例
>>> tom = people() #創(chuàng)建tom實(shí)例
>>> import tab #導(dǎo)入table鍵功能模塊
>>> jack. #輸入jack.,可以看到以下方法
jack.__class__ jack.__doc__ jack.__module__ jack.speak()
>>> jack.speak() #引用speak方法 hello!
>>> jack.age=39 #添加age屬性
>>> jack.height=120 #添加height屬性
>>> jack. jack.__class__ jack.__module__ jack.height jack.__doc__ jack.age jack.speak()
>>> jack.height 120
>>> jack.age 39
'''
#初始化對(duì)象 創(chuàng)建類時(shí),可以定義一個(gè)特定的方法,名為_(kāi)_init__(),只要?jiǎng)?chuàng)建這個(gè)類的一個(gè)實(shí)例 就會(huì)運(yùn)行這個(gè)方法。
可以向__init__()方法傳遞參數(shù), 這樣創(chuàng)建對(duì)象時(shí)就可以把屬性設(shè)置為你希望的值 __init__()這個(gè)方法會(huì)在創(chuàng)建對(duì)象時(shí)完成初始化,
'''
>>> class peo:
... def __init__(self,name,age,sex):
... self.Name = name
... self.Age = age
... self.Sex = sex
... def speak(self):
... print "my name" + self.Name
...
>>> 實(shí)例化這個(gè)類的對(duì)象時(shí):
>>> zhangsan=peo("zhangsan",24,'man')
>>> print zhangsan.Age 24
>>> print zhangsan.Name zhangsan
>>> print zhangsan.Sex man # ----------
>>> print zhangsan < __main__.peo instance at 0x7fe5041ec248>
'''
要讓print能打印出來(lái),就得使用__str__方法 __str__()這個(gè)方法告訴python在打印(print)一個(gè)對(duì)象時(shí),具體顯示什么內(nèi)容
'''
#! /usr/bin/python class peo:
def __init__(self,name,age,sex):
self.Name = name
self.Age = age
self.Sex = sex
def speak(self):
print "my name" + self.Name
def __str__(self):
msg='my name is: ' +self.Name+ ","+ "my age is: " + self.Age +','+ "my sex is:" +self.Sex
return msg
shanghai=peo('shanghai','23','man')
''' msg='my name is: ' +self.Name+ ","+ "my age is: " + self.Age +','+ "my sex is:" +self.Sex
此處23是年齡,但被轉(zhuǎn)成了字符串,因?yàn)閟elf.Age定義的是字符串 如果不將23轉(zhuǎn)義,則會(huì)報(bào)錯(cuò) 如果希望在程序中就事先轉(zhuǎn)義,需要使用str(self.Age) '''
print shanghai
''' 之前多次用到self這個(gè)形參
類就好比是一張藍(lán)圖,使用一個(gè)類可以創(chuàng)建多個(gè)對(duì)象實(shí)例, speak()方法在被調(diào)用時(shí),必須知道是哪個(gè)對(duì)象調(diào)用了它.
這里self參數(shù)就會(huì)告訴方法是哪個(gè)對(duì)象來(lái)調(diào)用的.這稱為實(shí)例引用。 zhangsan.speak()就好比寫成了peo.speak(zhangsan) '''
__author__ = Kayson
全面了解python中的類,對(duì)象,方法,屬性
全面了解python中的類,對(duì)象,方法,屬性 python中一切皆為對(duì)象,所謂對(duì)象:我自己就是一個(gè)對(duì)象,我玩的電腦就是對(duì)象,坐著的椅子就是對(duì)象,家里養(yǎng)的小狗也是一個(gè)對(duì)象...... 我們通過(guò)描述屬性( ...
Python 類的私有屬性與私有方法
1.隱藏的使用場(chǎng)景 在Python類中,有些屬性和方法只希望在對(duì)象的內(nèi)部被使用,而不希望在外部被訪問(wèn)到, 2.定義方式, 在屬性名或方法名前增加兩個(gè)下劃線,定義的就是私有屬性或方法 #其實(shí)這僅僅這是一 ...
福利->;KVC+Runtime獲取類/對(duì)象的屬性/成員變量/方法/協(xié)議并實(shí)現(xiàn)字典轉(zhuǎn)模型
我們知道,KVC+Runtime可以做非常多的事情.有了這個(gè),我們可以實(shí)現(xiàn)很多的效果. 這里來(lái)個(gè)福利,利用KVC+Runtime獲取類/對(duì)象的所有成員變量.屬性.方法及協(xié)議: 并利用它來(lái)實(shí)現(xiàn)字典轉(zhuǎn)模型 ...
python類及其方法
python類及其方法 一.介紹 在 Python 中,面向?qū)ο缶幊讨饕袃蓚€(gè)主題,就是類和類實(shí)例類與實(shí)例:類與實(shí)例相互關(guān)聯(lián)著:類是對(duì)象的定義,而實(shí)例是"真正的實(shí)物",它存放了類中 ...
python—類對(duì)象和實(shí)例對(duì)象的區(qū)別
最近在對(duì)RF的通訊層的模塊進(jìn)行封裝,需要將之前放在類似main里面的一個(gè)方法,如下所示:這段代碼是開(kāi)發(fā)提供,用于接口測(cè)試,模擬底層通訊,具體的通訊是在dll內(nèi),python這邊只是做了個(gè)封裝讓RF進(jìn)行 ...
Python類對(duì)象
python類對(duì)象 python類對(duì)象支持兩種操作:屬性引用和實(shí)例化. 屬性引用?使用 Python 中所有屬性引用所使用的標(biāo)準(zhǔn)語(yǔ)法:?obj.name. 有效的屬性名稱是類對(duì)象被創(chuàng)建時(shí)存在于類命名空 ...
Django---CBV和FBV的使用,CBV的流程,給視圖加裝飾器,Request對(duì)象方法,屬性和Response對(duì)象,form表單的上傳
Django---CBV和FBV的使用,CBV的流程,給視圖加裝飾器,Request請(qǐng)求對(duì)象方法,屬性和Response響應(yīng)對(duì)象,form表單的上傳 一丶CBV和FBV ??????在Django中存 ...
Python之對(duì)象的屬性
# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python之對(duì)象的屬性 #http://python.jobbole.com/82622/ #對(duì)象的屬性 ...
python 學(xué)習(xí)筆記7(類/對(duì)象的屬性;特性,__getattr__)
27. 屬性的__dict__系統(tǒng) 1)對(duì)象的屬性可能來(lái)自: 其類的定義,叫做類屬性 繼承父類的定義 該對(duì)象實(shí)例定義(初始化對(duì)象時(shí)賦值),叫做對(duì)象屬性 2)對(duì)象的屬性存儲(chǔ)在對(duì)象的?__dict__?屬 ...
隨機(jī)推薦
Module Zero之用戶管理
返回 用戶實(shí)體 用戶管理者 用戶認(rèn)證 用戶實(shí)體 用戶實(shí)體代表應(yīng)用的一個(gè)用戶,它派生自AbpUser類,如下所示: public class User : ...
web框架--flask
flask介紹 Flask是一個(gè)基于Python開(kāi)發(fā)并且依賴jinja2模板和Werkzeug?WSGI服務(wù)的一個(gè)微型框架,對(duì)于Werkzeug本質(zhì)是Socket服務(wù)端,其用于接收http請(qǐng)求并對(duì)請(qǐng)求 ...
[再寄小讀者之?dāng)?shù)學(xué)篇](2014-11-24 Abel 定理)
設(shè)冪級(jí)數(shù) $\dps{g(x)=\sum_{n=0}^\infty a_nx^n}$ 在 $|x|<1$ 內(nèi)收斂, 且 $\dps{\sum_{n=0}^\infty a_n=s}$ 收斂. 則 ...
特效TD 的工作準(zhǔn)則
特效 TD 的工作準(zhǔn)則 作者:Hammer Chen / 轉(zhuǎn)載自?http://hammerbchen.blogspot.com/2013/07/vfx-td-td.html 一直以來(lái)都想寫這樣的文章 ...
多次讀取請(qǐng)求request里數(shù)據(jù)
如果請(qǐng)求是GET方法,可以直接通過(guò)getParameter(String param)方法讀取指定參數(shù),可讀取多次: 而POST方法的參數(shù)是存儲(chǔ)在輸入流中,只能讀一次,不能多次讀取. 有時(shí)需要在fil ...
JavaScript彈出框
confirm(str); 參數(shù)說(shuō)明: str:在消息對(duì)話框中要顯示的文本 返回值: Boolean值 返回值: 當(dāng)用戶點(diǎn)擊"確定"按鈕時(shí),返回true 當(dāng)用戶點(diǎn)擊"取消 ...
SQLSERVER PRINT語(yǔ)句的換行
原文:SQLSERVER PRINT語(yǔ)句的換行 SQLSERVER? PRINT語(yǔ)句的換行 想在輸出的PRINT語(yǔ)句里面換行,可以這樣做 /* SQL的換行 制表符 CHAR(9) 換行符 CHAR( ...
react-router簡(jiǎn)明學(xué)習(xí)
前面的話 路由用來(lái)分發(fā)請(qǐng)求.后端是提供服務(wù)的,所以它的路由是在找controller,前端是顯示頁(yè)面的,所以它的路由是在找component.本文將詳細(xì)介紹react-router-dom的內(nèi)容 Ro ...
python入門學(xué)習(xí):2.列表簡(jiǎn)介
python入門學(xué)習(xí):2.列表簡(jiǎn)介 關(guān)鍵點(diǎn):列表 2.1 列表是什么2.2 修改.添加和刪除元素2.3 組織列表 2.1 列表是什么 ??列表,是由一系列按特定順序排列的元素組成.你可以創(chuàng)建包含字母表 ...
2. Python3輸入與輸出
數(shù)據(jù)的輸入和輸出操作是計(jì)算機(jī)最基本的操作,本節(jié)只研究基本的輸入與輸出,基本輸入是指從鍵盤上輸入數(shù)據(jù)的操作,基本輸出是指屏幕上顯示輸出結(jié)果的操作. 2.1基本輸入和輸出 常用的輸入與輸出設(shè)備有很多,如攝 ...
總結(jié)
以上是生活随笔為你收集整理的python如何对一个属性或方法进行封装_python 类、对象、方法、属性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 前端之模拟数据 - HackerViru
- 下一篇: python重复输入上面指令_stdin