Python學習01Python基礎知識
Python基礎知識

python介紹
Python由荷蘭數學和計算機科學研究學會的Guido van Rossum 于1990 年代初設計。
Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。
Python語法和動態類型,以及解釋型語言的本質,使它成為多數平臺上寫腳本和快速開發應用的編程語言。
Python解釋器易于擴展,可以使用C或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。
Python 也可用于可定制化軟件中的擴展程序語言。
Python具有豐富的標準庫,提供了適用于各個主要系統平臺的源碼或機器碼。
基礎知識
Print語法
#打印 Hello world 字樣 print("Hello world") str_hw = 'H U A W E I' # 輸出后自動換行 for i in str_hw: print (i) # 輸出后不換行繼續輸出下一個字符 for j in str_hw: print (j,end='')
注釋
# 導入工具包 import sys # 導入sys模塊 print(sys.platform) # 打印系統平臺 # 多行注釋 """ 這是多行注釋 ..... """ # 多行語句可以寫在一起,但不推薦這種寫法 print("語句1");print("語句2")
關鍵字
# 查看 Python 語法內置的關鍵字 import keyword keyword.kwlist
變量命名
Name = "張三" print(Name) # 使用關鍵字作為變量名,則系統報錯,顯示無效語法 if = "張三" print(if) # 變量名以數字開頭,則系統報錯,顯示無效語法 3Name = "張三" print(3Name) # 變量名中含有特殊字符,則系統報錯,顯示無效語法 Name$ = "張三" print(Name$)
輸入
# 接受一個標準輸入數據,返回為 string 類型,按Enter鍵確認輸入 s = input("請輸入:") print(s) print(type(s)) # 查看傳入對象的屬性和方法。 dir(print) help(print) # 查看函數的幫助文檔
數值(加減乘除)
print(True + False) # 輸出1,True默認為1,False為0 print(True or False) # 輸出True,關鍵字or執行“或”操作 print(5 // 2) # 輸出2,//為取整運算符 print(5%2) # 輸出1,%為取余運算符 print(3**2) # 輸出9,**表示乘方操作 print(5+1.6) # 輸出6.6,不同精度的類型的數字相加默認取高精度類型作為結果
字符串
字符串是由Unicode碼點組成的不可變序列
S = 'python' # 給變量S賦值 python # len(obj): 返回對象的長度 print(len(S)) # 輸出6 print(S[0], S[1], S[-1]) # 輸出pyn ,按照索引獲取元素 print(S + '1', S*2) # 輸出python1 pythonpython:合并和重復 S = 'python' S[0] = 'Z' # 程序異常 S1 = 'Z' + S[1:] # 生成了新的字符串 zython,并賦值給S1 print("S : %s, S1 : %s"%(S, S1)) # 輸出S:python,S1:zython S = "python" # 變量賦值 # str.split(str="", num=-1):通過指定分隔符對字符串進行切片,如果參數 num 有指定值,則分隔 num+1 個子字符串,-1表示分割所有。 print(S.split('h')) # 輸出[‘pyt’,’on’],根據h對字符串切割 # str.replace(old, new[, max]):返回字符串中的 old(舊字符串) 替換成 new(新字符串)后生成的新字符串,如果指定第三個參數max,則替換不超過 max 次。 print(S.replace('py', 'PY')) # Python,將字符串中的py替換為PY # print(S.islower()):判斷字符串是否為小寫,是則輸出True,否則輸出False print(S.islower()) # 輸出為True # print(S.isupper()):判斷字符串是否為大寫,是則輸出True,否則輸出False print(S.isupper()) # 輸出為False # str.upper():返回小寫字符轉化為大寫后的值。 print(S.upper()) # PYTHON # str.lower():返回大寫字符轉化為小寫后的值。 print('PYTHON'.lower()) # python,字符串轉小寫 # str.join(sequence):sequence:要連接的序列,返回指定字符連接序列中元素后生成的新字符串。 print(''.join(['life', 'is' ,'short'])) # 輸出life is short,join拼接字符串 hw12 = '%s %s %d' % ('hello', 'world', 12) # 格式化字符串 print(hw12) # 輸出hello world 12
列表
列表是一個功能強大的集合,用中括號表示。列表的數據類型可以不一樣,可以列表中包含列表。
animals = ['cat', 'dog', 'monkey'] # list.append(obj):在列表末尾添加新的對象。 animals.append('fish') # 追加元素 print(animals) # 輸出 ['cat', 'dog', 'monkey', ‘fish’] # list.remove(obj):移除列表中某個值的第一個匹配項。 animals.remove('fish') # 刪除元素fish print(animals) # 輸出 ['cat', 'dog', 'monkey'] # list.insert(index, obj):用于將指定對象插入列表的指定位置。index:插入位置 animals.insert(1,'fish') # 在下標1的地方插入元素fish print(animals) # 輸出 ['cat', ‘fish’, 'dog', 'monkey'] # list.pop([index=-1]):要移除列表中對下標對應的元素(默認是最后一個)。Index:下標 animals.pop(1) # 刪除下標為1的元素 print(animals) # 輸出 ['cat', 'dog', 'monkey'] #遍歷并獲取元素和對應索引 # enumerate(sequence) :將一個可遍歷的數據對象組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。 for i in enumerate(animals): print(i) # 元素下標和元素所組成的索引 #輸出:(0, cat) # (1, dog) # (2, monkey) #列表推導式 squares = [x*2 for x in animals] # 批量生成符合規則的元素組成的列表 print(squares) #['catcat ', 'dogdog ', 'monkeymonkey '] list1 = [12, 45, 32, 55] # list.sort(cmp=None, key=None, reverse=False):cmp為可選參數, 如果指定了該參數,會使用該參數的方法進行排序。key是用來進行比較的元素。reverse為排序規則,False為升序。 list1.sort() # 對列表進行排序 print(list1) # 輸出[12, 32, 45, 55] # list.reverse():反向列表中元素。 list1.reverse() # 對列表進行逆置 print(list1) # 輸出[55, 45, 32, 12]
元組
T=(1, 2, 3) #創建元組 print(T + (4, 5)) #元組合并,輸出:(1, 2, 3, 4, 5) t=(42, ) #只有一個元素的元組,區別于數字 tuple1 = (12, 45, 32, 55, [1, 0, 3]) # 創建元祖 tuple1[0] = "good" # 程序異常,元組的不可變性 tuple1[4][0] = 2 # 元組中可變的元素是可以變得 print(tuple1) # (12, 45, 32, 55, [2, 0, 3])
字典
字典是數據的無序集合,用于存儲數據值。與其他僅將單個值作為項的數據類型不同,字典具有鍵-值對
字典中的鍵和值之間用冒號“:”分隔,而鍵-值對之間用逗號“,”分隔,所有鍵-值對用花括號“{}”括起來
# 字典的三種賦值操作 x = {'food':'Spam', 'quantity':4, 'color':'pink'} X =dict(food='Spam', quantity=4, color='pink') x = dict([("food", "Spam"),("b", "2"), ("color", "pink")]) # dict.copy():拷貝數據 d =x.copy() d['color'] = 'red' print(x) # {'food':'Spam','quantity':4,'color':'pink'} print(d) # {'food':'Spam','quantity':4,'color':'red'} #元素訪問 print(d.get('name')) # 輸出None print(d.get('name', '鍵值不存在!')) # 輸出 鍵值不存在 print(d.keys()) # 輸出dict_keys(['food', 'quantity', 'color']) print(d.values()) # 輸出dict_values(['Spam', 4, 'pink']) print(d.items()) # 輸出 dict_items([('food', 'Spam'), ('quantity', 4), ('color', 'pink')]) d.clear() # 清空字典中的所有數據 print(d) # 輸出 {} del(d) # 刪除字典 print(d) # 程序異常,提示“d”未定義
集合
集合是一個無序的不重復元素序列。它是可迭代的,沒有重復元素(每個元素都是唯一的)的
sample_set = {'Prince', 'Techs'} print('Data' in sample_set) # 輸出False,in的作用是檢查集合中是否存在某一元素 # set.add(obj):給集合添加元素,如果添加的元素在集合中已存在,則不執行任何操作。 sample_set.add('Data') # 向集合中增加元素Data print(sample_set) # 輸出 {'Prince', 'Techs', 'Data'} print(len(sample_set)) # 輸出3 len() 函數返回集合元素個數 # set.remove(obj):移除集合中的指定元素。 sample_set.remove('Data') # 刪除元素Data print(sample_set) # {'Prince', 'Techs'} list2 = [1, 3, 1, 5, 3] print(list(set(list2))) # 輸出 [1,3,5],利用集合元素的唯一性進行列表去重 sample_set = frozenset(sample_set) # 不可變集合 frozenset()函數返回一個凍結的集合,凍結后集合不能再添加或刪除任何元素。
深拷貝和淺拷貝
深拷貝是把要拷貝的對象整體復制一份,存在新開辟的空間里
淺拷貝指的是,對于要拷貝的對象要復制一份,但是對于其內部的子對象就不復制了,而是直接引用,也就是類似于添加了一個鏈接而已
import copy Dict1 = { 'name':'lee', 'age':89, 'num':[1,2,8]} # 新建字典 Dict_copy = Dict1.copy() # 淺拷貝 Dict_dcopy = copy.deepcopy(Dict1) # 深拷貝 Dict1['num'][1] = 6 # 修改原數據中嵌套列表的值 print('Dict1:' + str(Dict1), ' Dict_copy:' +str(Dict_copy),' Dict_dcopy:' + str(Dict_dcopy)) # 'str' object is not callable # 前面定義了str變量
Python 數據結構
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。