一天快速入门python
點(diǎn)擊上方藍(lán)色字體,關(guān)注AI小白入門喲
跟著博主的腳步,每天進(jìn)步一點(diǎn)點(diǎn)
Python 是由Guido Van Rossum在 90 年代早期設(shè)計(jì),現(xiàn)在是最常用的編程語言之一。特別是人工智能的火熱,再加之它的語法簡潔且優(yōu)美,實(shí)乃初學(xué)者入門AI必備的編程語言。
Python基本語法
標(biāo)識符
第一個字符必須是英文字母或下劃線 _ 。標(biāo)識符的其他的部分由字母、數(shù)字和下劃線組成。標(biāo)識符對大小寫敏感。
保留字
保留字即關(guān)鍵字,不能用作任何標(biāo)識符名稱。 keyword 模塊可以輸出當(dāng)前版本的所有關(guān)鍵字:
import keyword print(keyword.kwlist)['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']注釋
單行注釋采用#,注釋是給人看的,可以是任意內(nèi)容,解釋器會忽略掉注釋。
多行注釋采用'''或"""。
行與縮進(jìn)
Python 使用縮進(jìn)來表示代碼塊而不是大括號 {}。 縮進(jìn)的空格數(shù)是可變的,但是同一個代碼塊的語句必須是相同的縮進(jìn)空格數(shù)。建議四個空格數(shù)。
注意Tab和四格空格混用會報錯,這個錯誤還不容易被察覺。
輸入輸出
通常是一條語句一行,如果語句很長,我們可以使用反斜杠(\)來實(shí)現(xiàn)多行語句。在 [], {}, 或 () 中的多行語句,則不需要反斜杠。
基本數(shù)據(jù)類型
計(jì)算機(jī)程序要處理不同的數(shù)據(jù),需要定義不同的數(shù)據(jù)類型。Python 中的變量不需要聲明,每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。
Python中變量就是變量,沒有類型,所說的"類型"是變量所指的內(nèi)存中對象的類型。等號(=)用來給變量賦值。等號(=)運(yùn)算符左邊是一個變量名,等號(=)運(yùn)算符右邊是存儲在變量中的值。
數(shù)字類型(Number)
數(shù)字類型是不可變數(shù)據(jù)。Python3 支持 int(整數(shù))、float(浮點(diǎn)數(shù))、bool(布爾)、complex(復(fù)數(shù)),數(shù)值類型的賦值和計(jì)算是很直觀的。
關(guān)于數(shù)值運(yùn)算,可以同時為多個變量賦值,如a, b = 1, 2。一個變量可以通過賦值指向不同類型的對象。
除法包含兩個運(yùn)算符:/ 返回一個浮點(diǎn)數(shù),// 返回一個整數(shù)。混合計(jì)算時,Python會把整型轉(zhuǎn)換成為浮點(diǎn)數(shù)。
# 加 print("Add operation: 5 + 4 = ",5 + 4) # 減 print("Sub operation: 5 - 4 = ",5 - 4) # 乘 print("Mul operation: 5 * 4 = ",5 * 4) # 除,得到一個浮點(diǎn)數(shù) print("Div operation: 5 / 4 = ",5 / 4) # 除,得到一個整數(shù) print("Div operation: 5 // 4 = ",5 // 4) # 取余 print("Mod operation: 5 % 4 = ",5 % 4) # 乘方 print("Pow operation: 5 ** 4 = ",5 ** 4)字符串類型(String)
Python 沒有單獨(dú)的字符類型,一個字符就是長度為1的字符串。字符串用單引號 ' 或雙引號 " 括起來。
列表類型(List)
列表類型是一種有序的集合。列表中元素的類型可以不相同,它支持?jǐn)?shù)字,字符串甚至可以包含列表(所謂嵌套)。列表是寫在方括號 [] 之間、用逗號分隔開的元素列表。
元組類型(Tuple)
元組類型是不可變類型,元組使用小括號()。
集合類型(Set)
集合類型是無序的不重復(fù)元素序列。使用大括號 {} 或者 set() 函數(shù)創(chuàng)建集合。
注意:創(chuàng)建一個空集合必須用 set() 而不是 {},因?yàn)?{} 是用來創(chuàng)建一個空字典。
字典類型(Dictionary)
字典類型是可變類型。在同一個字典中,鍵(key)必須是唯一的。
字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中。
# 用{}創(chuàng)建字典 dict1 = {"a":"1", "b":"2"} print(dict1) # 用內(nèi)置函數(shù)dict() dict2 = dict(a="1", b="2") print(dict2)#訪問字典里的值 dict1 = {"a":"1", "b":"2"} print ("dict1['a']: ", dict1['a']) #如果沒有會報錯 print ("dict1.get('a'): ", dict1.get('a')) #如果沒有返回None print("獲取所有的key值:", dict1.keys()) print("獲取所有的value值:", dict1.values())#增加新的鍵/值對 dict1 = {"a":"1", "b":"2"} print ("增加前:", dict1) dict1['c'] = 3 print ("增加后:", dict1)#刪除字典指定元素 dict1 = {"a":"1", "b":"2"} print ("刪除前:", dict1) del dict1['a'] print ("刪除后:", dict1)#清空字典 dict1 = {"a":"1", "b":"2"} print ("清空前:", dict1) dict1.clear() print ("清空后:", dict1)#dir()方法:查看dict所有方法 print(dir(dict))條件判斷和循環(huán)
條件控制:通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。
每個條件后面要使用冒號:,表示接下來是滿足條件后要執(zhí)行的語句塊。使用縮進(jìn)來劃分語句塊,相同縮進(jìn)數(shù)的語句在一起組成一個語句塊。在Python中沒有switch–case語句。
#if操作 x = 5 if x > 3:print("yes")#if嵌套:if...elif...else #也可以把 if...elif...else 結(jié)構(gòu)放在另外一個 if...elif...else 結(jié)構(gòu)中 x = 99 if x<60:print("不及格") elif x<80:print("良好") else:print("優(yōu)秀")#while循環(huán) sum = 0 counter = 1 while counter <= 10:sum = sum + countercounter += 1 print("1 到 10 之和為: %d" % sum)#while 循環(huán)使用 else 語句 count = 0 while count < 5:print (count, " 小于 5")count = count + 1 else:print (count, " 大于或等于 5")#for 語句:for循環(huán)可以遍歷任何序列(列表、字符串等) str = 'python' list1 = ['I', 'love', 'python'] print("遍歷字符串") for i in str:print(i) print("遍歷列表") for i in list1:print(i)#range()函數(shù):遍歷數(shù)字序列,可以使用內(nèi)置range()函數(shù)生成數(shù)列 for i in range(5):print(i)#也可以使用range指定區(qū)間的值 for i in range(2,6):print(i)#也可以使range以指定數(shù)字開始并指定不同的增量(步長),可以是負(fù)數(shù) for i in range(0, 10, 3):print(i)for i in range(-10, -100, -30):print(i)#可以結(jié)合range()和len()函數(shù)以遍歷一個序列的索引 list1 = ['I', 'love', 'Python'] for i in range(len(list1)):print(list1[i])#break語句:跳出 for 和 while 的循環(huán)體 list1 = ['I', 'love', 'Python'] for i in list1:if i == 'love':breakprint('當(dāng)前為 :', i)#continue語句:跳過當(dāng)前循環(huán)塊中的剩余語句,然后繼續(xù)進(jìn)行下一輪循環(huán) var = 10 ? ? ? ? ? ? ? ? ? ? while var > 0: ? ? ? ? ? ? ?var = var -1# 變量為 5 時跳過輸出if var == 5: ? ? ? ? ? ?continueprint ('當(dāng)前值 :', var) print ("hello world!")#pass 語句:pass是空語句,是為了保持程序結(jié)構(gòu)的完整性,pass 不做任何事情,一般用做占位語句 while True:pass ?# 等待鍵盤中斷 (Ctrl+C)函數(shù)
函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。
Python提供了許多內(nèi)建函數(shù),比如“print()”,也可以自己創(chuàng)建函數(shù),這被叫做用戶自定義函數(shù)。
類
類(Class):用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實(shí)例。
類變量:類變量在整個實(shí)例化的對象中是公用的。類變量定義在類中且在函數(shù)體之外。類變量通常不作為實(shí)例變量使用。
數(shù)據(jù)成員:類變量或者實(shí)例變量, 用于處理類及其實(shí)例對象的相關(guān)的數(shù)據(jù)。
#創(chuàng)建類Student class Student(object):"學(xué)生成績"def __init__(self, name, score):self.name = nameself.score = scoredef print_score(self):print('%s: %s' % (self.name, self.score))#創(chuàng)建Student類的對象bart jack = Student('Bart Simpson', 59) #創(chuàng)建Student類的對象lisa bob = Student('Lisa Simpson', 87) #訪問類的屬性 jack.print_score() bob.print_score() # 添加一個 'age' 屬性 jack.age = 7 ? print("添加一個 'age' 屬性:",hasattr(jack, 'age')) # 修改 'age' 屬性 jack.age = 8 print("修改 'age' 屬性:",getattr(jack, 'age')) # 刪除 'age' 屬性 del jack.age ? print("刪除 'age' 屬性:",hasattr(jack, 'age'))類的繼承
面向?qū)ο蟮木幊處淼闹饕锰幹皇谴a的重用,實(shí)現(xiàn)這種重用的方法之一是通過繼承機(jī)制。
通過繼承創(chuàng)建的新類稱為子類或派生類,被繼承的類稱為基類、父類或超類。
#編寫一個名為Fruit的class,執(zhí)行run()方法可以直接打印 #編寫Apple和Orange類時,就可以直接從Fruit類繼承 class Fruit(object):'父類Animal'def run_father(self):print('調(diào)用父類方法...')class Apple(Fruit):'子類1 Apple'def run_son(self):print('調(diào)用子類方法...')class Orange(Fruit):'子類2 Orange'def run_son(self):print('調(diào)用子類方法...') #實(shí)例化子類 apple = Apple() orange = Orange() #調(diào)用父類方法 apple.run_father() orange.run_father() #調(diào)用子類方法 apple.run_son() orange.run_son()方法重寫
如果父類方法的功能不能滿足你的需求,你可以在子類重寫你父類的方法
class Fruit(object):'父類Animal'def run(self):print('調(diào)用父類方法...')class Apple(Fruit):'子類1 Apple'def run(self):print('子類1 Apple 重寫父類方法...')class Orange(Fruit):'子類2 Orange'def run(self):print('子類2 Orange 重寫父類方法...') #實(shí)例化子類 apple = Apple() orange = Orange() #調(diào)用父類方法 apple.run() orange.run()模塊
Python 模塊(Module),是一個 Python 文件,以 .py 結(jié)尾,包含了 Python 對象定義和Python語句。模塊讓你能夠有邏輯地組織你的 Python 代碼段。
把相關(guān)的代碼分配到一個模塊里能讓你的代碼更好用,更易懂。模塊能定義函數(shù),類和變量,模塊里也能包含可執(zhí)行的代碼。
# 導(dǎo)入模塊 import math # 現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了 print("求e的n次冪:",math.exp(1))# from…import 語句:從模塊中導(dǎo)入一個指定的部分到當(dāng)前命名空間中 # 導(dǎo)入模塊中的特定函數(shù) from math import exp # 現(xiàn)在可以直接使用該函數(shù)了 print("求e的n次冪:",exp(1))# from…import* 語句:導(dǎo)入一個模塊中的所有項(xiàng)目。然而這種聲明不該被過多地使用 from math import *The End
備注:公眾號菜單包含了整理了一本AI小抄,非常適合在通勤路上用學(xué)習(xí)。
往期精彩回顧那些年做的學(xué)術(shù)公益-你不是一個人在戰(zhàn)斗適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)在線手冊AI基礎(chǔ)下載(第一部分)備注:加入本站微信群或者qq群,請回復(fù)“加群”加入知識星球(4500+用戶,ID:92416895),請回復(fù)“知識星球”喜歡文章,點(diǎn)個在看
總結(jié)
以上是生活随笔為你收集整理的一天快速入门python的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何判断数据背离正态分布?
- 下一篇: 震惊了!每30秒学会一个Python小技