第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開(kāi)發(fā)者教程

Python 進(jìn)階應(yīng)用教程

Python 進(jìn)階應(yīng)用教程
01 Python 的對(duì)象和類 02 Python 類屬性和實(shí)例屬性 03 Python類的構(gòu)造方法、析構(gòu)方法、實(shí)例方法 04 Python 類的私有屬性和私有方法 05 Python 類的繼承和多繼承 06 Python 類實(shí)戰(zhàn) 07 Python 中的迭代器實(shí)現(xiàn)原理 08 Python 中的迭代器趣味實(shí)踐 09 Python 中的生成器實(shí)現(xiàn)原理 10 Python 中的生成器趣味實(shí)踐 11 Python 中的錯(cuò)誤和異常 12 Python 中的異常處理 13 Python 中的模塊 14 Python 標(biāo)準(zhǔn)庫(kù)之 os 模塊 15 Python 標(biāo)準(zhǔn)庫(kù)之 sys 模塊 16 Python 標(biāo)準(zhǔn)庫(kù)之 math 模塊 17 Python 標(biāo)準(zhǔn)庫(kù)之 random 模塊 18 Python 標(biāo)準(zhǔn)庫(kù)之 Json 模塊 19 Python 標(biāo)準(zhǔn)庫(kù) datetime 模塊 20 Python 中的常用第三方模塊 21 Python 中的命名空間 22 Python 中的作用域 23 Python 中的文件 IO 操作 24 Python 基礎(chǔ)實(shí)戰(zhàn) 25 Python 內(nèi)置函數(shù) 26 Python 中使用正則表達(dá)式 27 使用 Python 操作 MySQL 數(shù)據(jù)庫(kù) 28 使用 Python 操作 Mongo 數(shù)據(jù)庫(kù) 29 使用 Python 操作 Redis 數(shù)據(jù)庫(kù) 30 使用 Python 發(fā)送一封郵件 31 threading 之 Thread 的使用 32 threading 之 Lock 的基本使用 33 Python 生產(chǎn)者消費(fèi)者模型 34 Python 的內(nèi)存管理與垃圾回收 35 Python 領(lǐng)域運(yùn)用:網(wǎng)絡(luò)爬蟲 36 Python 領(lǐng)域運(yùn)用:Web 開(kāi)發(fā) 37 Python 領(lǐng)域運(yùn)用:自動(dòng)化運(yùn)維 38 Python 領(lǐng)域運(yùn)用:自動(dòng)化測(cè)試

Python 內(nèi)置函數(shù)

Python 解釋器內(nèi)置了很多函數(shù),不用 import 即可使用這些內(nèi)置函數(shù)。本小節(jié)講解了 Python 中常見(jiàn)的內(nèi)置函數(shù),我們將這些函數(shù)分為 7 大類:

類別 功能
系統(tǒng)幫助 獲取函數(shù)的使用幫助
文件 IO 讀取標(biāo)準(zhǔn)輸入、寫標(biāo)準(zhǔn)輸出、打開(kāi)文件
類型轉(zhuǎn)換 將整數(shù)轉(zhuǎn)換為字符串、將字符串轉(zhuǎn)換為整數(shù)
數(shù)學(xué)運(yùn)算 常見(jiàn)的數(shù)學(xué)運(yùn)算函數(shù),例如:max 和 min
復(fù)合數(shù)據(jù)類型 列表、元組、字典等數(shù)據(jù)類型的構(gòu)造
對(duì)序列的操作 對(duì)序列進(jìn)行排序、篩選、映射
面向?qū)ο笙嚓P(guān) 判斷類型之間的歸屬關(guān)系

1. 系統(tǒng)幫助

1.1 列出對(duì)象的屬性

>>> import sys
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loade
r__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdou
t__', '_clear_type_cache', '_current_frames', '_debugmallocstats', '_enablelegac
ywindowsfsencoding', '_getframe', '_home', '_mercurial', '_xoptions', 'api_versi
on', 'argv', 'base_exec_prefix', 'base_prefix', 'builtin_module_names', 'byteord
er', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'dont
_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit',
... 省略 ...
]
>>>
  • 內(nèi)置函數(shù) dir(object) 用于列出對(duì)象 object 中的屬性
  • import sys 引入模塊 sys
  • dir(sys) 列出模塊 sys 定義的屬性名、函數(shù)名、類名

1.2 獲取對(duì)象的幫助文檔

>>> help(max)
Help on built-in function max in module builtins:

max(...)
    max(iterable, *[, default=obj, key=func]) -> value
    max(arg1, arg2, *args, *[, key=func]) -> value

    With a single iterable argument, return its biggest item.    
  • help 命令用于獲取指定對(duì)象的幫助
  • help(max) 獲取內(nèi)置函數(shù) max 的幫助
>>> import sys
>>> help(sys.exit)
Help on built-in function exit in module sys:

exit(...)
    exit([status])

    Exit the interpreter by raising SystemExit(status).
    If the status is omitted or None, it defaults to zero (i.e., success).
    If the status is an integer, it will be used as the system exit status.
    If it is another kind of object, it will be printed and the system
    exit status will be one (i.e., failure).
  • help(sys.exit) 獲取模塊 sys 的函數(shù) exit 的幫助

2. 文件 IO

2.1 讀取用戶輸入

>>> line = input()
abc
>>> line
'abc'
  • 內(nèi)置函數(shù) input() 用于讀取用戶輸入的一行文本
  • input() 讀取用戶輸入的一行文本
>>> line = input('Input a number: ')
Input a number: 123
>>> line
'123'
  • input('Input a number: ') 首先打印提示符 'Input a number: ',然后再讀取用戶輸入

2.2 打印輸出

>>> print('hello')
hello
>>> print('hello', 'world')
hello world
  • 內(nèi)置函數(shù) print 打印文本到屏幕
  • 缺省情況下,print() 輸出會(huì)加上換行

如果不需要換行,可以加上參數(shù) end =’’,示例如下:

print('a', end = '')
print('b', end = '')
print('c', end = '')
print()

運(yùn)行程序,輸出結(jié)果:

abc

2.3 打開(kāi)文件

>>> file = open('test.txt')
>>> file.readline()
the first line
  • 函數(shù) open(path) 打開(kāi)指定路徑 path 的文件
  • 調(diào)用 file 對(duì)象的 readline() 方法返回一行

3. 類型轉(zhuǎn)換

3.1 將字符串轉(zhuǎn)換為整數(shù)

>>> number = int('123')
>>> number
123
  • 函數(shù) int(string) 將字符串 string 轉(zhuǎn)換為整數(shù)

3.2 將字符串轉(zhuǎn)換為浮點(diǎn)數(shù)

>>> number = float('123.456')
>>> number
123.456
  • 函數(shù) float(string) 將字符串 string 轉(zhuǎn)換為浮點(diǎn)數(shù)

3.2 將數(shù)值轉(zhuǎn)換為字符串

>>> string = str(123)
>>> string
'123'
>>> string = str(123.456)
>>> string
'123.456'
  • 函數(shù) str(number) 將數(shù)值轉(zhuǎn)換為字符串
  • str(123) 將整數(shù)轉(zhuǎn)換為字符串
  • str(123.456) 將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串

4. 數(shù)學(xué)運(yùn)算

>>> abs(-1)
1
>>> round(1.4)
1
>>> round(1.5)
2
  • abs(number) 計(jì)算 number 的絕對(duì)值
  • round(number) 進(jìn)行四舍五入運(yùn)算
>>> min(1, 2)
1
>>> max(1, 2)
2
>>> min(1, 2, 3)
1
>>> max(1, 2, 3)
3
  • min() 計(jì)算輸入?yún)?shù)的最小值
  • max() 計(jì)算輸入?yún)?shù)的最大值
>>> pow(2, 1)
2
>>> pow(2, 2)
4
>>> pow(2, 3)
8
  • pow(n, m) 計(jì)算 n 的 m 次方運(yùn)算

5. 創(chuàng)建復(fù)合數(shù)據(jù)類型

Python 中的復(fù)合數(shù)據(jù)類型包括:

  • 列表
    • 提供了內(nèi)置函數(shù) list() 創(chuàng)建列表
  • 元組
    • 提供了內(nèi)置函數(shù) tuple() 創(chuàng)建元組
  • 字典
    • 提供了內(nèi)置函數(shù) dict() 創(chuàng)建字典
  • 集合
    • 提供了內(nèi)置函數(shù) set() 創(chuàng)建集合

5.1 創(chuàng)建列表

>>> x = list()
>>> x
[]
  • 創(chuàng)建一個(gè)空的列表
>>> iterable = ('a', 'b', 'c')
>>> x = list(iterable)
>>> x
['a', 'b', 'c']
  • 創(chuàng)建一個(gè)可迭代對(duì)象 iterable,iterable 是一個(gè)包含 3 個(gè)元素的元組
  • 通過(guò) list(iterable) 將可迭代對(duì)象 iterable 轉(zhuǎn)換為 list

5.2 創(chuàng)建元組

>>> x = tuple()
>>> x
()
  • 創(chuàng)建一個(gè)空的元組
>>> iterable = ['a', 'b', 'c']
>>> x = tuple(iterable)
>>> x
('a', 'b', 'c')
  • 創(chuàng)建一個(gè)可迭代對(duì)象 iterable,iterable 是一個(gè)包含 3 個(gè)元素的列表
  • 通過(guò) tuple(iterable) 將可迭代對(duì)象 iterable 轉(zhuǎn)換為 tuple

5.3 創(chuàng)建字典

>>> dict()
{}
  • 創(chuàng)建一個(gè)空的字典
>>> dict(a='A', b='B', c='C')
{'a': 'A', 'b': 'B', 'c': 'C'}
  • 通過(guò)命名參數(shù)創(chuàng)建包含 3 個(gè)鍵值對(duì)的字典
>>> pairs = [('a', 'A'), ('b', 'B'), ('c', 'C')]
>>> dict(pairs)
{'a': 'A', 'b': 'B', 'c': 'C'}
>>>
  • 定義列表 pairs
    • 由 3 個(gè)元組構(gòu)成
    • 每個(gè)元組包含兩項(xiàng):鍵和值
  • 列表 pairs 包含了 3 個(gè)鍵值對(duì)
  • 創(chuàng)建一個(gè)包含 3 個(gè)鍵值對(duì)的字典

5.4 創(chuàng)建集合

>>> x = set()
>>> x
{}
  • 創(chuàng)建一個(gè)空的集合
>>> iterable = ('a', 'b', 'c')
>>> x = list(iterable)
>>> x
{'a', 'b', 'c'}
  • 創(chuàng)建一個(gè)可迭代對(duì)象 iterable,iterable 是一個(gè)包含 3 個(gè)元素的元組
  • 通過(guò) set(iterable) 將可迭代對(duì)象 iterable 轉(zhuǎn)換為 set

6. 對(duì)序列的操作

6.1 計(jì)算序列的長(zhǎng)度

>>> len([1, 2, 3])
3
>>> len((1, 2, 3))
3
>>> len({1, 2, 3})
  • 計(jì)算列表 [1, 2, 3] 的長(zhǎng)度,即列表中元素的數(shù)量
  • 計(jì)算元組 (1, 2, 3) 的長(zhǎng)度,即元組中元素的數(shù)量
  • 計(jì)算集合 {1, 2, 3} 中元素的數(shù)量

6.2 對(duì)序列排序

>>> sorted([3, 1, 2])
[1, 2, 3]
>>> sorted([3, 1, 2], reverse=True)
[3, 2, 1]
  • 在第 1 行,返回按遞增排序的隊(duì)列
  • 在第 3 行,指定命名參數(shù) reverse = True,返回遞減增排序的隊(duì)列

6.3 對(duì)序列倒置

reversed(seq) 函數(shù)返回一個(gè)倒置的迭代器,參數(shù) seq 是一個(gè)序列可以是 tuple 或者 list。

>>> t = ('www', 'imooc', 'com')
>>> tuple(reversed(t))
('com', 'imooc', 'www')
>>> l = ['www', 'imooc', 'com']
>>> list(reversed(t))
['com', 'imooc', 'www']
  • 對(duì)元組中元素倒置
    • t 是一個(gè)元組
    • reversed(t) 返回一個(gè)倒置的迭代器
    • tuple(reversed(t)) 將迭代器轉(zhuǎn)換為元組
  • 對(duì)列表中元素倒置
    • l 是一個(gè)元組
    • reversed(l) 返回一個(gè)倒置的迭代器
    • list(reversed(l)) 將迭代器轉(zhuǎn)換為列表

7. 面向?qū)ο笙嚓P(guān)

Python 提供了如下內(nèi)置函數(shù)用于判斷類型:

函數(shù) 功能
isinstance(object, type) 判斷 object 是否是類型 type 的實(shí)例
issubclass(a, b) 判斷類型 a 是否是類型 b 的子類型

創(chuàng)建父類 Animal,繼承于類 Animal 的兩個(gè)子類 Human 和 Dog,代碼如下:

class Animal:
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Human(Animal):
    def __init__(self, name, age):
        pass

class Dog(Animal):
    def __init__(self, name, age):
        pass

tom = Human('tom', 30)         
  • 創(chuàng)建父類 Animal
  • 創(chuàng)建類 Human,繼承于類 Animal,類 Human 是類 Animal 的子類
  • 創(chuàng)建類 Dog,繼承于類 Animal,類 Dog 是類 Animal 的子類
  • 用類 Human 創(chuàng)建一個(gè)實(shí)例變量 tom
print('isinstance(tom, Animal) =', isinstance(tom, Animal))
print('isinstance(tom, Human) =', isinstance(tom, Human))
print('isinstance(tom, Dog) =', isinstance(tom, Dog))

print('issubclass(Dog, Animal) = ', issubclass(Dog, Animal))
print('issubclass(Dog, Human) = ', issubclass(Dog, Human))

運(yùn)行程序,輸出結(jié)果如下:

isinstance(tom, Animal) = True
isinstance(tom, Human) = True
isinstance(tom, Dog) = False
issubclass(Dog, Animal) =  True
issubclass(Dog, Human) =  False
  • tom 是一個(gè) Animal
  • tom 是一個(gè) Human
  • tom 不是 Dog
  • Dog 是 Animal 的子類型
  • Dog 不是 Human 的子類型