在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 三、類的屬性
二、Enum 的源碼
前言
一、Python 模塊簡(jiǎn)介
一、List(列表)
五、匿名函數(shù)
三、什么是元類
二、循環(huán)語句
二、模塊的使用
三、第一個(gè) Python 程序
線程與進(jìn)程
Python
三、條件語句和循環(huán)語句綜合實(shí)例
四、對(duì)象的描述器
三、類的屬性
一、迭代
五、迭代器和生成器綜合例子
六、運(yùn)算符相關(guān)的魔術(shù)方法
一、枚舉類的使用
前言
一、簡(jiǎn)明概述
二、Python 的基本數(shù)據(jù)類型
多線程編程
五、作用域
四、包
四、枚舉的比較
四、Python 中的變量
六、類的多態(tài)
一、Python 中類也是對(duì)象
一、Python 的 Magic Method
前言
四、生成器
一、面向?qū)ο蟮母拍?/span>
五、類的繼承
二、類
二、使用 <code>type()</code> 動(dòng)態(tài)創(chuàng)建類
進(jìn)程
二、set
三、主模塊和非主模塊
一、字典(Dictionary)
前言
前言
前言
前言
四、集成開發(fā)環(huán)境(IDE): PyCharm
前言
四、函數(shù)的參數(shù)
三、lsit 生成式(列表生成式)
四、自定義元類
四、類的方法
二、函數(shù)傳值問題
二、注釋
一、條件語句
一、Python 語法的簡(jiǎn)要說明
三、函數(shù)返回值
三、基本數(shù)據(jù)類型轉(zhuǎn)換
三、屬性的訪問控制
二、Python 的安裝
前言
三、命名規(guī)范
一、Python 自定義函數(shù)的基本步驟
三、自定義類型的枚舉
五、自定義容器(Container)
二、Python 迭代器
前言
二、tuple(元組)
一、Python 簡(jiǎn)介
前言
前言
前言
二、構(gòu)造(<code>__new__</code>)和初始化(<code>__init__</code>)
前言

三、類的屬性

1、直接在類中定義屬性

定義類的屬性,當(dāng)然最簡(jiǎn)單最直接的就是在類中定義,例如:

class UserInfo(object):
    name='兩點(diǎn)水'

2、在構(gòu)造函數(shù)中定義屬性

故名思議,就是在構(gòu)造對(duì)象的時(shí)候,對(duì)屬性進(jìn)行定義。

class UserInfo(object):
    def __init__(self,name):
        self.name=name

3、屬性的訪問控制

在 Java 中,有 public (公共)屬性 和 private (私有)屬性,這可以對(duì)屬性進(jìn)行訪問控制。那么在 Python 中有沒有屬性的訪問控制呢?

一般情況下,我們會(huì)使用 __private_attrs 兩個(gè)下劃線開頭,聲明該屬性為私有,不能在類地外部被使用或直接訪問。在類內(nèi)部的方法中使用時(shí) self.__private_attrs。

為什么只能說一般情況下呢?因?yàn)閷?shí)際上, Python 中是沒有提供私有屬性等功能的。但是 Python 對(duì)屬性的訪問控制是靠程序員自覺的。為什么這么說呢?看看下面的示例:

Python 屬性訪問控制

仔細(xì)看圖片,為什么說雙下劃線不是真正的私有屬性呢?我們看下下面的例子,用下面的例子來驗(yàn)證:


#!/usr/bin/env python
# -*- coding: UTF-8 -*-

class UserInfo(object):
    def __init__(self, name, age, account):
        self.name = name
        self._age = age
        self.__account = account

    def get_account(self):
        return self.__account

if __name__ == '__main__':
    userInfo = UserInfo('兩點(diǎn)水', 23, 347073565);
    # 打印所有屬性
    print(dir(userInfo))
    # 打印構(gòu)造函數(shù)中的屬性
    print(userInfo.__dict__)
    print(userInfo.get_account())
    # 用于驗(yàn)證雙下劃線是否是真正的私有屬性
    print(userInfo._UserInfo__account)

輸出的結(jié)果如下圖:

Python 屬性訪問控制