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