Python全棧工程師(Python3 全部基礎內容 0-0)

 

ParisGabriel
 
 
         天天堅持手寫  一天一篇  決定堅持幾年 爲了夢想爲了信仰
 
   開局一張圖
 
 

Python一個月的基礎語法 基本就到這咯    接下來是數據庫了python

東西太多了  簡單的整理一下linux

大多數是關鍵字 部分單詞  沒有分類整理  按照順序整理的git

 

 

statements         語句
print             輸出
quit()            退出
exit()            退出
ctrl + d            (輸入文件結束符)結束輸入並退出
int              整型數
float              浮點型數
complex             複數
bool              布爾
True               真
False                假
str                字符串
list             列表
None              空值
expression          表達式
del                刪除
help()            幫助
is               是
not is            不是
id( )                  查詢內存地址
-5~256                                   小整數池
refrence count           引用計數
abs                 取絕對值
round               vc 四捨五入
pow                冪運算
input              輸入  
sep                    兩值之間分隔符
end               結束(內容)
if                若是
elif              不然若是
else               不然
pass             過
not              布爾 非
and               布爾 與
or              布爾 或
man ascii            終端查詢命令
ascii              編碼表
Unicode               統一編碼表
Unicode16           16位
Unicode32            32位
len(x)              返回個數
raw              原始字符串(r"hello")
in                是否出現過
not in                沒有出現
index             索引([ ])
slice              切片([ : : ])
bin( )                整數轉二進制
oct( )                整數轉八進制
hex( )               整數轉十六進制
max( )                求最大值
min( )                最小值
ord( )                  字符對應(轉)數字
chr( )                 數字對應(轉)字符
while              循環
for                循環(遍歷)
break              跳出循環
list                列表
tuple              元組
dict               字典
range               整數序列生成器
step                步長
continue              跳過循環
iterable               可迭代對象
sum( )               求和
any( )               一個爲真則爲真
all( )              全部真爲真
s.split(sep)            sep:分隔符(分隔字符串返回列表)
'#'.join( )            [1, 2, 3] 返回 「1#2#3」
copy(shallow copy)      潛拷貝
deepcopy                 深拷貝
reversed                  順序翻轉
sorted()               排序序列
key                 鍵
value              值
set              集合
frozenset                 固定集合
byte                            字節(0~255)
bytes()                 字節串
bytearray()          字節數組
def(function)         函數
return              返回
args              參數
args=None              缺省參數
*args              元組傳參
**kwargs            字典傳參
local variable          局部變量
global variable           全局變量
globals( )            返回全局變量字典
locals( )            返回局部變量字典
Local(function)              L           局部(做用域)
Enclosing function locals         E           外部嵌套
Global(module)           G          全局(模塊)
Builtin(Python)            B          內建
global               聲明全局變量
nonlocal               聲明外部嵌套
lambda            匿名函數(表達式)
eval( )              字符串當表達式執行
exec( )             字符串當程序執行
High Order Function      高階函數
map()           (函數, iterable)
filter()            (函數, iterable)
sorted()          (iterable, key=函數, reverse=False)
recursion            遞歸
closure              閉包
Module             模塊
builtins             內建模塊
import Module        導入模塊
from Module import *       導入模塊內屬性
dir()                 返回全部屬性列表
math               數學模塊(內建)
time              時間模塊 (內建)
random            隨機模塊
sys 系統          模塊(內建)
@ Function               裝飾器函數
pip3 installtensorflow      模塊安裝
sys.path                路徑列表
__doc__               文檔字符串
__file__            路徑名
__name__            模塊自身名
__all__              可導出屬的列表
package             
_name                  隱藏屬性name
__init__.py            聲明包文件
try-except             接受處理異常
try-finally             執行必要語句
try               異常
as               更名
except              截取異常類型
else              正常結束
finally              強制執行
raise             發送錯誤
assert             限制條件發送錯
Iterator                 迭代器
iter()            可迭代對象生成迭代器
next()             迭代器內順序取值
Generator          生成器
yield              函數內表達式(生成器函數)
(x for x in range() if )    生成器表達式
zip( )              兩個或以上可迭代生成元組
enumerate( )          生成帶索引對象 可定義開始下標
File                文件
open()             打開文件
File.close( )          關閉文件
gb2312            6763漢字
gbk                國標21003漢字
gb18030             27533漢字
UTF-8            Unicode
ASCII            256字符
Ojbect-Oriented Programing 面向對象
  封裝
  多態
  繼承
  多繼承 
class                 類
method             實例
attribute            實例屬性(變量)
__init__()           初始化方法
__del__()            析構方法
__dict__             自身變量的字典
__class__               實例的類
type(obj)            返回類型
isinstance()          判斷是否爲某個類
self               類方法必有的參數(本身)
object               對象(類)
instance            實例
@classmethod         裝飾爲類的方法
@staticmethod         靜態方法(類內普通函數)
inheritance              繼承(單繼承)
multiple inheritance       多繼承
derived             派生
base class            基類
super class              超類
father class              父類
derived class                派生類
child class            子類
override            覆蓋
super()                調用父類覆蓋方法
enclosure               封裝
__name             私有屬性name
polymorphic          多態(靜態/動態)
__mro__            類的方法查找順序列表
repr(obj)            返回表達式字符串
str(obj)            返回字符串
內建函數重寫
__repr__           對象裝字符串(表達式字符串
__str__             函數重寫(字符串
__abs__            絕對值
__len__            序列長度   必須返回整數
__reversed__             排序 必須返回可迭代對象
__round__                  四捨五入 函數
數值轉換函數重寫
__complex__           複數 函數
__int__                整數 函數
__float__                  浮點數 函數
__bool__             布爾 函數(特殊
__next__             迭代器數據庫

getattr(obj, "name"[default])        返回name 屬性 (name爲字符串)
hasattr(obj, "name")             判斷有沒有name屬性
setattr(obj, "name", value)           name賦值爲value
delattr(obj, "name")                 刪除name屬性
with                異常發時自動管理 環境管理器 
__enter__          with開始自動調用
__exit__             with調用 判斷是否異常
__exit__(self, exc_type, exc_val, exc_tb)
exc_type           錯誤類型
exc_val             錯誤值
exc_tb               追蹤express


運算符重載數組

方法名              運算符和表達式      說明
__add__(self, rhs)          self + rhs          加法
__sub__(self, rhs)             self - rhs        減法
__mul__(self, rhs)            self * rhs         乘法
__truediv__(self, rhs)         self / rhs         除法
__floordiv__(self, rhs)        self // rhs        地板除
__mod__(self, rhs)              self % rhs            取模(求餘)
__pow__(self, rhs)             self ** rhs         冪緩存

rhs(right hand side) 右手邊閉包

反向算術運算符重載
方法名                運算符和表達式       說明
__radd__(self, lhs)           lhs + self        加法
__rsub__(self, lhs)           lhs - self         減法
__rmul__(self, lhs)           lhs * self         乘法
__rtruediv__(self,          lhs) lhs / self        除法
__rfloordiv__(self, lhs)         lhs // self         地板除
__rmod__(self, lhs)          lhs % self       取模(求餘)
__rpow__(self, lhs)          lhs ** self        冪app

lhs(left hand side) 右手邊dom


複合賦值算術運算符重載
方法名               運算符和表達式        說明
__iadd__(self, lhs)           lhs += self        加法
__isub__(self, lhs)           lhs -= self         減法
__imul__(self, lhs)           lhs *= self         乘法
__itruediv__(self, lhs)          lhs /= self              除法
__ifloordiv__(self, lhs)         lhs //= self             地板除
__imod__(self, lhs)            lhs %= self        取模(求餘)
__ipow__(self, lhs)         lhs **= self        冪

優先調用x.__iadd__(y)沒有時  (id 不變)
調用x = x.__add__(y)再不沒有
TypeError異常

複合賦值算術運算符重載
方法名              運算符和表達式       說明
__lt__(self, rhs)             self < rhs          小於
__le__(self, rhs)            self <= rhs        小於等於
__gt__(self, rhs)           self > rhs        大於
__ge__(self, rhs)          self >= rhs         大於等於
__eq__(self, rhs)          self == rhs         等於
__ne__(self, rhs)          self != rhs          不等於

位運算符重載
方法名            運算符和表達式          說明
__invert__(self)         ~ self                取反(一元運算符)
__and__(self, rhs)          self & rhs            位與
__or__(self, rhs)             self | rhs           位或
__xor__(self, rhs)           self ^ rhs         位異或
__lshift__(self, rhs)        self << rhs          左移
__rshift__(self, rhs)       self >> rhs           右移

反向位運算符重載
方法名              運算符和表達式        說明
__rand__(self, lhs)         lhs & self          位與
__ror__(self, lhs)        lhs | self            位或
__rxor__(self, lhs)         lhs ^ self           位異或
__rlshift__(self, lhs)         lhs << self             左移
__rrshift__(self, lhs)          lhs >> self            右移

複合賦值位運算符重載
方法名                運算符和表達式       說明
__iand__(self, rhs)        self &= rhs        位與
__ior__(self, rhs)           self |= rhs          位或
__ixor__(self, rhs)        self ^= rhs         位異或
__ilshift__(self, rhs)        self <<= rhs          左移
__irshift__(self, rhs)       self >>= rhs        右移

一元運算符重載
方法名            運算符和表達式        說明
__invert__(self)            ~ self                  取反(一元運算符)
__pos__(self)          + self             正號
__neg__(self)               - self               負號

in / not in 運算符重載
__contains__

索引和切片運算符的重載
  方法名            運算符和表達式      說明
__getitem__(self, i)         x = self[i]        索引/切片取值
__setitem__(self, i, val)       self[i] = val     索引/切片賦值
__delitem__(self, i)        del self[i]         刪除索引/切片
slice(start=None, stop=None, step=None)等同於[ : :] 切片


字符串       (str)         是不可變序列           「」
列表         [list]         是可變的序列            [ ]                (索引、切片、索引切片賦值)
元組           (tuple)      是不可變的序列           ( )               (索引、切片 不可變 不能賦值)
字典        {dict}        是可變無序的容器          { }            (鍵索引,鍵賦值 沒有建立 有則修改)
集合           {set}           是可變的容器            { }           (元素沒法重複、索引切片)
固定集合      {frozenset}      不可變  無序 惟一元素的集合       { }          (索引切片)
字節串       「bytes」      是不可變的字節序列         「 」              (索引切片)
字節數組        (bytearray)     是 可變的字節序列         ()                (索引 切片 賦值)

推導式:
L= [表達式 for 變量 in 可迭代對象 if 真值表達式]
D = {鍵表達式 : 值表達式 for 變量 in 可迭代對象 if 真值表達式}
S = {表達式 for 變量 in 可迭代對象 [if 真值表達式]}

匿名函數表達式:
lambda x, y: x + y
生成器表達式
(表達式 for 變量 in 可迭代對象 [if 真值表達式 ])


運算符:
+          加
-          減
*          乘
/          除
**          冪
//         地板除
%        取餘
is          是
is not       不是
ni        在 
not in       不在
=        賦值
>        大於
>=        大於等於
<        小於
<=       小於等於
==        等於
!=        不等於
&        交集(集合)
|        並集
-        補集
^        對稱補集
>        超集
<        子集
==        等
!=        不等

 

轉義符:
\'            單引號(')
\"            雙引號(")
\\            一個反斜槓
\n            換行
\r            返回光標至行首
\t            水平製表符
\v            垂直製表符
\f            換頁
\b            倒退
\0             空字符,字符值爲零
\xXX             XX爲兩位十六進制表示的字符
\uXXXX            XXXX爲四個十六進制表示的Unicode16字符
\UXXXXXXXX        8個十六進制表示的Unicode32字符

格式化字符串中的佔位符和類型碼:
%s          字符串,使用str(obj)轉爲字符串
%r          字符串,使用repr(obj) 轉爲字符串
%c          整數轉爲字符串,使用chr(i) 函數
%d          十進制整數
%o          八進制整數
%x          十六進制整數(字符a-f小寫)
%X          十六進制整數(字符A-F大寫)
%e          指數型浮點數(e小寫) 如 2.9e+10
%E          指數型浮點數(E大寫) 如 2.9E+10
%f,%F        浮點十進制形式
%g,%G        進制進形式浮點或指數浮點自動轉換
%%          等同於一個%字符

佔位符和類型碼之間的格式語法:
% [- + 0 寬度.精度] 類型碼
-        左對齊(默認是右對齊)
+      顯示正號
0      左側空白位置補零
寬度: 整個數據輸出的寬度
精度: 保留小數點後多少位,默認6位
示例:
"%10d" % 123         # ' 123'
"%+10d" % 123      # ' +123'
"%-10d" % 123       # '123 '
"%10s" % "ABC"         # ' ABC'
"%05d" % 123       # '00123'
"%f" % 3.1416926535897932           # '3.141593'
"%7.2f" % 3.1416926535897932      # ' 3.14'

 

 

 

Python3 中經常使用字符串方法(method)

字符串的方法調用語法:

對象.方法名(方法傳參)

字符串的屬性讀用法示例:

"abc".isalpha()  # 語法是對的
123.isalpha()    # 語法是錯的

以下假設字符串變量名爲S

經常使用字符串方法

方法 說明
S.isdigit() 判斷字符串中的字符是否全爲數字
S.isalpha() 判斷字符串是否全爲英文字母
S.islower() 判斷字符串全部字符是否全爲小寫英文字母
S.isupper() 判斷字符串全部字符是否全爲大寫英文字母
S.isspace() 判斷字符串是否全爲空白字符
S.center(width[,fill]) 將原字符串居中,左右默認填充空格 width:所居中字符串的長度 fill:默認填充空格
S.count(sub[, start[,end]]) 獲取一個字符串中子串的個數 sub:所要獲取的字符串 start:起始位置 end:結束位置
S.find(sub[, start[,end]]) 獲取字符串中子串sub的索引,失敗返回-1 start:起始位置 end:結束位置
S.strip() 返回去掉左右空白字符的字符串
S.lstrip() 返回去掉左側空白字符的字符串
S.rstrip() 返回去掉右側空白字符的字符串
S.upper() 生成將英文轉換爲大寫的字符串
S.lower() 生成將英文轉換爲小寫的字符串
S.replace(old, new[, count]) 將原字符串的old用new代替,生成一個新的字符串 count:更換的次數
S.startswith(prefix[, start[, end]]) 返回S是不是以prefix開頭,若是以prefix開頭返回True,不然返回False,
S.endswith(suffix[, start[, end]]) 返回S是不是以suffix結尾,若是以suffix結尾返回True,不然返回False
如下是不經常使用的  
S.title() 生成每一個英文單詞的首字母大寫字符串
S.isnumeric() 判斷字符串是否全爲數字字符

 

 

Python3中經常使用的列表方法(method)

  • 見:help(list)
方法 意義
L.index(v [, begin[, end]]) 返回對應元素的索引下標, begin爲開始索引,end爲結束索引,當 value 不存在時觸發ValueError錯誤
L.insert(index, obj) 將某個元素插放到列表中指定的位置
L.count(x) 返回列表中元素的個數
L.remove(x) 從列表中刪除第一次出如今列表中的值
L.copy() 複製此列表(只複製一層,不會複製深層對象)
L.append(x) 向列表中追加單個元素
L.extend(lst) 向列表追加另外一個列表
L.clear() 清空列表,等同於 L[:] = []
L.sort(reverse=False) 將列表中的元素進行排序,默認順序按值的小到大的順序排列
L.reverse() 列表的反轉,用來改變原列表的前後順序
L.pop([index]) 刪除索引對應的元素,若是不加索引,默認刪除最後元素,同時返回刪除元素的引用關係

 

 

 

字典的方法

函數 說明
D表明字典對象  
D.clear() 清空字典
D.pop(key) 移除鍵,同時返回此鍵所對應的值
D.copy() 返回字典D的副本,只複製一層(淺拷貝)
D.update(D2) 將字典 D2 合併到D中,若是鍵相同,則此鍵的值取D2的值做爲新值
D.get(key, default) 返回鍵key所對應的值,若是沒有此鍵,則返回default
   
D.keys() 返回可迭代的 dict_keys 集合對象
D.values() 返回可迭代的 dict_values 值對象
D.items() 返回可迭代的 dict_items 對象

 

 

Python3 集合的方法
方法 意義
S.add(e) 在集合中添加一個新的元素e;若是元素已經存在,則不添加
S.remove(e) 從集合中刪除一個元素,若是元素不存在於集合中,則會產生一個KeyError錯誤
S.discard(e) 從集合S中移除一個元素e,在元素e不存在時什麼都不作;
S.clear() 清空集合內的全部元素
S.copy() 將集合進行一次淺拷貝
S.pop() 從集合S中刪除一個隨機元素;若是此集合爲空,則引起KeyError異常
S.update(s2) 用 S與s2獲得的全集更新變量S
   
S.difference(s2) 用S - s2 運算,返回存在於在S中,但不在s2中的全部元素的集合
S.difference_update(s2) 等同於 S = S - s2
S.intersection(s2) 等同於 S & s2
S.intersection_update(s2) 等同於S = S & s2
S.isdisjoint(s2) 若是S與s2交集爲空返回True,非空則返回False
S.issubset(s2) 若是S與s2交集爲非空返回True,空則返回False
S.issuperset(...) 若是S爲s2的子集返回True,不然返回False
S.symmetric_difference(s2) 返回對稱補集,等同於 S ^ s2
S.symmetric_difference_update(s2) 用 S 與 s2 的對稱補集更新 S
S.union(s2) 生成 S 與 s2的全集

 

 

Python運算符優先級

運算符 描述
   
(), [], {key: value}, {} 元組表達式、列表表達式、字典表達式、集合表達式
x[index], x[index:index],
x(arguments...), x.attribute
索引,切片,
函數調用,屬性引用
   
** 指數 (最高優先級)
~, +, - 按位翻轉, 正號,負號
*, /, %, // 乘,除,取模和地板除
+, - 加法, 減法
>>, << 右移, 左移運算符
& 位與(AND)
^ 位異或(XOR)
| 位或(OR)
<=, <, >, >=, ==, !=,
is, is not, in, not in
比較,身份測試,成員資格測試
not 布爾非
and 布爾與
or 布爾或
if - else 條件表達式
lambda lambda表達式

 

文件

mode 模式字符的含義

字符 含義
'r' 以只讀方式打開(默認)
'w' 以只寫方式打開,刪除原有文件內容(若是文件不存在,則建立該文件並以只寫方式打開)
'x' 建立一個新文件, 並以寫模式打開這個文件,若是文件存在則會產生"FileExistsError"錯誤
'a' 以只寫文件打開一個文件,若是有原文件則追加到文件末尾
'b' 用二進制模式打開
't' 文本文件模式打開 (默認)
'+' 爲更新內容打開一個磁盤文件 (可讀可寫)
  • 缺省模式是 'rt'
  • 'w+b' 能夠實現二進制隨機讀寫,當打開文件時,文件內容將被清零
  • 'r+b' 以二進制讀和更新模式打開文件,打開文件時不會清空文件內容
  • 'r+' 以文本模式讀和更新模式打開文件,打開文件時不會清空文件內容

python 文件經常使用方法:

方法 說明
F.close() 關閉文件(關閉後文件不能再讀寫會發生ValueError錯誤)
F.readline() 讀取一行數據, 若是到達文件尾則返回空行
F.readlines(max_chars=-1) 返回每行字符串的列表,max_chars爲最大字符(或字節)數
F.writelines(lines) 將字符串的列表或字符串的列表中的內容寫入文件
二進制文件操做方法  
F.read(size=-1) 從一個文件流中最多讀取size個字符(文本文件)或字節(二進制文件),若是不給出參數,則默認讀取文件中所有的內容並返回
F.write(text) 寫一個字符串到文件流中,返回寫入的字符數(文本文件)或字節數(二進制文件)
F.tell() 返回當前文件流讀寫指針的絕對位置(字節爲單位)
F.seek(offset, whence=0) 改變數據流讀寫指針的位置,返回新的絕對位置
F.flush() 把寫入文件對象的緩存內容寫入到磁盤
   
F.readable() 判斷這個文件是否可讀,可讀返回True,不然返回False
F.writable() 判斷這個文件是否可寫,可寫返回True,不然返回False
F.seekable() 返回這個文件對象是否支持隨機定位
F.truncate(pos = None) 剪掉 自pos位置以後的數據,返回新的文件長度

 

時間模塊 time

  • 此模塊提供了時間相關的函數,且一直可用

時間簡介

  • 公元紀年是從公元 0000年1月1日0時開始的

  • 計算機元年是從1970年1月1日0時開始的,此時時間爲0,以後每過一秒時間+1

  • UTC 時間 (Coordinated Universal Time) 是從Greenwich時間開始計算的.
    UTC 時間不會因時區問題而產生錯誤

  • DST 陽光節約時間(Daylight Saving Time),又稱夏令時, 是一個通過日照時間修正後的時間

時間元組

  • 時間元組是一個9個整型元素組成的,這九個元素自前至後依次爲:
    • 四位的年(如: 1993)
    • 月 (1-12)
    • 日 (1-31)
    • 時 (0-23)
    • 分 (0-59)
    • 秒 (0-59)
    • 星期幾 (0-6, 週一是 0)
    • 元旦開始日 (1-366)
    • 夏令時修正時間 (-1, 0 or 1).
  • 注:
    • 若是年份值小於100,則會自動轉換爲加上1900後的值

模塊名: time

時間模塊用法:

import time
# 或
from time import xxx
# 或
from time import *
變量 描述
time.altzone 夏令時時間與UTC時間差(秒爲單位)
time.daylight 夏令時校訂時間
time.timezone 本地區時間與UTC時間差(秒爲單位)
time.tzname 時區名字的元組, 第一個名字爲未經夏令時修正的時區名,
第一個名字爲經夏令時修正後的時區名

注: CST爲中國標準時間(China Standard Time UTC+8:00)

函數名 描述
time.time() 返回從計算機元年至當前時間的秒數的浮點數(UTC時間爲準)
time.sleep(secs) 讓程序按給定秒數的浮點數睡眠一段時間
time.gmtime([secs]) 用給定秒數轉換爲用UTC表達的時間元組
(缺省返回當前時間元組)
time.asctime([tuple]) 將時間元組轉換爲日期時間字符串
time.mktime(tuple) 將本地日期時間元組轉換爲新紀元秒數時間(UTC爲準)
time.localtime([secs]) 將UTC秒數時間轉換爲日期元組(以本地時間爲準)

 

 

數學模塊 math

  • 模塊名: math
  • 注:
    • linux下爲內建模塊
    • Mac OS下爲標準庫模塊

數學模塊用法:

import math
# 或
from math import *
變量 描述
math.e 天然對數的底e
math.pi 圓周率pi
函數名 描述
math.ceil(x) 對x向上取整,好比x=1.2,返回2
math.floor(x) 對x向下取整,好比x=1.2,返回1
math.sqrt(x) 返回x的平方根
math.factorial(x) 求x的階乘
math.log(x[, base]) 返回以base爲底x的對數, 若是不給出base,則以天然對數e爲底
math.log10(x) 求以10爲底x的對數
math.pow(x, y) 返回 x**y (x的y次方)
math.fabs(x) 返回浮點數x的絕對值
角度和弧度degrees互換  
math.degree(x) 將弧度x轉換爲角度
math.radians(x) 將角度x轉換爲弧度
三角函數  
math.sin(x) 返回x的正弦(x爲弧度)
math.cos(x) 返回x的餘弦(x爲弧度)
math.tan(x) 返回x的正切(x爲弧度)
math.asin(x) 返回x的反正弦(返回值爲爲弧度)
math.acos(x) 返回x的反餘弦(返回值爲爲弧度)
math.atan(x) 返回x的反正切(返回值爲爲弧度)

 

 

 

隨機模塊 random

說明:

random模塊是用於模擬或生成隨機輸出的模塊.

import random as R

函數名 描述
R.random() 返回一個[0, 1) 之間的隨機實數
R.uniform(a,b) 返回[a,b) 區間內的隨機實數
R.randrange([start,] stop[, step]) 返回range(start,stop,step)中的隨機數
R.choice(seq) 從序列中返回隨意元素
R.shuffle(seq[, random]) 隨機指定序列的順序(亂序序列)
R.sample(seq,n) 從序列中選擇n個隨機且不重複的元素

 

 

系統模塊 sys

  • 運行時系統相關的信息

sys模塊的屬性

屬性 描述
sys.path 模塊搜索路徑 path[0] 是當前腳本程序的路徑名,不然爲 ''
sys.modules 已加載模塊的字典
sys.version 版本信息字符串
sys.version_info 版本信息的命名元組
sys.platform 操做系統平臺名稱信息
sys.argv 命令行參數 argv[0] 表明當前腳本程序路徑名
sys.copyright 得到Python版權相關的信息
sys.builtin_module_names 得到Python內建模塊的名稱(字符串元組)

sys模塊的函數

函數名 描述
sys.exit([arg]) 退出程序,正常退出時sys.exit(0)
sys.getrecursionlimit() 獲得遞歸嵌套層次限制(棧的深度)
sys.setrecursionlimit(n) 獲得和修改遞歸嵌套層次限制(棧的深度)

 

 

 

                  內建函數

 

 

數值對象的構造(建立)函數

函數 說明
float(obj) 用字符串或數字轉換爲浮點數, 若是不給出參數,則返回0.0
int(x, base=10)
int(x=0)
用數字或字符串轉換爲整數,若是不給出參數,則返回0
complex(r=0.0, i=0.0) 用數字建立一個複數(實部爲r,虛部爲i)
bool(x) 用x建立一個布爾值(True/False)

預置(內建)的數值型函數

函數 說明
abs(x) 取x的絕對值
round(number[, ndigits]) 對數值進行四捨五入, ndigits是小數向右取整的位數, 負數表示向左取整
pow(x, y, z=None) 至關於x ** y 或 x**y % z

help() 查看函數幫助:

help函數
>>> help(abs)  # 查看abs函數的幫助

基本輸入輸出

基本輸入 input

函數 說明
input('提示字符串') 返回輸入的字符串(僅Python3,'提示字符串' 能夠是空)

基本輸出函數 print

函數 說明
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) 將一系列的值以字符串形式輸出到
標準輸出設備上,默認爲終端.

參數選項

選項的關鍵字參數爲:
sep:   兩個值之間的分隔符,默認爲一個空格' '
end:   輸出完畢後在流末尾自動追加一個字符串,默認爲換行符'\n'
file:  流對象,默認爲sys.stdout.
flush: 是否當即將流進行輸出

字符串編碼轉換函數

函數 說明
ord(c) 返回一個字符的Unicode值
chr(i) 返回i這個值所對應的 字符

整數轉換爲字符串函數

函數 說明
hex(i) 將整數轉換爲十六進制字符串
oct(i) 將整數轉換爲八進制字符串
bin(i) 將整數轉換爲二進制字符串

字符串構造函數

"123" + 1  # 不合法
函數 說明
str(obj='') 將對象轉換爲字符串

range()函數

格式:

(見:help(range))

函數 意義
range(stop) 從零開始,每次生成一個整數後加1操做,直到stop爲止(不包含stop)
range(start,stop[,step]) 從start開始,每次生成一個整數後移動step,直到stop爲止(不包含stop,且step能夠是負整數)

                            列表的構造(建立)函數list

函數 說明
list() # 生成一個空的列表 等同於 []
list(iterable) # 用可迭代對象建立一個列表

                            Python3中經常使用的序列函數

函數 說明
len(seq) 返回序列的長度
max(x) 返回序列的最大值的元素
min(x) 返回序列的最小值的元素
------以上是之前學的---------  
sum(x) 返回序列中全部元素的和(元素必須是數值類型)
any(x) 真值測試,若是列表中其中一個值爲真值則返回True
all(x) 真值測試,若是列表中全部值爲真值則返回True
   
   
reversed(seq) 返回原序列反向順序的可迭代對象
sorted(iterable, reverse=False) 返回已排序對象的
str(obj) 將對象obj序列化爲一個字符串
list(iterable) 用可迭代對象生成一個列表
tuple(iterable) 用可迭代對象生成一個元組

                            元組的構造(建立)函數tuple

函數 說明
tuple() 生成一個空的元組,等同於 ()
tuple(iterable) 用可迭代對象生成一個元組

                              序列相關函數總結

函數 說明
len(seq) 返回序列的長度
max(x) 返回序列的最大值的元素
min(x) 返回序列的最小值的元素
sum(x) 返回序列中全部元素的和
any(x) 真值測試,若是列表中其中一個值爲真值則返回True
all(x) 真值測試,若是列表中全部值爲真值則返回True
str(obj) 將對象obj序列化爲一個字符串
list(iterable) 用可迭代對象生成一個列表
tuple(iterable) 用可迭代對象生成一個元組
reversed(seq) 返回反向順序的可迭代對象
sorted(iterable, key=None, reverse=False) 返回已排序的列表

                                  dict的構造(建立)函數dict

函數 說明
dict() # 生成一個空的字典 等同於 {}
dict(iterable) 用可迭代對象初始化一個字典
dict(**kwargs) 關鍵字傳參形式生成一個字典

                          集合構造(建立)函數 set

函數 說明
set() 建立一個空的集合對象(不能用{}來建立空集合)
set(iterable) 用可迭代對象建立一個新的集合對象

                          固定集合構造(建立)函數 frozenset

函數 說明
frozenset() 建立一個空的固定集合對象
frozenset(iterable) 用可迭代對象建立一個新的固定集合對象

                    globals() / locals() 函數

函數 說明
globals() 返回當前全局做用域內變量的字典
locals() 返回當前局部做用域內變量的字典

                     eval(), exec() 函數

函數 說明
eval(source, globals=None, locals=None) 把一個字符串source當成一個表達式來執行,返回表達式執行後的結果
exec(source, globals=None, locals=None) 把一個字符串source當成程序來執行.

                  高階函數 High Order Function

函數 說明
map(func, *iterables) 用函數和對可迭代對象中的每個元素做爲參數計算出新的可迭代對象,
當最短的一個可迭代對象再也不提供數據時此可迭代對象生成結束
filter(function, iterable) 篩選可迭代對象iterable中的數據,返回一個可迭代器對象,此可迭代對象
將對iterable進行篩選.函數function 將對iterable中的每一個元素進行求值,
返回False則將此數據丟棄,返回True,則保留此數據
sorted(iterable, key=None, reverse=False) 將原可迭代對象的數據進行排序,生成排序後的列表iterable 可迭代對象
key 函數是用來提供一個值,這個值將做爲排序的依據reverse 標誌用來設
置是否降序排序

 

 

 

 

dir函數

函數 說明
dir([對象]) 返回一個字符串列表

dir函數做用

  • 若是沒有參數調用,則返回當前做用域內的全部變量的列表
  • 若是給定一個對象做爲參數,則返回這個對象的全部變量的列表
    • 對於一個模塊,返回這個模塊的所有變量
    • 對於一個類對象,返回類對象的全部變量,並遞歸的基類對象的全部變量
    • 對於其它對象返回全部變量、類變量和基類變量

                            迭代器函數iter和next

函數 說明
iter(iterable) 從可迭代對象中返回一個迭代器,iterable必須是能提供一個迭代器的對象
next(iterator) 從迭代器iterator中獲取一下個記錄,若是沒法獲取一下條記錄,則觸發 StopIteration 異常

迭代工具函數

  • 迭代工具函數的做用是生成一個個性化可迭代對象
函數 說明
zip(iter1 [,iter2 [...]]) 返回一個zip對象, 此對象用於生成一個元組,此元組的個數由最小的可迭代對象決定
enumerate(iterable[, start]) 生成帶索引的枚舉對象,返回的迭代類型爲索引-值對(index-value)對,默認索引從零開始,也能夠用start指定

                              字節串的構造函數bytes

函數 說明
bytes() # 生成一個空的字節串 等同於 b''
bytes(整型可迭代對象) # 用可迭代對象初始化一個字節串
bytes(整數n) 生成n個值爲0的字節串
bytes(字符串, encoding='utf-8') 用字符串的轉換編碼生成一個字節串

                            字節數組的生成函數 bytearray

函數 說明
bytearray() 建立空的字節數組
bytearray(整數) 用可迭代對象初始化一個字節數組
bytearray(整型可迭代對象) 生成n個值爲0的字節數組
bytearray(字符串, encoding='utf-8') 用字符串的轉換編碼生成一個字節數組

                              文件的打開函數

字符 含義
open(file, mode='rt') 用於打開一個文件,返回此文件流對象. 
若是打開文件失敗,則會觸發OSError 錯誤! 
若是要打開的文件不存在,則會觸發FileNotFoundError 錯誤!

                              用於類的函數

函數 說明
isinstance(obj, class_or_tuple) 返回這個對象obj 是不是 某個類的對象,或者某些類
中的一個類的對象,若是是返回True,不然返回False
type(obj) 返回對象的類型
   

                              super函數

函數 說明
super(cls, obj) 返回綁定超類的實例(要求obj必須爲cls類型的實例)
super() 返回綁定超類的實例,等同於:super(class, 實例方法的第一個參數),必須用在方法內調用

                               用於類的函數

函數 說明
issubclass(cls, class_or_tuple) 判斷一個類是否繼承自其它的類,若是此類cls是class 或 tuple中的一個派生子類則返回True,不然返回False
   

                                  對象的屬性管理函數

函數 說明
getattr(obj, name[, default]) 從一個對象獲得對象的屬性;getattr(x, 'y') 等同於x.y; 當屬性不存在時,若是給
出default參數,則返回default,若是沒有給出default 則產生一個AttributeError錯誤
hasattr(obj, name) 用給定的name返回對象obj是否有此屬性,此種作法能夠避免在getattr(obj, name)時引起錯誤
setattr(obj, name, value) 給對象obj的名爲name的屬性設置相應的值value, set(x, 'y', v) 等同於 x.y = v
delattr(obj, name) 刪除對象obj中的name屬性, delattr(x, 'y') 等同於 del x.y

 

 

                         Python所有的錯誤類型

 

錯誤類型 說明
如下內容必講  
ZeroDivisionError 除(或取模)零 (全部數據類型)
ValueError 傳入無效的參數
AssertionError 斷言語句失敗
StopIteration 迭代器沒有更多的值
IndexError 序列中沒有此索引(index)
IndentationError 縮進錯誤
OSError 輸入/輸出操做失敗
ImportError 導入模塊/對象失敗
NameError 未聲明/初始化對象 (沒有屬性)
AttributeError 對象沒有這個屬性
   
GeneratorExit 生成器(generator)發生異常來通知退出
TypeError 對類型無效的操做
KeyboardInterrupt 用戶中斷執行(一般是輸入^C)
OverflowError 數值運算超出最大限制
FloatingPointError 浮點計算錯誤
BaseException 全部異常的基類
SystemExit 解釋器請求退出
Exception 常規錯誤的基類
StandardError 全部的內建標準異常的基類
ArithmeticError 全部數值計算錯誤的基類
EOFError 沒有內建輸入,到達EOF 標記
EnvironmentError 操做系統錯誤的基類
WindowsError 系統調用失敗
LookupError 無效數據查詢的基類
KeyError 映射中沒有這個鍵
MemoryError 內存溢出錯誤(對於Python 解釋器不是致命的)
UnboundLocalError 訪問未初始化的本地變量
ReferenceError 弱引用(Weak reference)試圖訪問已經垃圾回收了的對象
RuntimeError 通常的運行時錯誤
NotImplementedError 還沒有實現的方法
SyntaxError Python 語法錯誤
TabError Tab 和空格混用
SystemError 通常的解釋器系統錯誤
UnicodeError Unicode 相關的錯誤
UnicodeDecodeError Unicode 解碼時的錯誤
UnicodeEncodeError Unicode 編碼時錯誤
UnicodeTranslateError Unicode 轉換時錯誤
如下爲警告類型  
Warning 警告的基類
DeprecationWarning 關於被棄用的特徵的警告
FutureWarning 關於構造未來語義會有改變的警告
OverflowWarning 舊的關於自動提高爲長整型(long)的警告
PendingDeprecationWarning 關於特性將會被廢棄的警告
RuntimeWarning 可疑的運行時行爲(runtime behavior)的警告
SyntaxWarning 可疑的語法的警告
UserWarning 用戶代碼生成的警告
詳見:help(builtins)
相關文章
相關標籤/搜索