python使用什么来表示代码块_Python入门之基本语法
之前有自學(xué)python,用的是 python編程從入門到實(shí)踐 這本教材,個(gè)人覺(jué)得還挺好使的,適合零基礎(chǔ)的同學(xué)。但學(xué)過(guò)之后,就忘的差不多了,編程這件事在于實(shí)踐,一天不練手就會(huì)覺(jué)得生疏。剛好借這個(gè)機(jī)會(huì),把相關(guān)的語(yǔ)法知識(shí)再?gòu)?fù)習(xí)下。環(huán)境
編程環(huán)境可以選擇文本編輯器+命令行運(yùn)行,或者IDE。IDE界面比較友好,其中推薦jupyter notebook。實(shí)際上,Anaconda和jupyter notebook已成為數(shù)據(jù)分析的標(biāo)準(zhǔn)環(huán)境。Anaconda是專注于數(shù)據(jù)分析的Python發(fā)行版本,包含了conda、Python等190多個(gè)科學(xué)包及其依賴項(xiàng),是包管理器和環(huán)境管理器。jupyter 是一個(gè)交互式筆記本,可將數(shù)據(jù)分析的代碼、圖像和文檔全部組合在一個(gè)web文檔中。對(duì)于Anocanda的安裝以及環(huán)境的配置,可以看下面的教程。初學(xué)python者自學(xué)anaconda的正確姿勢(shì)是什么???www.zhihu.comjupyter notebook 可以做哪些事情??www.zhihu.com
Python基礎(chǔ)
一、編程規(guī)范
作為一門開(kāi)發(fā)語(yǔ)言,python自然也有自己的編程規(guī)范,如下:
1)代碼開(kāi)頭
python中代碼必須頂格編寫,除非被作為語(yǔ)句嵌套在條件判斷或條件循環(huán)中。
2)代碼層級(jí)
代碼與代碼之間的邏輯層級(jí)關(guān)系(涉及邏輯判斷、包含關(guān)系等情況)通過(guò)空格來(lái)界定,第一層頂格編寫,第二層(被包含或者邏輯判斷后的執(zhí)行動(dòng)作)開(kāi)頭預(yù)留4個(gè)空格(如果不考慮跨平臺(tái)可以使用tab)。
3)對(duì)齊方式
同一個(gè)層級(jí)的代碼必須嚴(yán)格對(duì)齊,如第一層都是頂格,第二層都是4個(gè)空格開(kāi)頭,第三層則是8個(gè)空格,以此類推。
4)注釋
單行注釋用#開(kāi)頭,單獨(dú)一行作為注釋或者在代碼后面通過(guò)#跟上注釋均可,多行注釋在首尾處用成對(duì)的三引號(hào)引用即可,可以是成對(duì)的三個(gè)單引號(hào)或者三個(gè)雙引號(hào)。
5)代碼塊
if邏輯判斷和for循環(huán)條件后面均以冒號(hào)結(jié)尾,然后通過(guò)4個(gè)空格開(kāi)始下一層級(jí)的實(shí)際執(zhí)行動(dòng)作語(yǔ)句編寫。這部分在冒號(hào)后面接上的語(yǔ)句稱為代碼塊。
二、語(yǔ)法
1、數(shù)據(jù)
(1)數(shù)據(jù)類型字符串:就是一系列字符,在python中,用括號(hào)括起來(lái)的都是字符串,引號(hào)可以是單引號(hào)也可是雙引號(hào)。
數(shù)字包括整型和浮點(diǎn)型。
布爾型:True和False
None型:
(2)容器
容器就是用來(lái)存放多個(gè)數(shù)據(jù),包括列表、元組、集合及字典。借用猴子老師的一張圖,可以幫助我們更好地了解這幾個(gè)容器的概念。列表
在python中,用方括號(hào)[]來(lái)表示列表,并用逗號(hào)分隔其中的元素。根據(jù)上圖中的信息我們就可以建立5個(gè)列表。(注意:所有的標(biāo)點(diǎn)符號(hào)需在英文狀態(tài)下,否則會(huì)報(bào)錯(cuò))
接下來(lái)對(duì)列表進(jìn)行操作,
1)訪問(wèn)列表元素
列表是有序集合,因此要訪問(wèn)列表的任何元素,只需告知該元素的位置或索引即可。注意,在python中,所以是從0開(kāi)始的,即列表中的第一個(gè)元素的索引為0,而不是1。其他元素,以此類推。
2)添加元素
兩種方式,在列表末尾添加元素和在列表中插入元素。
3)刪除元素
有時(shí),我們需要將元素刪除后并接著使用它,此時(shí)我們可以用pop()。
4)修改元素
元組
不可修改的列表稱為元組,但使用用圓括號(hào)()來(lái)標(biāo)識(shí)。同樣可以使用索引來(lái)訪問(wèn)元素。
集合
集合是一個(gè)沒(méi)有重復(fù)元素的容器,用花括號(hào){}來(lái)標(biāo)識(shí)。
1)添加元素
注意在創(chuàng)建空集合的時(shí)候只能使用stocksets=set(),因?yàn)閟tocksets={}創(chuàng)建的是空字典
2)刪除
3)查找
4)修改
字典
字典是一系列鍵—值對(duì),可以通過(guò)鍵來(lái)訪問(wèn)與之對(duì)應(yīng)的值,值可以是數(shù)字,字符串、列表乃至字典。如下圖所示:
1)訪問(wèn)字典中的值
2)添加鍵—值對(duì)
3)修改
4)刪除
2、條件判斷
每條if語(yǔ)句的核心都是一個(gè)值為True和False的表達(dá)式,python根據(jù)條件測(cè)試的值為True還是False來(lái)決定是否執(zhí)行if語(yǔ)句中代碼塊。
3、循環(huán)
循環(huán)就是批量處理數(shù)據(jù),Python中有兩種循環(huán),分別為:for循環(huán)和while循環(huán)。
(1)for 循環(huán)
for循環(huán)可以用來(lái)遍歷某一對(duì)象(遍歷:通俗點(diǎn)說(shuō),就是把這個(gè)循環(huán)中的第一個(gè)元素到最后一個(gè)元素依次訪問(wèn)一次)。for循環(huán)的基本結(jié)構(gòu)如下:
下面通過(guò)遍歷字典,來(lái)加深對(duì)for循環(huán)的理解:
(2) while 循環(huán)
for循環(huán)用于針對(duì)集合中的每個(gè)元素都一個(gè)代碼塊,即for循環(huán)是在序列窮盡時(shí)停止。而while循環(huán)循環(huán)不斷地運(yùn)行,直到指定的條件不滿足為止。
(3)跳出循環(huán)
跳出循環(huán)也有兩種方式,分別為continue和break;
其中,continue為跳出當(dāng)前循環(huán),返回到循環(huán)的開(kāi)頭:
break用于跳出整個(gè)循環(huán),不再執(zhí)行余下代碼:
4、函數(shù)
函數(shù)的調(diào)用:我們定義一個(gè)函數(shù),就是為了使用它。函數(shù)一般有兩個(gè)參數(shù),形參和實(shí)參。在函數(shù)add()中,變量x和y就是形參;而下圖中的1和2就是實(shí)參,實(shí)參就是調(diào)用函數(shù)時(shí)傳遞給函數(shù)的信息。
但在調(diào)用函數(shù)時(shí),值得注意的是函數(shù)的參數(shù)類型是否為可變數(shù)據(jù)類型:如果函數(shù)參數(shù)是字符串, 元祖, 和數(shù)字這3種不可更改的對(duì)象,參數(shù)傳遞時(shí),相當(dāng)于傳遞的是復(fù)制出來(lái)的數(shù)據(jù),對(duì)于數(shù)據(jù)本身沒(méi)有影響。如果參數(shù)傳入的數(shù)據(jù)類型是可變的類型,當(dāng)函數(shù)內(nèi)部修改該數(shù)據(jù)時(shí),原始的數(shù)據(jù)也改變了。
5、數(shù)據(jù)結(jié)構(gòu)
《數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)專業(yè)的一門必修課, 老師也經(jīng)常說(shuō),想學(xué)好編程,數(shù)據(jù)結(jié)構(gòu)和算法是必須要掌握的。相信大部分人跟我一樣,一直沒(méi)弄懂?dāng)?shù)據(jù)結(jié)構(gòu)到底有什么用。 抱著這種疑惑,在網(wǎng)上看了幾篇文章,發(fā)現(xiàn)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),并不僅僅是學(xué)習(xí)其中現(xiàn)成的那些隊(duì)列,堆棧,二叉樹,圖等經(jīng)典結(jié)構(gòu), 也不僅僅是學(xué)習(xí)其中的那些快速排序、冒泡排序等算法。
更重要的是學(xué)習(xí)一種思想:如何把現(xiàn)實(shí)問(wèn)題轉(zhuǎn)化為計(jì)算機(jī)語(yǔ)言的表示。
計(jì)算機(jī)其實(shí)一種很機(jī)械的機(jī)器,只會(huì)按照預(yù)定的指令一步步執(zhí)行,而人類的自然語(yǔ)言是很模糊的,那么我們的主要工作就是怎么把自然語(yǔ)言描述的問(wèn)題轉(zhuǎn)化為計(jì)算機(jī)語(yǔ)言的表示。
在這里介紹幾種基本的數(shù)據(jù)結(jié)構(gòu),以后再補(bǔ)充。隊(duì)列
你可以把隊(duì)列想象成一家雜貨店里排隊(duì)買單的人,隊(duì)伍中第一個(gè)人先被服務(wù)。隊(duì)列遵循先進(jìn)先出,也就是說(shuō)一旦你添加了新元素,你又想刪除它,必須先刪除它前面的所有元素。隊(duì)列只有兩個(gè)主要操作:入隊(duì)和出隊(duì)。 入隊(duì),就是將新的內(nèi)容插入隊(duì)列后面,而出隊(duì)就是前面所有的內(nèi)容。
棧
棧是限制在表的一端進(jìn)行插入和刪除運(yùn)算的線性表,通常稱插入、刪除的這一端為棧頂(Top),另一端為棧底(Bottom)。棧遵循先進(jìn)后出,top= -1時(shí)為空棧,top=0只能說(shuō)明棧中只有一個(gè)元素。
拓展—collections模塊
在內(nèi)置數(shù)據(jù)類型(字典、列表、元組和集合)的基礎(chǔ)上, collections模塊還提供了幾個(gè)額外的數(shù)據(jù)類型:Counter、deque、defaultdict、namedtuple和OrderedDict等。
1)counter:計(jì)數(shù)器,主要用來(lái)計(jì)數(shù)
2)namedtuple: 生成可以使用名字來(lái)訪問(wèn)元素內(nèi)容的tuple
3)deque: 雙端隊(duì)列,可以快速的從另外一側(cè)追加和推出對(duì)象
4)OrderedDict: 有序字典
5)defaultdict: 帶有默認(rèn)值的字典
具體地,在使用后再詳細(xì)補(bǔ)充。
總之,這是一次溫故而知新的過(guò)程,把遺忘的知識(shí)又拾掇起來(lái)。其實(shí),編程語(yǔ)言的學(xué)習(xí)難點(diǎn)不在于語(yǔ)法結(jié)構(gòu),而是編程思維的形成,這條路任重而道遠(yuǎn),加油!
總結(jié)
以上是生活随笔為你收集整理的python使用什么来表示代码块_Python入门之基本语法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 苹果大幅砍单?蓝思科技等供应商称未收到通
- 下一篇: 耀炎食品-1.index