IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
學(xué)習(xí)Python后,覺(jué)得Python還是比較簡(jiǎn)單,容易上手的,就基本語(yǔ)法而言,但是有些高級(jí)特性掌握起來(lái)還是有些難度,需要時(shí)間去消化。Python給我最大的印象就是語(yǔ)法簡(jiǎn)潔,就像寫(xiě)偽代碼一樣,很多其他語(yǔ)言要用很多行才能實(shí)現(xiàn)的操作Python可能幾行就搞定了,這讓人擺脫了繁雜的語(yǔ)法而專注于問(wèn)題本身。
Python是一門面向?qū)ο蟮慕忉屝哉Z(yǔ)言(腳本語(yǔ)言),這一類語(yǔ)言的特點(diǎn)就是不用編譯,程序在運(yùn)行的過(guò)程中,由對(duì)應(yīng)的解釋器向CPU進(jìn)行翻譯,個(gè)人理解就是一邊編譯一邊執(zhí)行。而Java這一類語(yǔ)言是需要預(yù)先編譯的。沒(méi)有編譯最大的痛苦就是無(wú)法進(jìn)行斷點(diǎn)調(diào)試,唯一的辦法就是在有疑問(wèn)的地方打印各個(gè)變量的值來(lái)進(jìn)行調(diào)試。這一類語(yǔ)言也沒(méi)用類型,也就是說(shuō)一個(gè)變量即可能是int型,但是也可能是String型,而且可以隨時(shí)變化。
Python對(duì)于代碼格式要求也相當(dāng)嚴(yán)格,通過(guò)對(duì)于縮進(jìn)的距離來(lái)判斷代碼是否處于同一個(gè)代碼塊。這樣做的好處在于代碼編寫(xiě)看上去很統(tǒng)一,不過(guò)習(xí)慣了Java再看Python,一開(kāi)始還真的有點(diǎn)懵。
Python也不依靠分號(hào)來(lái)決定一句代碼是否結(jié)束,一行代碼就是一句代碼。
最后有兩個(gè)疑問(wèn):
第一個(gè)疑問(wèn):似乎Python里面是沒(méi)有類這個(gè)概念的,那么我怎么像Java那樣定義一個(gè)對(duì)象的各種屬性呢?就目前學(xué)習(xí)的已知知識(shí)來(lái)看,Python有map這樣的概念,個(gè)人看著和json數(shù)據(jù)差不多比如people={‘name’:’Lilei’,’age’=22}這樣的話倒是實(shí)現(xiàn)了對(duì)一個(gè)對(duì)象進(jìn)行各種屬性的定義,但是就沒(méi)有方法調(diào)用了,調(diào)用方法似乎只能play(people)而沒(méi)有people.play(),這個(gè)只有后期學(xué)習(xí)才能理解了。
第二個(gè)疑問(wèn):就是如果Python沒(méi)有類型定義,那么如何實(shí)現(xiàn)方法重載呢?在方法內(nèi)部對(duì)于參數(shù)類型進(jìn)行判斷么?但是似乎只能區(qū)別幾種基本數(shù)據(jù)類型;蛘哒f(shuō)Python沒(méi)有方法重載?那么在設(shè)計(jì)接口調(diào)用的時(shí)候,感覺(jué)會(huì)有點(diǎn)麻煩呢?
Python是一門面向?qū)ο蟮慕忉屝哉Z(yǔ)言(腳本語(yǔ)言),這一類語(yǔ)言的特點(diǎn)就是不用編譯,程序在運(yùn)行的過(guò)程中由對(duì)應(yīng)的解釋器向CPU進(jìn)行編譯,一邊編譯一邊執(zhí)行他屬于腳本語(yǔ)言,不想編譯型語(yǔ)言那樣先將程序編譯成二進(jìn)制在運(yùn)行。
1)程序塊不是以“{”和“}”括起來(lái)來(lái)定義的,而是依據(jù)程序的縮進(jìn)來(lái)表示程序的塊和代碼的層次
2)程序以一個(gè)邏輯行尾單位進(jìn)行執(zhí)行,一個(gè)邏輯行可以由多個(gè)物理行組成(通過(guò)\來(lái)連接下一行),一個(gè)物理行可以分成多個(gè)邏輯行(通過(guò)“;”來(lái)分隔同一物理行的多個(gè)邏輯行。但是一般不建議使用“;”來(lái)分隔邏輯行,建議使用換行和縮進(jìn)來(lái)組織程序結(jié)構(gòu))
3)程序中沒(méi)有類似main函數(shù)的主程序,一個(gè)文件中的所有內(nèi)容(代碼)按照行從上到下從左到右執(zhí)行。在文件中有函數(shù),函數(shù)定義部分等到調(diào)用才執(zhí)行。
4)變量在定義時(shí)沒(méi)有類型,在運(yùn)行期間才去確定數(shù)據(jù)類型。變量沒(méi)有固定類型,前一次賦值的時(shí)候是什么類型就是什么類型,而且是可以動(dòng)態(tài)變動(dòng)的。
5)函數(shù)定義中沒(méi)有返回值及返回值類型的說(shuō)明,只有函數(shù)名和參數(shù)列表(參數(shù)也沒(méi)有類型,同一函數(shù)在同一程序中可接收不同類型的參數(shù))。如果沒(méi)有返回值則默認(rèn)返回NONE,如果有顯示的return語(yǔ)句,則返回被return的值。(在同一函數(shù),多個(gè)return可以返回不同類型的或不返回)
6)常用的函數(shù)a.raw_input(str)函數(shù):接收用戶從控制臺(tái)輸入的數(shù)據(jù),返回一個(gè)字符串。參數(shù)str是提示語(yǔ)句。b.int(str)等函數(shù):將字符串轉(zhuǎn)換成int類型,可以配合raw_input(str)函數(shù)使用,從用戶輸入獲取int數(shù)據(jù)。c.len(obj)函數(shù):獲取列表、元組、字典等的長(zhǎng)度,返回長(zhǎng)度的值d.print函數(shù):打印內(nèi)容到控制臺(tái),可以是數(shù)值、字符串、序列等各種類型。打印完后默認(rèn)是自動(dòng)換行,如果后面接“,”則不換行?梢愿袷交址,使用%d(%o、%x)、%f、%s等。
通過(guò)這些天的學(xué)習(xí)使我收獲非常大,讓我對(duì)Python這門語(yǔ)言有了新的認(rèn)識(shí),學(xué)習(xí)到了很有用的知識(shí),收獲頗豐。
相關(guān)推薦
>>本文地址:http://liujunjsxg.cn/dxs/2018/45205.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?
07月15日Java
咨詢/試聽(tīng)07月15日Python+人工智能
咨詢/試聽(tīng)07月15日Web前端
咨詢/試聽(tīng)07月15日UI設(shè)計(jì)
咨詢/試聽(tīng)07月15日大數(shù)據(jù)
咨詢/試聽(tīng)07月15日Java
咨詢/試聽(tīng)07月15日Python+人工智能
咨詢/試聽(tīng)07月15日Web前端
咨詢/試聽(tīng)07月15日UI設(shè)計(jì)
咨詢/試聽(tīng)07月15日大數(shù)據(jù)
咨詢/試聽(tīng)