變量是用來存儲數據的量,變量名由字母、數字、下劃線組成的,且不能以數字開頭。此外,在編程的過程當中,全部變量的命名都要作到見名知意。git
全局變量編程
做用範圍在全局的變量,例如:一個類中定義的類變量,類中全部的方法均可以使用該變量。api
局部變量app
做用範圍在局部的變量,例如:一個類中的方法定義的方法變量,該變量只能在該方法中使用,而不能給類中的其餘方法使用。函數
下劃線命名法編碼
單詞之間用下劃線鏈接的命名方式,例如:auto_test。在Python中,通常默認函數名的命名方式採用下劃線命名法。code
駝峯命名法orm
小駝峯命名法索引
除首字母小寫外以後的每一個單詞的首字母大寫的命名方式,例如:autoTest。
大駝峯命名法
每一個單詞的首字母大寫的命名方式,例如:AutoTest。通常默認類名的命名方式採用大駝峯命名法。
注意
在變量命名時要避開使用關鍵字來做爲變量名。
整數
int表示整數類型。
浮點數
float表示浮點數類型。
注意
int和float類型都是不可變的。
格式
bool,布爾類型的值只有兩個:True和False。
print(bool(0)) print(bool(3)) print(bool('')) print(bool('it')) # 輸出結果 False True False True # 注意:全部的數字除0布爾值爲False外,其餘布爾值均爲True;全部的字符串除空字符串''布爾值爲False外,其餘布爾值均爲True。
格式
str,由單引號',雙引號",三引號'''或"""所包含的內容爲字符串。字符串是不可變的。
字符串操做
字符串的加法運算和乘法運算
string1 = 'Hello' string2 = 'World!' # 加法運算 string3 = string1 + ' ' + string2 # 乘法運算 string4 = string3 * 3 print(string3) print(string4) # 輸出結果 Hello World! Hello World!Hello World!Hello World!
字符串方法
''' .capitalize .title .lower .upper ''' string1 = 'my Favorite programming Language is python.' print(string1.capitalize()) print(string1.title()) print(string1.lower()) print(string1.upper()) # 輸出結果 My Favorite Programming Language Is Python. my favorite programming language is python. MY FAVORITE PROGRAMMING LANGUAGE IS PYTHON.
''' .isdecimal .isnumeric .isdigit ''' string2 = ['1', '①', '一'] for i in string2: print(i.isdecimal()) # 最經常使用 print(i.isnumeric()) print(i.isdigit()) print('=='*5) # 輸出結果 True True True ========== False True True ========== False True False ==========
string3 = '0123456789' print(string3[:]) print(string3[:2]) print(string3[2:]) print(string3[1:5]) print(string3[:-1]) print(string3[0:4:2]) # 輸出結果 0123456789 01 23456789 1234 012345678 02 # 注意:從前日後索引是從0開始的,從後往前索引是從-1開始的(即:最後一位元素的索引爲-1)。srting3[參數1:參數2:參數3],參數1是切片時索引的起始位置,參數2是結束位置(不包括參數2自己,即:參數1和參數2是可看做一個前閉後開的集合),參數3是步長(即:切片時每兩個參數之間的間隔)。
''' .strip .lstrip .rstrip ''' string4 = ' it is delicious. ' print(string4.strip()) print(string4.lstrip()) print(string4.rstrip()) # 輸出結果 it is delicious. it is delicious. it is delicious.
''' .split .partition .rpartition ''' string5 = 'i=am=aaron' # split切分全部的指定字符,且切分以後該字符不存在,輸出結果爲列表類型。 print(string5.split('=')) # partition和rpartition切分遇到的第一個字符,且切分以後指定的字符還在(將字符串切分爲三個部分),輸出結果爲元組類型。 print(string5.partition('=')) print(string5.rpartition('=')) # 輸出結果 ['i', 'am', 'aaron'] ('i', '=', 'am=aaron') ('i=am', '=', 'aaron')
''' .join ''' string6 = '-' list1 = ['2019', '10', '28'] print(string6.join(list1)) # 輸出結果 2019-10-28
''' .count ''' string7 = 'Today*is*a*sunny*day.' print(string7.count('*')) # 輸出結果 4
''' .startswith .endswith ''' string8 = 'I am an number 9' print(string8.startswith('I')) print(string8.endswith('9')) # 輸出結果 True True
''' .index .rindex .find .rfind ''' string9 = 'pronunceation' print(string9.index('n')) print(string9.rindex('n')) print(string9.find('x')) print(string9.find('o')) print(string9.rfind('o')) # 輸出結果 3 12 -1 2 11 # 注意:index和find都是查找對應的字符並返回其索引值(返回的是第一個查找到的元素的索引值),可是,若查找的字符不存在時,index會直接報錯,find會返回-1。
''' .replace ''' string10 = 'This-is-a-string.' print(string10.replace('-', ' ')) # 輸出結果 This is a string.
''' .encode ''' string11 = '我能夠' print(string11.encode('utf-8')) # 輸出結果 b'\xe6\x88\x91\xe5\x8f\xaf\xe4\xbb\xa5'
格式化輸出
num1 = 1 num2 = 1.2345 string = 'abc' print('num1=%d, num2=%.2f, string=%s' % (num1, num2, string)) # 輸出結果 num1=1, num2=1.23, string=abc
num1 = 1 num2 = 1.2345 string = 'abc' print('num1={}, num2={}, string={}'.format(num1, num2, string)) print('num1={1}, num2={2}, string={0}'.format(string, num1, num2)) print('num1={num1}, num2={num2}, string={string}'.format(num1 = 1, num2 = 1.2345, string = 'abc')) # 輸出結果 num1=1, num2=1.2345, string=abc num1=1, num2=1.2345, string=abc num1=1, num2=1.2345, string=abc
num1 = 1 num2 = 1.2345 string = 'abc' print(f'num1={num1}, num2={num2}, string={string}') # 輸出結果 num1=1, num2=1.2345, string=abc # 注意:該方法在python3.6以後纔可使用
格式
list,列表是一個由多個元素組成的有序集合,用[]表示。列表是可變的。
列表操做
''' .append .extend .insert .reverse .remove .sort .clear ''' list1 = [1, 2, 3, 'a', 'b', 'c', 'a'] list2 = [5, 6, 7] list1.append('d') list1.extend(list2) # 將list2中的元素按序添加到list1的末尾 list1.insert(3, 4) # 在索引3的位置插入元素4 list1.reverse() list1.remove('a') # 若元素不存在,則報錯 list2.sort() # 須要列表中的元素是同一類型 list2.clear() # 將列表list2清空
''' .count .pop .index .copy ''' list1 = [1, 2, 3, 'a', 'b', 'c', 'a'] print(list1.count('a')) # 返回列表中'a'元素的個數 print(list1.pop()) # 返回刪除的元素 print(list1.index('a')) # 返回查找到的第一個元素所在的索引,若元素不存在,則報錯 print(list1.copy()) # 返回一個新的列表,該列表的元素和list1徹底相同 # 輸出結果 2 a 3 [1, 2, 3, 'a', 'b', 'c']
切片
列表的切片操做和字符串的切片操做同樣。
列表推導式
list1 = [item for item in range(10) if item % 2 == 0] print(list1) # 輸出結果 [0, 2, 4, 6, 8]
格式
tuple,元組是一個由多個元素組成的有序集合,用()表示。元組是不可變的。注意:只包含一個元素的元組格式爲:(元素1,),必定要有一個逗號!
元組操做
切片
元組的切片操做和字符串的切片操做同樣。
其餘
''' .index .count ''' tuple1 = (1, 2, 3, 4, 2, 5, 2) print(tuple1.index(2)) # 返回查找到的第一個元素所在的索引,若元素不存在,則報錯 print(tuple1.count(2)) # 輸出結果 1 3
格式
set,集合是一個由多個不重複的元素組成的無序集合,用{}表示。集合是可變的。
# 注意:空集合的定義方式爲set1 = set(),而不是set2 = {},後者爲空字典的定義方式。 set1 = set() set2 = {} print(type(set1), type(set2)) # 輸出結果 <class 'set'> <class 'dict'>
集合操做
''' .add .update .remove .discard .clear ''' set1 = {1, 3, 5, 7} set2 = {2, 4, 6, 8} set1.add(9) set1.update(set2) # 將set2中的元素添加到set1中 set1.remove(9) # 刪除集合中的指定元素,若元素不存在,則報錯 set2.discard(2) # 刪除集合中的指定元素,若元素不存在,則操做無效,不報錯 set2.clear()
''' .pop .copy ''' set1 = {1, 3, 5, 7} print(set1.pop()) print(set1.copy()) # 輸出結果 1 {3, 5, 7}
格式
dict,字典是一個由多個鍵值對組成的無序集合,用{}表示。集合是可變的。
集合操做
''' .update .clear ''' dict1 = {'name':'Aaron', 'age':10, 'email':'aaron@163.com'} dict2 = {'email':'12345@qq.com', 'sex':'male'} dict1.update(dict2) # 將dict2中的鍵值對添加到dict1中,若存在相同的鍵,則會替代原來的 dict2.clear()
''' .get .keys .values .items .copy ''' dict1 = {'name':'Aaron', 'age':10, 'email':'aaron@163.com'} print(dict1.get('age')) # 根據指定的鍵查找對應的值,若不存在,則返回None print(dict1.keys()) print(dict1.values()) print(dict1.items()) print(dict1.copy()) # 輸出結果 10 dict_keys(['name', 'age', 'email']) dict_values(['Aaron', 10, 'aaron@163.com']) dict_items([('name', 'Aaron'), ('age', 10), ('email', 'aaron@163.com')]) {'name': 'Aaron', 'age': 10, 'email': 'aaron@163.com'}
有序字典
from collections import OrderedDict info = OrderedDict() info['k1'] = 123 info['k2'] = 456 print(info.keys()) print(info.values()) print(info.items()) # 輸出結果 odict_keys(['k1', 'k2']) odict_values([123, 456]) odict_items([('k1', 123), ('k2', 456)])