一、數據類型
1、數字
- int(整型)
- long(長整型)
- float(浮點型)
- complex(復數)
2、布爾值
- True或False
3、字符串
二、變量
變量命名規則:
- 變量名只能是 字母、數字或下划線的任意組合
- 變量名的第一個字符不能是數字
- 變量名不能為關鍵字(例如:and,or,continue,break,in,else,print 等)
三、字符串拼接
1、使用加號(+)
name = "Tom" age = 25 print(name + "s age is " + str(age)) #輸出:Toms age is 25
2、字符串格式化
name = "Tom" age = 25 print("%s's age is %d" % (name,age) ) #輸出:Toms age is 25
ps:在python中,使用+號連接字符串,每出現一個+號,就要重新在內存中申請一塊空間,有多少個+號,就要申請多少塊空間。一般不建設使用+號連接字符串。
四、列表和元組
1、列表(list)
- 創建列表
str_list = ['Tom','Lucy','Mary'] 或者 str_list = list(['Tom','Lucy','Mary'])
- 索引(訪問列表中某一個值)
str_list[0]
- 追加(增加元素到末尾)
str_list.append('lilei') print(str_list) #輸出:['Tom', 'Lucy', 'Mary', 'lilei']
- 插入(在指定位置加入元素)
str_list.insert(1,'lilei') print(str_list) #輸出:['Tom', 'lilei', 'Lucy', 'Mary']
- 刪除(刪除指定元素)
str_list.remove('Lucy') print(str_list) #輸出:['Tom', 'Mary']
- 切片
str_list = [3,4,5,6,7,8,9] new_1 = str_list[1:3] #從索引1開始取,取到索引3 new_2 = str_list[0:6:2] #從索引0開始取,每兩位一取,到第6位為止 new_3 = str_list[-2:] # 取后面2個數 new_4 = str_list[:3] # 取前面3個數 new_5 = str_list[::3] #所有數,每3個取一個 print(new_1,new_2,new_3,new_4,new_5) #輸出:[4, 5] [3, 5, 7] [8, 9] [3, 4, 5] [3, 6, 9]
2、元組(tuple)
- 創建元組
age = (18,25,33)
或者
age = tuple((18,25,33))
除了不能修改、增加、刪除元素,其它操作元組和列表幾乎一樣。
五、字典
使用key-value的存儲方式
- 創建字典
phone = { '張三':'13075632152', '李四':'15732015632', '王五':'13420321523', }
- 獲取字典中key的值
print(phone['張三']) #如果key不存在,會報錯,key用中括號裝 print(phone.get('老黃')) #如果key不存在,返回None,key用小括號裝 #輸出:13075632152 # None
- 賦值
phone['老黃'] = '13678623153' #新增 phone['張三'] = '12300055555' #修改 print(phone) #輸出:{'王五': '13420321523', '老黃': '13678623153', '張三': '12300055555', '李四': '15732015632'}
#因為字典是無序的,所以每次輸出的排列順序都可能不同
- 刪除
phone.pop('張三') #第一種方法 del phone['李四'] #第二種方法 phone.popitem() #隨機刪除某一個
- 遍歷
for key in phone: print(key,phone[key]) #輸出: # 王五 13420321523 # 張三 13075632152 # 李四 15732015632
- 多級嵌套
phone = { '人事部':{'老張':'13700112233','老李':'13432023152'}, '財務部':{'小麗':'13230555666','小映':'13723688888'}, '技術部':{'老羅':'13866666333'} } print(phone['人事部']['老李']) #輸出:13432023152
六、if語句
1、if...else
age = 16 if age <18: print('你還未成年呢') else: print('你已經成年了')
2、if...elif....else
score = 85 if score > 0 and score< 60: print('你的成績不及格') elif score >= 60 and score <80: print('你的成績及格了') elif score>=80 and score<90: print('你的成績良好') else: print('你的成績優秀')
七、while循環
i=0 num=0 while i<=100: num+=i i+=1 print('1-100累加等於%d'%num)
八、for...in循環
num = [] for i in range(10): num.append(i) print(num) #輸出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
九、用戶交互(input)
import getpass username = input("username:") password = getpass.getpass("password:") print(username) print(password)
十、文件基本操作
打開文件:f = open('文件路徑','模式') 或者 with open('文件路徑','模式') as f:
模式:
- r:以只讀方式打開文件
- w:打開一個文件只用於寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
- a:打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。
- w+:打開一個文件用於讀寫。(文件一打開就清空了,還能讀到東西嗎?)
- a+:打開一個文件用於讀寫。
讀文件:
read() readlines() readline() 的用法
f = open('d:/test.txt','r') #以只讀方式打開文件 print(f.read()) #read()一次讀取文件的全部內容 for line in f.readlines(): #readlines()讀取整個文件,並按行存進列表 print(line.strip('\n')) #去掉行尾的'\n' while 1: line = f.readline() #readline()每次只讀取一行 print(line.strip('\n')) if not line: break f.close() #關閉文件
寫文件:
f =open('d:/test.txt','a') f.write('hello,boy!\n') f.close()