1. 程式人生 > >Python程式設計:類的例項動態增加屬性和方法

Python程式設計:類的例項動態增加屬性和方法

# -*- coding: utf-8 -*-

# @File    : 類的例項動態增加屬性和方法.py
# @Date    : 2018-05-31
# @Author  : Peng Shiyu

class Person(object):
    count = 0
    def __init__(self, name):
        self.name = name


if __name__ == '__main__':
    # 例項化
    p1 = Person("tom")
    print(p1.name)  # tom
    print(p1.count)  # 0
p2 = Person("jack") print(p2.name) # jack print(p2.count) # 0 # 通過例項修改類變數 p1.count = 2 print(p1.count) # 2 print(p1.count) # 2 print(Person.count) # 0 # 通過類修改類變數 Person.count = 3 print(p1.count) # 2 print(p1.count) # 2 print(Person.count) # 3
# 給例項增加屬性 p1.age = 23 print(p1.age) # 23 # 給例項增加方法 def set_age(self, age): self.age = age from types import MethodType p1.set_age = MethodType(set_age, p1) p1.set_age(25) print(p1.age) # 25 print(p2.age) # AttributeError: 'Person' object has no attribute 'age'

相關推薦

Python程式設計例項動態增加屬性方法

# -*- coding: utf-8 -*- # @File : 類的例項動態增加屬性和方法.py # @Date : 2018-05-31 # @Author : Peng Shiy

Python程式設計importlib.import_module動態匯入模組

環境:python 3.6 檔案結構 ├── clazz │ ├── __init__.py │ ├── a.py │ └── b.py └── main.py a.py 的程式碼 def show(): print("show A") b.p

我的Python學習筆記(四)動態新增屬性方法

一、動態語言相關概念 1.1 動態語言 在執行時程式碼可以根據某些條件改變自身結構 可以在執行時引進新的函式、物件、甚至程式碼,可以刪除已有的函式等其他結構上的變化 常見的動態語言:Object-C、C#、JavaScript、PHP、Python、Erlang 1.2 動態型別語言 在執行期間檢查資料

Python-動態新增屬性方法

class Person():   Country='CN'   def __init__(self,nm)     self.nm=nm 動態新增例項屬性及例項方法: p=Person() p.age=18 #直接賦值,動態新增例項屬性 def set_age(self,age) #定義帶se

python動態新增屬性方法

import types    如果一個類已經寫好  要想動態的新增一新的方法  那麼需要用下面方法: p1.eat = types.MethodType(eat,p1)    //即把eat函式動態繫結到了p1物件上

python基礎之動態新增屬性方法

一、新增物件屬性: >>> class student(object): pass >>> stu=student() >>> stu.name="zhang jie" #新增物件屬性 >>> stu.name 'zh

python 動態新增屬性方法

首先 動態新增屬性 class Person(object):     def __init__(self, newName, newAge):         self.name = newName         self.age = newAge laowang

python學習筆記8--面向對象--屬性方法詳解

confirm 報錯 方式 系列 dep 是個 應用 all icm 屬性:   公有屬性 (屬於類,每個類一份)   普通屬性 (屬於對象,每個對象一份)   私有屬性 (屬於對象,跟普通屬性相似,只是不能通過對象直接訪問) 方法:(按作用)   構造方法  

IntelliJ IDEA-2018.2檢視原始碼當前中所有的屬性方法(十六)

一、檢視原始碼 步驟1:下載api文件  去Sun官網下載api文件 ,下載後(比如jdk-8u181-docs-all.zip)儲存在本地,下載地址:http://www.oracle.com/technetwork/java/javase/documentation/jdk

中特殊的屬性方法【掌握】

例項屬性和類屬性 例項屬性【物件屬性】和類屬性的區別 ​ a.定義的位置不同:類屬性直接定義在類中,例項屬性定義在建構函式中 ​ b.訪問方式不同:例項屬性必須用物件訪問,類屬性可以使用類名或者物件訪問 ​ c.在記憶體中出現的時機不同:類屬性隨著類的出現而出現,例項屬性隨著物件的出現而出現【在程式碼

為物件增加屬性方法()

為物件增加屬性和方法   所有物件除了都會有Object型別的屬性和方法之外,和可以增加自己的屬性和方法。下面依次記寫兩種建立物件例項並新增屬性、方法的程式碼。 第一種: var people = new Object(); people.name = "Vir

《head first java》、物件、屬性方法的關係

類的定義:類是對某一類事物的描述,是抽象的、概念上的意義。 屬性表示類的特性,如 類——冰箱 屬性——價格、耗電量、體積 方法表示類的功能,類能做什麼,如 類——冰箱 方法——儲存、冷凍等 類需要通過class來宣告 class 類名稱{ 屬性 方法 } 函

vue例項的簡單屬性方法呼叫

$mount() // 等同於 el: <div id="box"> {{a}} </div> <script> var vm=new Vue({

python 面向物件程式設計例項

深度學習在構建網路模型時,看到用類來構建一個模型例項,清晰明瞭,所以這篇博文主要學習一下python類 類和例項: 類可以起到模板的作用,因此,可以在建立例項的時候,把一些我們認為必須繫結的屬性強制填寫進去。通過定義一個特殊的__init__(注意:特殊方法“__init__”前後分別有

python中為例項動態增加方法

>>> def func(a,b): ...     print a,b ...   >>> class Foo(object): ...     pass ...      >>> foo = Foo()

python程式設計從入門到實踐學習筆記-

面向物件程式設計時,都會遇到一個概念,類,python也有這個概念,下面我們通過程式碼來深入瞭解下。 建立和使用類 class Dog():    def __init__(self, name, age):        

python3__面向物件__靜態方法 / 方法 / 屬性方法 / 例項動態繫結屬性方法 / 動態繫結屬性方法

0.普通方法 普通方法訪問類屬性:self.__class__.類屬性名稱 class Test(object): n = 123 def __init__(self, n): self.n = n def tell(self):

python 學習彙總60例項作為函式的引數(初級學習- tcy)

 類例項作為函式的引數 2018/11/20  使用輸出引數(通過引用呼叫)編寫函式 : class callByRef: def __init__(self, **args): for (key, value) in args.items(): setatt

Python程式設計從入門到實踐》第9章- 習題

文章目錄 9-1 餐館 9-2 三家餐館 9-3使用者 9-4 就餐人數 9-5 嘗試登入次數 9-6冰淇淋小店 9-7 管理員 9-8 許可權 9-9 電瓶升級 9-10 匯入Resta

Python程式設計從入門到實踐》第9章

第9章 類 9-1 餐館 建立一個名為Restaurant 的類,其方法__init__() 設定兩個屬性:restaurant_name 和cuisine_type 。建立一個名為describe_