淺談Python基礎
本人是剛剛學完Python基礎課程的小白之一。對Python這門語言有了一定的了結。所以,我想把這些天我學到的東西分享給大家。也算是自己對這大約一個月的時間學習到的知識做一個總結吧。
我們為什麼要學習Python這門語言呢?近些年來,人工智慧產業得到了飛速的發展,同時也使Python這一門程式語言火了起來。Python在人工智慧這一方面具有重要的作用,Python中具有的numpy,pandas庫在人工智慧中的資料分析方面起到了重大作用。所以Python是人工智慧方面必備的程式語言之一。
Python是什麼?官方宣傳說:Python是一種物件導向的解釋性高階程式語言,具有動態語義。那麼,就讓我們開始Python的學習之旅吧。
(一)程式的輸入輸出
程式輸入:程式輸入由input函式來執行
其中input可以在後面新增(‘要輸出的字串’)
最後輸出為:要輸出的字串+要輸出的內容
程式輸出:程式輸出由print函式來執行
如果要輸出一個整數
就是input(x) x為需要輸出的整數
如果要輸出多個資料,具體操作如下:
x=input('x=') y=input('y=') print(x,y)
(二)列表和元祖
列表和元祖是Python中最重要的兩種序列。列表和元祖的區別在於:列表是可以修改,元祖不可修改。
列表與字典中有許多方法,由於篇幅有限,後面有·多種方法的只用一種方法進行演示。
列表:列表用[]表示
下面以append方法進行演示列表基本方法的使用:
ab=[1,2,3] ab.append(4)#將一個物件附加到列表末尾 print(ab)
部分常用方法:
clear:清空列表內容
copy:複製列表
count:計算指定元素出現次數
index:查詢指定值第一次出現的索引
insert:將物件插入列表
reverse:反序排列列表中元素
sort:對列表就地排序
pop:從列表中刪除一個元素
extend:將多個物件新增到列表末尾
remove:刪除第一個為指定值的元素
元祖:元祖用()表示
建立一個元祖:
tu=(1,2,3,)#建立一個名為tu的元祖
列表與元祖的通用操作:切片
切片是從一串資料中讀取需要的資料,下面就以列表為例介紹切片的基本操作。
xm=[1,2,3,4,5,6,7,8,9,10]#建立一個列表 print(xm[1:9:2])#預設第一個索引為0,第一個數為起始索引,第二個數表示結束索引的後一位,第三個數表示步長
(三)使用字串
字串的格式設定通常用%s表示
字串的基本方法:
以find方法為例
a='hello,Hello' b=a.find('hello')#find方法是在字串中查詢子串,若找到,返回子串的第一個字串的索引,若沒找到,返回-1 print(b)
其他常用方法:
center:在兩邊新增填充字元使字串居中。(預設為空格)
join:合併序列中的元素
lower:返回字串的小寫版本
replace:將指定子串替換為另一個字串並返回替換後的結果
split:將字串拆分為序列
strip:將字串開頭和末尾的空白刪除,並返回刪除後的結果
(四)字典
字典的特點:其中的值不按順序排列,而是儲存在鍵下
建立和使用字典:
animals={'Jack':'cat','Tom':'dog','Jerry':'fish'}#建立字典 print(len(animals))#len(d)返回字典d包含的項數
其他基本操作:
d[k]返回與鍵k相關聯的值
d[k]=v 將值v關聯到鍵k
del d[k]刪除鍵為k的項
k in d檢查字典d是否包含鍵為k的項
字典方法:
以pop方法為例
d={'x':1,'y':2} d.pop('x')#用於獲取與指定鍵相關聯的值,並將該鍵-值對從字典中刪除
其他常用方法:
clear 刪除所有的字典項
copy 返回一個新字典,裡面的資料與原字典相同(淺複製)
deepcopy 同時複製值及其包含的所有值(深複製)
fromkeys 建立一個包含指定鍵的新字典,每個鍵對應值均為None
get 訪問字典項
items 返回一個包含所有字典項的列表
keys 返回一個包含指定字典中的鍵的字典檢視
update 使用一個字典中的項更新另一個字典
values返回一個由字典中的值組成的字典檢視
(五)流程控制
1.縮排
在迴圈中和if語句中均有縮排,需要注意
2.if語句
if用來判斷條件是否成立
(1)單個條件判斷使用if-else語句
a=0 if a>0: print(a)#條件成立執行的語句 else: print(a+1)#條件不成立執行的語句
(2)多個條件判斷使用elif子句
a=0 if a>0: print(a+1)#第一個條件成立執行的語句 elif a==0: print(a)#第二個條件成立執行的語句 else: print(a-1)#第一個條件和第二個條件均不成立執行的語句
3.迴圈
(1)while迴圈
條件成立,進入迴圈,執行迴圈裡面的內容,直到條件不成立,退出迴圈
x=1 while x<=100:#迴圈條件 print(x)#迴圈中的內容 x+=1#迴圈中的內容
(2)for迴圈
for迴圈通常用來遍歷我們所需要遍歷的元素
a=[1,2,3,4,5,6,7,8,9,10] for a in a: print(a)
執行結果:
1
2
3
4
5
6
7
8
9
10
4.簡單的列表推導式
[(x,y)for x in range(3) for y in range(3)]#遍歷一個x從0到2,y從0到2的平面座標
4.其他
break 跳出迴圈
continue 結束當前迭代,進入下一次迭代
pass 什麼都不做
del 刪除不再使用的物件
(六)函式
函式,就是一個可被呼叫的程式碼塊。
函式的定義和呼叫
def ifelse(a):#定義一個名為ifelse的函式 if a>0: print(a+1) else: print(a-1)#程式碼塊 a=input('a=') ifelse(int(a))#呼叫函式
函式遞迴
函式遞迴指的是函式自己呼叫自己的情況
下面給出示例
def power(x,n): if n==0: return 1 else: return x*power(x,n-1)#重複呼叫自身 print(power(2,3))
(七)類與物件
類:型別
物件:屬於特定的類,並且被稱為該類的例項
方法:與函式類似
類的繼承:
python中可以進行多繼承,一個基類可以有多個子類,一個子類可以有多個基類。Python中應當儘量避免多繼承。
class fruit1():#定義一個基類 def __init__(self,person,fruit):#基類的方法 self.person =person self.fruit=fruit def eat(self): print('%s愛吃%s'%(self.person,self.fruit)) class apple(fruit1):#建立基類下的子類 def __init__(self,person,fruit,health): super(apple, self).__init__(person,fruit)#子類應該具有基類的屬性 self.health=health def good(self):#子類的方法 print('%s有%s'%(self.fruit,self.health)) a=apple('孩子','apple','vc') a.good()
靜態方法和類方法
靜態方法:靜態方法的定義中沒有引數self,可直接通過類來呼叫
類方法:定義中包含類似於self的引數,通常被命名為cls。它可以通過物件直接呼叫,但引數cls將自動關聯到類
class Myclass: def smeth():#靜態方法 print('This is aatatic method') smeth=staticmethod(smeth) def cmeth(cls):#類方法 print('This is class method of',cls) cmeth=classmethod(cmeth)
(八)檔案操作
檔案操作是Python中的一個重要的部分,檔案有以下幾種常用操作
r 讀取模式
w 寫入模式
x 獨佔寫入模式
a 附加模式
b 二進位制模式(與其他模式結合使用)
t 文字模式(預設值,與其他模式結合使用)
+ 讀寫模式(與其他模式結合使用)
下面以寫入模式為例
f=open('somefile.txt','w')#以寫入模式開啟檔案 f.write('Hello,') f.write('World!')#寫入內容 f.close()#關閉檔案
(九)常用模組 time模組
我們可以匯入time模組進行關於時間的操作
import time as t#將time模組匯入,並使其別名為t t.sleep(5)使用time模組中的sleep函式,使程式休眠5秒
time模組中的常用方法:
asctime([tuple]) 將時間元祖轉換為字串
localtime([secs])將秒數轉換為表示當地日期的時間元祖
mktime(tuple)將時間元祖轉換為當地時間
sleep [secs] 休眠sec秒
strtime(string[,format])將字串轉換為時間元祖
time()當前時間(從新紀元開始後的秒數,以UTC為準)
(十)異常
異常是什麼?
異常是程式中出現的相關錯誤,我們可以通過有關操作來捕獲它
try: x=int(input('Enter the first number:')) y=int(input('Enter the next number:')) print(x/y)#要執行的程式碼塊 except (ZeroDivisionError,TypeError)as e:#檢查是否有此異常 print(e)#有異常的操作 else:print('No error')#無異常的操作 finally:print('Solve it')#有無異常都要進行的操作
如果程式碼塊中的異常與檢查的異常不符,程式仍會報錯
IDE:Anaconda3(64-bit)
參考文獻《Python基礎教程》(第3版)
[挪]Magnus Lie Hetland 著
袁國忠 譯
相關文章
- 淺談Python中的bs4基礎Python
- Java基礎之淺談集合Java
- Java基礎之淺談介面Java
- [基礎] 淺談 JS Event LoopJSOOP
- Java基礎之淺談泛型Java泛型
- 淺談python零基礎教程總結30天--day8Python
- Java基礎之淺談繼承、多型Java繼承多型
- Service Cloud 零基礎(二)Knowledge淺談Cloud
- 淺談RASP技術攻防之基礎篇
- Python集合淺談Python
- 手擼ORM淺談ORM框架之基礎篇ORM框架
- salesforce零基礎學習(九十八)Type淺談Salesforce
- 淺談Kotlin語法篇之基礎語法(一)Kotlin
- python基礎學習9—-深淺拷貝Python
- Salesforce Consumer Goods Cloud 淺談篇一之基礎介紹SalesforceGoCloud
- Java基礎之淺談異常與瞭解斷言Java
- salesforce零基礎學習(九十六)Platform Event淺談SalesforcePlatform
- 談談JVM(基礎模型)JVM模型
- Python基礎篇-Python基礎01Python
- 淺談python中的xpath用法Python
- Python基礎入門知識點——深淺拷貝Python
- 淺談Python專案開發&管理Python
- 淺析Hadoop基礎原理Hadoop
- Python基礎筆記01-Python基礎Python筆記
- python基礎中的基礎Python
- 談談Java基礎資料型別Java資料型別
- Python基礎Python
- python 基礎Python
- Python 基礎 (-)Python
- Python基礎學習13-淺拷貝和深拷貝Python
- 淺談Winform控制元件開發(一):使用GDI+美化基礎視窗ORM控制元件
- Python基礎:語法基礎(3)Python
- 淺談設計模式及python實現設計模式Python
- PHPer 淺談 Python 的資料結構PHPPython資料結構
- 淺談我對python中的monkey patchPython
- Python3之淺談----深拷貝與淺拷貝Python
- 淺淺談ReduxRedux
- 談談網路協議 – 基礎知識協議