python基礎語法總結(一)-- python類型轉換函數+文件讀寫
一. python基本操作
1. 基本類型轉換函數
'''基本類型轉換函數'''
i = 75
chr(i) #把一個ASCII數值,變成字符,本例:K
oct(i) #把整數x變成八進制表示的字符串,本例:0o113
hex(i) #把整數x變成十六進制表示的字符串,本例:0x4b
ord('a') #把一個字符或者unicode字符,變成ASCII數值,本例:97
int('33') #轉換成一個integer,本例:33
float(i) #轉換成一個浮點數, 本例:75.0
complex(i) #轉換成複數, 本例:(75+0j)
str(i) #轉爲string,本例:'75'
2. 結構數據類型轉換函數
'''結構數據類型轉換函數'''
list({"name":"leo"}) #把一個seq轉換成一個list,可以是dict、tuple轉list,本例:['name']
tuple({"name":"leo"}) #把一個seq轉換成一個tuple,本例:('name',)
dict(a='1', b='2', t='3') #轉換成一個dictionary, 本例:{'a': '1', 'b': '2', 't': '3'}
dict(zip(['one', 'two', 'three'], [1, 2, 3])) #本例:{'one': 1, 'three': 3, 'two': 2}
set([1,2,3,1]) # 轉成set集合,可以去重 {1, 2, 3}
3. input() 命令行輸入參數
'''input 命令行輸入參數'''
message = input("please input a number:") # 從命令行獲取用戶的輸入結果,並且儲存在message中
print("Your input number is :" + message)
輸出結果
please input a number:>? 12
Your input number is :12
4. 三目運算符
'''三目運算符'''
fun = lambda x: 'yes' if x > 0 else 'no'
print(fun(4))
二. 文件讀寫操作
'''文件操作'''
#打開文件
f = open("filename", "r") #r只讀 w寫 r+讀寫 rb讀二進制 wb寫二進制 w+寫追加
#讀文件
f.read() # 全讀出來
f.read(size) # 表示從文件中讀取size個字符
f.readline() # 讀一行,到文件結尾,返回空串.
f.readlines() # 讀取全部,返回一個list. list每個元素表示一行,包含" "
f.tell() # 返回當前文件讀取位置
f.seek(off, where) # 定位文件讀寫位置. off表示偏移量,正數向文件尾移動,負數表示向開頭移動。
#where爲0表示從開始算起,1表示從當前位置算,2表示從結尾算.
f.flush() # 刷新緩存
#寫文件
f.write("a") #寫一字符串
f.write(str)
f.writeline()
f.readlines()
#關閉文件
f.close()
- 對文件操作時,要注意open()操作後,一定要最後close()關閉文件,否則可能出現數據丟失問題
三. 異常
1. 拋異常
語法:
raise <異常>
2. 捕獲異常
語法:
try:
<語句>
except <異常名1>: #except用來捕獲異常,如果拋出的異常類型不屬於except捕獲的任一類型,則異常傳遞到程序調用的上一層,或者到程序的最上層(這樣將結束程序,並打印缺省的出錯信息)
<語句>
except <異常名2>:
<語句>
else : # 當try正常執行,沒有拋異常,纔會執行else語句的內容;如果出現異常則不會執行else
<語句>
其中:
except有幾種用法
except: # 捕獲所有異常
except <異常名>: # 捕獲指定異常
except (異常名1,異常名2) # 捕獲異常名1或異常名2
except <異常名> as <數據>: # 捕獲指定異常以及附加的數據
except (異常名1,異常名2) as <數據>: # 捕獲異常1或異常2以及附加的數據
'''異常處理
'''
class MyError(Exception): # 自定義異常類,要繼承Exception父類
def __init__(self, data):
self.data = data
def __str__(self):
return self.data
# 實例
l = [1,2,3]
try:
print(l[5])
raise MyError("test error")
except IndexError as error:
print(error)
except (ZeroDivisionError,EOFError) as e:
print(e)
except:
print("there is an except")