1. 程式人生 > >python中類的用法(物件的私有屬性)

python中類的用法(物件的私有屬性)

物件的私有屬性:在某個類中宣告的私有屬性,只有在這個類宣告的範圍內才能呼叫這個私有屬性,一旦超出這個範圍,將無法訪問到,但若要訪問,可以通過在類裡宣告函式來實現對私有函式的檢視或修改。

可通過以下的程式具體理解:

#物件的私有屬性
class People(object):
    """
        descrapition 可以寫一些類的描述
    """
    def __init__(self,name):
        self.name=name
        #宣告一個物件的私有屬性
        #私有屬性只能在類宣告的範圍內使用
        #宣告私有屬性 需要在屬性名前新增__雙下劃線
        self.__age=18
    #如果想要在函式宣告的外部獲取私有屬性的屬性值,專門寫一個函式,在函式中將私有屬性值返回,在類宣告外部就可以呼叫這個函式獲取私有屬性值
    def get_age(self):
        #返回__age的屬性值
        return self.__age
                #如果想要在函式宣告的外部設定私有屬性的屬性值,專門寫一個函式,在函式中對私有屬性值進行賦值,在類宣告外部就可以呼叫這個函式修改私有屬性值
    def set_age(self,value):
        #類聲明範圍內,可以訪問私有屬性
        self.__age=value
p1=People('張三')
print(p1.name)
#超出類宣告的範圍,所以在這個位置是無法訪問__age屬性值的
# print(p1.__age)

#可以呼叫get__age()函式,獲取__age的值
age=p1.get_age()
print(age)
#在類宣告的外部無法直接修改私有屬性值
# p1.__age=20
p1.set_age(20)
age=p1.get_age()
print(age)


相關推薦

python for迴圈continue, break, pass用法

1、continue  跳過當前繼續執行下一個迴圈 l = ['a','b','c','d','e'] for i in l: #i遍歷l列表中的每一個元素 if i == 'c': continue #continue以下的程式碼不執行直

Python的編碼常見出錯彙總

有了之前Python的基礎,現在想深入學習一下Python,但是卻發現越來越多的坑,實在是填不完啊,於是想在以後的學習中,記錄一下自己曾經填平的坑,在Python學習的這條路上愉快的玩耍~~~~~ Python中的編碼問題,可謂是大坑,要怎麼來形容呢,它不像一個晦澀的知識點

Python的函式轉自linhaifeng

一 函式知識體系 1 什麼是函式? 2 為什麼要用函式? 3 函式的分類:內建函式與自定義函式 4 如何自定義函式 語法 定義有引數函式,及有參函式的應用場景 定義無引數函式,及無參函式的應用場景 定義空函式,及空函式的應用場景

Django的ORM物件關係對映

Django與資料庫的命令互動主要是通過manage.py,常用的命令就是manage.py syncdb,可以將model中不在資料庫中存在的表給建立完成,但是隻能建立新的資料表或者列,如果model中將某個已經建立的資料表刪除,syncdb是不會進行同步刪除的操作的。

python用法物件私有屬性

物件的私有屬性:在某個類中宣告的私有屬性,只有在這個類宣告的範圍內才能呼叫這個私有屬性,一旦超出這個範圍,將無法訪問到,但若要訪問,可以通過在類裡宣告函式來實現對私有函式的檢視或修改。 可通過以下的程式具體理解: #物件的私有屬性 class People(object)

python學習筆記21物件屬性

類與物件的屬性 物件屬性與類屬性 class Person(object): # 這裡的屬性實際上屬於類屬性(用類名來呼叫) name = "person" def __init__(self, name): pass #物件屬

Python isinstance()用法 判斷對象的

pytho () type logs pan code ret instance col isinstance(p_object, class_or_type_or_tuple):判斷對象的類型 a=123 ret=isinstance(a,int) print(ret)

python的內置屬性初探

fad group ros one ref for wrapper div 類與對象 首先,建立一個類,並用該類創建一個對象,分別查看object,類與對象的內置屬性 1 import inspect 2 3 class Foo(): 4 ‘‘‘隨便瞎

Python屬性、方法及內置方法

包含 obj urn 資源 tin 初始化 方式 Coding 特性 1.類的屬性 成員變量 對象的創建 創建對象的過程稱之為實例化,當一個對象被創建後,包含三個方面的特性對象聚丙屬性和方法, 句柄用於區分不同的對象, 對象的屬性和方法,與類中的成員變量和成員函數對應, o

python屬性和數據屬性的解釋

name 都是 如果 那是 date 初始化 pytho 例子程序 例子 python中的類叫class object,類的實例叫instance object. 類 Class Objects 類擁有兩種操作,1.類屬性 attribute references 2.實例

Python學習:17.Python面向對象四、屬性特性,成員修飾符,的特殊成員

介紹 col 寫代碼 被調用 表示 1.5 emp 成員 object 一、屬性(特性) 普通方法去執行的時候,後面需要加括號,特性方法執行的時候和靜態字段一樣不需要不需要加括號. 特性方法不和字段同名. 特性方法不能傳參數. 在我們定義數據庫字段類的時候,往往需要

Java內部鎖synchronized鎖和物件

版權宣告:本文為博主原創文章,轉載請註明出處。 https://blog.csdn.net/qq_25827845/article/details/77688880        synchronized是Java提供的內部鎖,裡邊有類鎖和物件鎖;在靜態方

Python的特殊屬性和魔術方法

1、屬性 屬性 含義 __name__ 類、函式、方法等的名字   __dir__ __module__ 類定義所在的模組名 __class_

的方法物件的原型的方法消失

問題: 使用indexdb,sqlite等本地儲存後再取出物件導致類中的方法(物件的原型中的方法)消失。 解決方法: 使用Object.assign()合併對物件。這時,this.details中的每個元素都是RetailOrderDetailEditDto的例項化物件。 &n

利用遞迴遍歷獲取Java複雜物件物件屬性仍是物件//list/map指定屬性的值

本示例中又三個物件巢狀: UserBO:複雜物件,其中一個屬性是List<AddressBO>或者Map<AddressBO> AddressBO:其中一個屬性是SubAddressBO SubAddressBO:包含目標屬性addrId,且是string型別,查

python屬性的獲取機制

# 要訪問類屬性有兩種方式: # 1.類名.類屬性 # 2.物件.類屬性(不推薦) # 法一: class Tool: # 使用賦值語句定義類屬性,記錄所有工具物件的數量 count = 0 def __init__(self,name): self.n

Python屬性及方法的總結及python改寫memocache啟動指令碼舉例

1.類的屬性總結 類屬性,也是公有屬性, 類的私有屬性, 物件的共有屬性, 物件的私有屬性, 內建屬性, 函式的區域性變數, 全域性變數, #/usr/bin/env python # -*- coding:utf-8 -*- class

python屬性、方法、結構以及靜態方法

一、類屬性 在Python中一切皆物件,類也是一個物件--->類物件,在程式執行中,類物件在記憶體中只有一份,通過它可以創建出很多個物件例項,除了封裝例項和屬性的方法外,類物件還可以擁有自己的屬性和方法:類屬性和類方法 通過類名的方式可以直接訪問類的屬性 類屬性其

面向物件 3 屬性查詢與繫結方法&python一切皆為物件

屬性查詢與繫結方法 x='全域性' class LuffyStudent: school = 'luffycity' # stu1,'王二丫','女',18 def __init__(self,name,sex,age):

python物件之繼承

面對物件的三大特性之繼承 1.什麼是繼承?    在程式中,繼承指的是class與class之間的關係    繼承是一種關係,必須存在兩個class才能產生這種關係;被繼承的class稱為父類,繼承的class稱為子類。  2.為什麼要使用繼承?