標籤:

Python基礎語法知識總結與實踐(二)

導讀:這篇總結內容主要包括 for循環 ,函數,模塊 ,數據結構

一、for循環

python循環語句主要有for循環和while循環,實際中for循環用的比較多,所以主要說明下for循環到應用。

(個人定義)其主要作用就是對某個元素進行篩選,如果「正確」則繼續進行,如果「錯誤」則停止,從而對需要的」情況「進行整理。

舉例1:

print(吃第一次飯)print(吃第二次飯)print(吃第三次飯)#輸出吃第一次飯吃第二次飯吃第三次飯

舉例2

gafataDict={騰訊:HK:00700,阿里巴巴:baba,蘋果:apple,谷歌:google,facebook:fb,亞馬遜:amzn}for key,value in gafataDict.items(): newValue=value.upper() gafataDict[key]=newValue print(gafataDict)#輸出{騰訊: HK:00700, 阿里巴巴: BABA, 蘋果: APPLE, 谷歌: GOOGLE, facebook: FB, 亞馬遜: AMZN}

在循環中,有一組關鍵詞:continue和break用於告訴循環,在遇到循環停止的時候,要麼跳過當前循環塊中剩餘語句繼續下一輪循環,要麼終止循環讓對應的else塊也都不執行。

continue:

for key ,value in gafataDict.items(): if(key==蘋果): continue print(當前公司:,key,,當前股票:,value)#輸出當前公司 騰訊 當前股票 HK:00700當前公司 阿里巴巴 當前股票 BABA當前公司 谷歌 當前股票 GOOGLE當前公司 facebook 當前股票 FB當前公司 亞馬遜 當前股票 AMZN

break:

number=0for key,value in gafataDict.items(): number=number+1 if(key==蘋果): print(查找:,key,公司股票代碼是:,value) break print(當前公司:,key,公司股票代碼是:,value) #輸出當前公司 騰訊 公司股票代碼是 HK:00700當前公司 阿里巴巴 公司股票代碼是 BABA查找 蘋果 公司股票代碼是 APPLE

二、函數

定義:函數是組織好的,可重複使用的,用來實現單一、或相關功能的代碼段。

使用規則:

  • 函數代碼塊以def開頭,後接函數標識符名稱和圓括弧()
  • 任何傳入參數和自變數必須放在括弧中間,圓括弧之間可以定義參數
  • 函數的第一行語句可以選擇性使用文檔字元串用於存放函數說明
  • 函數內容以冒號開始,並且縮進
  • return[表達式]結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回None。

1、定義函數

def add(x,y): z=x+y return z

2、如何使用函數

#案例1:a=1b=2c=add(x=a,y=b)print(1和2相加等於,c)#輸出1和2相加等於 3#案例2:def area(width,height): return width*heightw=4h=5print(width_=,w,height=,h,area=,area(w,h))#輸出width= 4 height= 5 area= 20

3、函數參數:不可變數據類型與可變數據類型

字元串、數字、元組這3種是不可變數據類型,其他都是可變數據類型。

(自己理解)不可變數據類型指的是其在內存中的地址是不變的,即同一個數據其內存中僅有一個地址指向,而可變數據類型則指的是每一次定義後地址是不同。具體可參看這篇文章,很詳細淺顯的說明了兩者的區別:Python的可變與不可變數據類型 - CSDN博客

#不可變函數def changeInt(a): a=a+1b=1print(調用函數之前b的值:,b)changeInt(a=b)print(調用函數之後b的值=,b)#調用函數之前b的值 1調用函數之後b的值= 1#可變函數def changeList(inputList): inputList.append(奶茶妹妹) nameList=[馬雲,劉強東]print(調用函數之前的值:,nameList)changeList(inputList=nameList)print(調動函數之後的值:,nameList)

變數作用域

python中,程序的變數並不是哪個位置都可以訪問的,訪問許可權決定於這個變數是在哪裡賦值的。變數的作用域決定了在哪一部分程序可以訪問特定的變數名稱。python的作用域一共有4種,分別是:

  • 局部變數域
  • 閉包函數外的函數中
  • 全局作用域
  • 內建作用域

規則:局部--函數外--全局--內建的順序進行查找。

x=int(2.9) #內建作用域g_count=0 #全局作用域def outer(): o_count=1 #閉包函數外的函數中 def inner(): i_count=2 #局部作用域

三、模塊

什麼是模塊?

就是將一些定義好的函數和方法存在一個文件中,這個文件成為模塊(自己的理解)

引用方法有哪些?

import 包名稱

import 包名稱 as 別名

from 包名稱 import 函數名

import syspathList=sys.pathprint(python路徑為:
,pathList)#輸出python路徑為: [, /anaconda3/lib/python36.zip, /anaconda3/lib/python3.6, /anaconda3/lib/python3.6/lib-dynload, /anaconda3/lib/python3.6/site-packages, /anaconda3/lib/python3.6/site-packages/aeosa, /anaconda3/lib/python3.6/site-packages/IPython/extensions, /Users/erye/.ipython]

第三方模塊使用

import pandas as pdfileNameStr=/Users/erye/Python testing/第2關零基礎掌握人工智慧核心語言Python/數據/病曆數據.xlsxxl=pd.ExcelFile(fileNameStr)patientDf=xl.parse(Sheet1)print(patientDf)import pandas as pdfileNameStr=/Users/erye/Python testing/第2關零基礎掌握人工智慧核心語言Python/數據/病曆數據.xlsxxl=pd.ExcelFile(fileNameStr)patientDf=xl.parse(Sheet1)print(patientDf)#輸出 病人編號 姓名 年齡 糖尿病類型 病情0 1 猴子 29 1型糖尿病 較差1 2 馬雲 34 2型糖尿病 好轉2 3 王健林 28 1型糖尿病 顯著好轉3 4 馬化騰 52 2型糖尿病 較差

四、數據結構

1、隊列:隊列就像你去餐廳吃飯排隊,新來的人在隊列尾部加入,叫做入隊。取完票的人從隊列首部離開隊列,叫做出列。

from collections import dequequeue=deque([001,002,003,004,005])queue.append(006) #入隊,在隊列尾部插入元素print(queue)queue.popleft()#出隊,在隊列頭部刪除元素print(queue)#輸出deque([001, 002, 003, 004, 005, 006])deque([002, 003, 004, 005, 006])

2、棧(stack):棧這種數據結構有點像生活中的木桶,你往棧中加入新元素,就是入棧,新的元素總是放在木桶最上面。

stack=deque([知乎動態,知乎回答,知乎文章])stack.appendleft(知乎專欄)print(stack)#輸出deque([知乎專欄, 知乎動態, 知乎回答, 知乎文章])stack.pop()#輸出知乎文章print(stack)#輸出deque([知乎專欄, 知乎動態, 知乎回答])

3、排序字典OrderedDict

from collections import OrderedDictgafataOdDict=OrderedDict({騰訊:HK:00700,阿里巴巴:baba,蘋果:Apple, 谷歌::GOOGLE,Facebook:fb,亞馬遜:amzn})gafataOdDict#輸出OrderedDict([(騰訊, HK:00700), (阿里巴巴, baba), (蘋果, Apple), (谷歌, :GOOGLE), (Facebook, fb), (亞馬遜, amzn)])

4、計時器

from collections import CountercDict=Counter(有一種鳥是永遠也關不住的,因為他們的羽毛太光亮了。羽毛太光亮)cDict[]#輸出2cDict.most_common(3)#輸出[(, 2), (, 2), (, 2)]

第一篇:Python基礎語法知識總結與實踐(一)


推薦閱讀:

聊聊Python,談談未來
如何評價 Google 開發的,將 Python 轉譯為 Go 的 runtime:Grumpy?
為什麼Pypy沒有被推廣以及取代CPython?
for循環在Python中是怎麼工作的
回應「如何評價《python web開發實戰》?」的評價

TAG:Python |