[TOC]
# dir內置函數
使用內置函數dir傳入標識符/數據,可以查看對象內的所有屬性及方法
~~~
dir('ABC')
~~~
提示`___方法名__`格式的方法是python提供的內置方法/屬性,稍后會給大家介紹一些常用的內置方法/屬性
| 方法名 | 作用 |
|---|---|---|
| `__new__` | 創建對象時,會被自動調用 |
| `__init__` | 對象被初始化,會被自動調用 |
| `__del__` | 對象被從內存中銷毀前,會被自動調用 |
| `__str__` | 返回對象的描述信息,print函數輸出使用 |
# 類的構成
類(Class) 由3個部分構成
* 類的名稱 :類名
* 類的屬性 :一組數據
* 類的方法 :允許對進行操作的方法(行為)
定義類
~~~
class 類名:
方法列表
~~~
定義一個Car類
~~~
# 定義類
class Car:
# 方法
def getCarInfo(self):
print('車輪子個數:%d, 顏色%s'%(self.wheelNum, self.color))
def move(self):
print("車正在移動...")
~~~
說明:
* 定義類時有2種:新式類和經典類,上面的Car為經典類,如果是Car(object)則為新式類
* 類名的命名規則按照"大駝峰"
在Python 2及以前的版本中,由任意內置類型派生出的類(只要一個內置類型位于類樹的某個位置),都屬于“新式類”,都會獲得所有“新式類”的特性;反之,即不由任意內置類型派生出的類,則稱之為“經典類”。
“新式類”和“經典類”的區分在Python 3之后就已經不存在,在Python 3.x之后的版本,因為所有的類都派生自內置類型object(即使沒有顯示的繼承object類型),即所有的類都是“新式類”
# 創建對象
可以根據已經定義的類去創建出一個個對象
創建對象的格式為:
~~~
對象名 = 類名()
~~~
~~~
# 定義類
class Car:
# 移動
def move(self):
print('車在奔跑...')
# 鳴笛
def toot(self):
print("車在鳴笛...嘟嘟..")
# 創建一個對象,并用變量BMW來保存它的引用
BMW = Car()
BMW.color = '黑色'
BMW.wheelNum = 4 #輪子數量
BMW.move()
BMW.toot()
print(BMW.color)
print(BMW.wheelNum)
~~~
# 類描述信息 `__doc__`
表示類的描述信息
~~~
class Foo:
'''描述類的信息'''
def func(self):
pass
print(Foo.__doc__)
~~~
輸出
~~~
描述類的信息
~~~
# `__module__`和`__class__`
* `__module__`表示當前操作的對象在哪個模塊
* `__class__`表示當前操作的對象的類是什么
~~~
class Person(object):
def __init__(self):
self.name = 'laowang'
~~~
~~~
from test import Person
obj = Person()
print(obj.__module__) # 輸出test即輸出模塊
print(obj.__class__) # 輸出test.Person 即: 輸出類
~~~
- python入門
- 軟件安裝
- anaconda使用
- py解釋器
- 數據類型和變量
- 編碼
- 字符串
- 格式化
- 數據類型
- 運算符
- list和tuple
- 列表生成式
- dict和set
- 切片和迭代
- set,list,tuple之間互換
- is和==
- 公共方法
- 反射操作
- 數學運算
- 類型轉換
- 對象操作
- 序列操作
- 運算符
- 內置函數
- 交互操作
- 編譯執行
- 引用
- 判斷,循環
- 生成器
- 迭代器
- 函數
- 數據類型轉換
- 空函數
- 參數
- 全局變量
- 返回值
- 遞歸
- 匿名函數
- 文件操作
- 打開和關閉
- 讀寫
- 備份文件
- 文件定位讀寫
- 重命名,刪除
- 文件夾相關操作
- with
- StringIO和BytesIO
- 操作文件和目錄
- 序列化
- 文件屬性
- 面向對象
- 類和對象
- init()方法
- 魔法方法
- 繼承
- 重寫
- 多態
- 類屬性,實例屬性
- 靜態方法和類方法
- 工廠模式
- 單例模式
- 異常
- 私有化
- 獲取對象信息
- *args和**kwargs
- property屬性
- 元類
- slots
- 定制類
- 枚舉
- 模塊
- 模塊介紹
- 模塊中的__name__
- 模塊中的__all__
- 包
- 模塊發布
- 模塊的安裝和使用
- 多模塊開發
- 標準庫
- 給程序傳參數
- 時間
- 正則表達式
- GIL
- 深拷貝和淺拷貝
- 單元測試
- pyqt
- 安裝
- 設置窗口圖標和移動窗口
- 設置氣泡提示和文本
- 圖片展示
- 文本框控件
- 按鈕控件
- 信號和槽
- 布局
- 對話框控件
- pygame
- 窗體關閉事件
- 顯示圖片
- 移動圖片
- 文本顯示
- 背景音和音效
- FPS計算
- surface
- 鼠標事件
- 函數式編程
- map/reduce
- filter
- sorted
- 返回函數
- 裝飾器
- 偏函數
- 網絡編程
- tcp
- udp
- socket
- epoll
- WSGI
- 多任務
- 多線程
- 多進程
- 分布式進程
- 協程
- 迭代器
- 生成器
- yield多任務
- greenlet
- gevent
- ThreadLocal
- asyncio
- async/await
- aiohttp
- 常用內建模塊
- datetime
- collections
- base64
- struct
- hashlib
- hmac
- itertools
- urllib
- xml
- HTMLParser
- 常用第三方模塊
- pillow
- requests
- chardet
- psutil
- 圖形界面
- 海龜繪圖
- Django
- 虛擬環境搭建
- ORM
- 模型類設計和表生成
- 模型類操作
- 關系查詢
- 后臺管理
- 配置mysql
- 字段屬性和選項
- 查詢
- 模型關聯
- 路由
- 模板
- selenium
- 基本原理
- api
- 八種定位方式
- 元素的操作
- 多標簽
- 多表單
- 鼠標,鍵盤
- 警告框
- 下拉框
- 執行js
- 等待
- cookie
- 封裝
- unittest模塊
- 斷言
- 測試用例
- jmeter
- jmeter簡介
- jmeter提取json
- 添加header和cookie
- 讀取csv/txt文件
- 配置文件
- ant