Python語法資料彙總

2021-08-27 23:21:53 字數 2867 閱讀 7907

[size=large][color=blue]1、python2轉python3[/color][/size]

python2和python3語法互不相容!!!

還好python提供了工具!

要轉換乙個資料夾及其子資料夾中的檔案,只需要一句話:

cmd中輸入:

python  pythong安裝目錄/scripts/2to3-script.py -w  要轉的資料夾名稱

#例如python e:/anaconda3/scripts/2to3-script.py -w assignment1py3

#其中assignment1py3為資料夾!

其中 -w 表示轉換完了寫回到原檔案,,所以執行前最好是複製乙個副本出來

如果要轉的檔案不是以.py結尾的,,則需要乙個個檔案去敲**,比如

python  e:/anaconda3/scripts/2to3-script.py -w knn.ipynb

[size=large][color=blue]2、python入門資料[/color][/size]

cs231n的python介紹:[url]

numpy for matlab users:[url]

[size=large][color=blue]3、python檔案處理[/color][/size]

快取的大小可以在open時設定:

[url]

示例**如下:

def processfilelinebyline(filename,outfilename, linefunc, headlinefunc=none,encoding='utf-8'):

'''將filename中的每一行通過linefunc轉換後輸出到outfilename檔案中,

如果對首行有特殊的處理需求,可以設定headlinefunc

'''import codecs

f = codecs.open(filename, 'r', encoding);

fo = codecs.open(outfilename, 'w', encoding,buffering=1024*1024);

if(headlinefunc!=none):

fo.write(headlinefunc(f.readline()));

while true:

lines=f.readlines(2048);

if(not lines or len(lines)==0):

break;

for line in lines:

fo.write(linefunc(line));

f.close();

fo.close();

def changesplitchar2(filename,outfilename,encoding='utf-8',oldsplitchar='\t',newsplitchar=','):

def chchar(line):

return line.replace(oldsplitchar,newsplitchar);

processfilelinebyline(filename, outfilename, linefunc=chchar, encoding=encoding)

[size=large][color=blue]4、iterator & generator[/color][/size]

參見:[url]

generator 是 iterator 的簡化版(**量減少),本質完全相同。

generator以函式形式編寫,, **執行到 yield x 時輸出乙個x ,,相當於next(it);

注意: python3中採用 next(it) , 而非 it.next()的形式;

可以採用 list(it) 生成list

[size=large][color=blue]5、python 函式的default value是共享的[/color][/size]

[url]

[url]

[url]

[size=large][color=blue]6、列出所有變數[/color][/size]

參見[url]

[list]

[*]vars() 列出所有變數,為乙個dict, for varname, varvalue in vars().items()...

[*]dir() 列出所有變數名, 之後可以通過eval(variablename) 來獲取變數

[*]globals() 全域性變數

[*]locals() 區域性變數

[/list]

[size=large][color=blue]6、python2 的ascii』 codec can』t encode[/color][/size]

通過以下語句修改全域性設定,參見(內容很詳細):[url]

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

雖然那篇博文中不推薦這麼做,但我覺著這個方案沒什麼不好的,比較utf-8是相容ascii的,既然原本為ascii的編解碼器,那麼換為utf-8的編解碼器應該沒任何問題。

[size=large][color=blue]7、python命令列環境變數設定[/color][/size]

[list]

[*]pythonioencoding=utf-8 python ***.py #更改編碼

[*]export pythonpath=$pythonpath:newpath/subfolder #增加庫路徑

[/list]

Python基礎語法 數字

1.python使用兩個 代表乘方運算 2.空格不影響python計算表示式的方式。3.python將帶小數點的數字都稱為浮點數。即小數點可出現在數字的任何位置 4.在字串中使用整數時,需要顯式地指出你希望python將這個整數用作字串,可以呼叫str 他讓python將非字串值表示為字串 5.如果...

Java語法 陣列

含義 陣列是用來儲存一組相同型別資料的資料型別。陣列既可以儲存基本資料型別,也可以儲存引用資料型別。索引 建立完陣列後會自動生成索引,索引是從0開始到長度 1。陣列索引可以是除了long的所有整型。定義 資料型別 陣列名 資料型別 陣列名 靜態初始化 資料型別 陣列名 new 資料型別 資料型別 陣...

MySQL 基礎語法 資料型別

ddl 語句 資料定義語句,定義不同資料庫 資料表 列 索引等資料庫物件,常用關鍵字有create drop alter等 dml 語句 資料操作語句,用於新增 刪除 修改和查詢資料庫記錄,並檢查資料的完整性。常用關鍵字有 insert delete update select等 dcl 語句 資料...