python基礎知識總結(不斷更新。。。。)

來源:互聯網
上載者:User

標籤:python

可以簡便的方法:
(1)lambda x,y:x*y
(2)list1 = list(filter(lambda x:x%3 == 0,range(100)))
filter 第一個參數是過濾條件,第二個是要過濾的內容
傳回值是個Object,得轉換為其他類型
(3)map: list1 = map(lambda x:x**2,[1,2,3,4,5])
第一個是處理條件,第二個是序列
傳回值是Object
(4)[i for i in range(10) if i%2 ==0] 直接產生列表

1.縮排是python的靈魂
2.擷取變數類型,type(),isinstance(,)
3.s為字串

4.怎麼才能讓int四捨五入?
int(x+0.5)
5.python3支援中文變數名,但源碼是utf-8
6.python對象3個特性:身份,類型,值
7.python數字類型:int,long,float,boolean,complex(複數),序列類型:字典,元組,列表
8.典型python檔案結構:
(1)起始行 #/usr/bin/env/python
(2) 模組文檔 "this is a test module"
(3) 模組匯入 import os
(4) (全域)變數定義 debug = True
(5) 類定義(若有) class FooClass(Object):
pass
(6) 函數定義: def test():
(7) 主程式 if name = "main"
9.元組不可變,列表可變,字典可變
10.set函數,去除集合中重複元素,li = set(list2)
11.兩個集合求交集:list1 & list2,求並集:list1 | list2

  1. parent
    --_init.py
    --child
    -- _init.py
    --a.py
    目錄結構如上,如果要引用a檔案,可這樣
    import sys,os
    sys.path.append(os.getcwd()+"\parent\child")
    from a import func
    13.os.walk(path)
    14.p,f = os.path.split(spath) 分隔目錄和檔案名稱
    drv,left = os.path.splitdrive(spath) 分隔盤符和檔案名稱
    f,ext = os.path.splitext(spath) 分隔檔案和副檔名
    15.時間處理
    16.三目運算子:sm = x if x>y else y
    17.None表示空類型
    18.a=[1,2,3] b=[1,2,4] id(a[1]) == id(b[1]) True
    19.python是基於值的記憶體管理方式,不同變數的值 如果相等,則他們的記憶體位址id(變數名)也相等
    20.dict.get(key,error) 有則傳回值,無則返回提示
    21.列表:
    append(),intsert(1,‘two‘),extend(),sort(),reverse(),list[:],pop(),del li[0],copy(),clear()
  2. [i for i in range(10) if i>10]
    23.元組:x = 1, x = 1,2,3
    24.x = (1,2,3,4)
    2,3之間插入5
    x[:2] + (‘5‘,) + x[2:]
    25.python內建方法:
    divmod(10,2) 返回10對2的除法和餘數
    pow(x,y,z) x的y次方,如果z存在,則%z
    float,int,long,list,tuple,str,dict 轉換為其類型
    round四捨五入 sum求和
    isinstance(1,int) 前者是否屬於後者類型
    ‘I am {0} ,I like {1}‘.format(‘xy‘,‘d‘)
    enumerate,返回一個可枚舉的對象(tuple)
    set
    sorted 排序
    all(集合) 集合中所有的元素都為真才為真
    any(集合) 集合中有一個元素都為真才為真
    cmp(x,y) x<y 返回負數 x==y返回0 x>y返回正數
    next() 返回迭代對象中的下一個元素
    reversed(range(10)) 逆置對象
    sorted() 對對象進行排序,返回一個新的列表
    zip 返回元組型
    x = [1,2,3]
    y = [4,5,6,7]
    print(list(zip(x,y))) [(1, 4), (2, 5), (3, 6)]
    map: list1 = map(lambda x:x**2,[1,2,3,4,5])
    第一個是處理條件,第二個是序列
    傳回值是Object
    filter: list1 = list(filter(lambda x:x%3 == 0,range(100)))
    filter 第一個參數是過濾條件,第二個是要過濾的內容
    傳回值是個Object,得轉換為其他類型
    help() 返回對象的協助資訊
    input 讀取使用者輸入的資訊
    open 開啟檔案
    exec 執行動態語句塊 exec(‘a=1+2‘)

26.使用函數名doc可以查看函數文檔
27.閉包函數:
def fun1(x):
def fun2(y):
return xy
return fun2
28.字串處理:
capitalize() 首字母大寫
title 首字母小寫
replace(‘1‘,‘2‘) 替換
upper 全部大寫
lower 全部小寫
swapcase 大小寫互換
lstrip 去掉左空格 strip 左右 rstrip右空格
split
startswith 以。。開頭 endswith以。。結尾
s.isalnum() 所有字元都是數字或者字母,為真返回 Ture,否則返回 False。
s.isalpha() 所有字元都是字母,為真返回 Ture,否則返回 False。
s.isdigit() 所有字元都是數字,為真返回 Ture,否則返回 False。
s.islower() 所有字元都是小寫,為真返回 Ture,否則返回 False。
s.isupper() 所有字元都是大寫,為真返回 Ture,否則返回 False。
s.istitle() 所有單詞都是首字母大寫,為真返回 Ture,否則返回 False。
s.isspace() 所有字元都是空白字元,為真返回 Ture,否則返回 False。
replace
find(‘t‘) 有則返回位置,無則返回-1
count(‘t‘) 字串中數量
29.關鍵字:global 修改函數外的全域變數,nonlocal內建函式修改外部函數的局部變數
30.lambda函數:
g = lambda x,y:x
y
g(2,3) ---------6

31.字典:d = {k:v,k1:v1}
訪問:d[k],d.get(k)
修改:d[k] = ‘v2‘
刪除:del d[k] 刪除一個
d.clear() 清空所有
del dict 刪除字典
d.items() 返回(鍵,值)元組
d.key()
d.values()
d.pop(k) 刪除並傳回值
x = {}
x = x.fromkeys((1,2,3),‘a‘)

  1. set
    特點:無序,不能通過索引或執行切片操作
    frozenset() 不可修改的集合
    建立:
    a = {1,2,3}
    a = set(‘boy‘)
    a = set([‘a‘,‘b‘,‘c‘,‘d‘])
    比較:s = {1,2,3} b = {2,5}
    s.difference(b) //找到s中存在,b中不存在的集合,返回新值
    添加:s.add()
    刪除:discard s.discard(3) //刪除不存在的元素不會報錯
    remove s.remove(3) //刪除不存在的元素會報錯
    pop s.pop() //刪除最後一個元素並返回新值
    取交集: s = {1,2,3} b = {2,5}
    s.intersection(b) //取交集,賦給新值
    判斷: s = {1,2,3} b = {2,5}
    s.isdisjoint(b) //判斷是否不存在交集(有交集False,無交集True)
    s.issubset(b) //判斷s是否是b的子集合
    s.issuperset(b) //判斷s是否是b的父集合
    取並集:s = {1,2,3} b = {2,5}
    s.union(b) //取並集,並賦新值
    更新:s = {1,2,3} b = {2,5}
    s.update(b)
    print(s) {1,2,3,5}
    33.檔案處理:
    r 唯讀 r+讀寫 w可寫,存在則覆蓋 w+讀寫,存在則覆蓋 a追加,不存在則建立

    f.read() 讀取檔案全部內容為一個str
    f.readline() 讀取一行
    f.readlines() 讀取所有行,放到一個list中

    f.write() 只可寫字串
    f.writelines() 可寫序列

    當出現提示亂碼時:添加encoding=‘UTF-8‘
    open(‘‘, ‘w+‘, encoding=‘UTF-8‘)

  2. xlrd處理表格

    #開啟檔案
    workbook = xlrd.open_workbook(r‘F:\‘)
    #擷取所有sheet
    workbook.sheet_names() 返回一個列表
    #根據sheet索引或者名稱擷取sheet內容
    sheet2 = workbook.sheet_by_index(1)
    sheet2 = workbook.sheet_by_name(‘sheet2‘)
    #擷取sheet2的名稱,行數,列數
    sheet2.name,sheet2.nrows,sheet2.ncols
    #擷取整行和整列的值(數組)
    rows = sheet2.row_values(3) #第四行內容
    cols = sheet2.col_values(2) #第三列內容
    #擷取儲存格內容
    sheet2.cell_value(1,0).encode(‘utf-8‘)
    #擷取儲存格內容的資料類型
    sheet2.cell(1,0).ctype

    xlwt 寫檔案
    #建立活頁簿
    f = xlwt.Workbook(encoding=‘utf-8‘)
    #建立第一個sheet
    sheet1 = f.add_sheet(‘sheet1‘)
    #寫資料,對應 行 列 值
    sheet1.write(0,1,label = ‘this is the test‘)
    #儲存
    f.save(‘xx.xlsx‘)

  3. os模組
    樣本目錄:path = C:\Users\hwx518534\Desktop
    os.name nt/posix
    os.getcwd() 得到當前工作目錄
    os.curdir 目前的目錄
    os.listdir(path) 返回指定目錄下的所有檔案和目錄名 列表
    os.remove() 刪除一個檔案
    os.rename() 重新命名
    os.system() 執行系統命令
    os.mkdir()
    os.rmdir()
    os.exit() 終止當前進程
    os.chdir() 改變目前的目錄
    os.walk() 返回三元組 第一個是檔案夾地址 第二個是list,當前檔案夾下所有目錄名字(不包括子目錄)
    第三個返回的是list,返回的是該檔案夾下的所有檔案(不包括子目錄)

    os.path模組
    樣本目錄:path = C:\Users\hwx518534\Desktop\temp.py
    os.path.abspath(file) 當前檔案的絕對路徑
    os.path.dirname() 擷取當前檔案目錄 C:\Users\hwx518534\Desktop
    os.path.split() 返回一個路徑的目錄名和檔案名稱 (‘C:\Users\hwx518534\Desktop‘, ‘temp.py‘)
    os.path.isfile() os.path.isdir 檢測是否是檔案或目錄
    os.path.exists() 檢測路徑是否存在
    os.path.getsize() 獲得檔案大小(位元組),如果是目錄返回0L,
    os.path.splitext() 分離檔案名稱與副檔名
    os.path.join() 串連目錄與檔案名稱 傳回值為路徑
    os.path.basename() 返迴文件名

  4. _開頭變數含義

    _xx表示受保護變數,不能通過from x import x 匯入,可在對象和子類中訪問
    x表示系統定義的特殊變數
    __xx 私人成員,只有類對象自己可以訪問

  5. time模組
    time.time() 紀元開始的秒數
    time.ctime() Wed Jan 31 17:50:57 2018
    time.localtime() time.struct_time(tm_year=2018, tm_mon=1, tm_mday=31, tm_hour=9, tm_min=51, tm_sec=54, tm_wday=2, tm_yday=31, tm_isdst=0)
    s = time.gmtime() s.tm_year ---2018
    time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
    2018-01-31 18:06:25
    38.shutil模組 --- 進階的檔案,檔案夾,壓縮包處理模組
    shutil.copyfileobj(open(‘xx.py‘,‘r‘),open(‘x.txt‘,‘w‘)) -- 拷貝檔案內容到另一個檔案
    shutil.copyfile(‘xx.py‘,‘x1.py‘) --拷貝檔案到另一個檔案
    shutil.copystat(src,dst) --僅拷貝狀態資訊
    shutil.copy(src,dst) --拷貝檔案和狀態
    shutil.copytree(‘folder1‘,‘folder2‘) --遞迴拷貝檔案夾
    shutil.rmtree(‘f1‘) --遞迴刪除檔案(夾)
    shutil.move(src,dst) --重新命名

python基礎知識總結(不斷更新。。。。)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.