站在 Java 的肩膀上學(xué) Python (一)

轉(zhuǎn)載請(qǐng)注明出處:http://www.reibang.com/p/cbca89aff23d

開始學(xué)習(xí) Python 前图焰,我是有一定的 Java 基礎(chǔ)的。寫這篇文章的目的一方面是作為學(xué)習(xí) Python 的筆記,另一方面對(duì) Java 和 Python 進(jìn)行對(duì)比肘交,便于記憶仔涩。
我是跟著廖雪峰的Python教程學(xué)習(xí)的,所以筆記中有的東西是直接復(fù)制過來的穆桂。

Python 的特點(diǎn)

龜叔給Python的定位是“優(yōu)雅”、“明確”融虽、“簡(jiǎn)單”享完,總的來說,Python的哲學(xué)就是簡(jiǎn)單優(yōu)雅有额,盡量寫容易看明白的代碼般又,盡量寫少的代碼。

那Python適合開發(fā)哪些類型的應(yīng)用呢巍佑?

首選是網(wǎng)絡(luò)應(yīng)用茴迁,包括網(wǎng)站、后臺(tái)服務(wù)等等萤衰;

其次是許多日常需要的小工具堕义,包括系統(tǒng)管理員需要的腳本任務(wù)等等;

另外就是把其他語言開發(fā)的程序再包裝起來脆栋,方便使用倦卖。

Python的缺點(diǎn)

  • 第一個(gè)缺點(diǎn)就是運(yùn)行速度慢洒擦,和C程序相比非常慢,因?yàn)镻ython是解釋型語言糖耸,代碼在執(zhí)行時(shí)會(huì)一行一行地翻譯成CPU能理解的機(jī)器碼秘遏,這個(gè)翻譯過程非常耗時(shí),所以很慢嘉竟。而C程序是運(yùn)行前直接編譯成CPU能執(zhí)行的機(jī)器碼邦危,所以非常快舍扰。

  • 第二個(gè)缺點(diǎn)就是代碼不能加密倦蚪。如果要發(fā)布你的Python程序,實(shí)際上就是發(fā)布源代碼边苹,這一點(diǎn)跟C語言不同陵且,C語言不用發(fā)布源代碼,只需要把編譯后的機(jī)器碼(也就是你在Windows上常見的xxx.exe文件)發(fā)布出去个束。要從機(jī)器碼反推出C代碼是不可能的慕购,所以,凡是編譯型的語言茬底,都沒有這個(gè)問題沪悲,而解釋型的語言,則必須把源碼發(fā)布出去阱表。

運(yùn)行Python

python

退出Python

>>> exit()

輸出函數(shù)

如果要讓Python打印出指定的文字殿如,可以用print()函數(shù),但與 Java 只能用雙引號(hào)不同的是最爬, Python 可以把希望打印的文字用單引號(hào)或者雙引號(hào)括起來涉馁,但不能混用單引號(hào)和雙引號(hào)。

>>> print("hello, world")
hello, world
>>> print('hello, world')
hello, world

print()函數(shù)也可以接受多個(gè)字符串爱致,用逗號(hào)“,”隔開烤送,print()會(huì)依次打印每個(gè)字符串,遇到逗號(hào)“,”會(huì)輸出一個(gè)空格,就可以連成一串輸出:

>>> print("My", "name", "is", "XiaoMai")
My name is XiaoMai

其實(shí)上面的代碼是下面的略寫:

>>> print("My", "name", "is", "XiaoMai", sep = " ")

sep 的默認(rèn)值為一個(gè)空格蒜鸡,可以給它賦值改變輸出結(jié)果:

>>> print("My", "name", "is", "XiaoMai", sep = "")
MynameisXiaoMai
>>> print("My", "name", "is", "XiaoMai", sep = "\n")
My
name
is
Xiao
Mai

輸入

Python提供了一個(gè)input()函數(shù)胯努,可以讓用戶輸入字符串,并存放到一個(gè)變量里逢防。比如輸入用戶的名字:

>>> name = input()
XiaoMai
>>> name
'XiaoMai'

input()函數(shù)還可以顯示一個(gè)字符串來提示用戶

>>> name = input("please enter your name: ")
please enter your name: Xiao Mai
>>> name
'Xiao Mai'

Python語法

  • 注釋:和 Java 不一樣,Python 是以 # 開頭

  • Python 語法中蒲讯,每一行都是一個(gè)語句(和Java不同的是不用分號(hào)結(jié)尾)

  • 當(dāng)語句以冒號(hào) : 結(jié)尾時(shí)忘朝,縮進(jìn)的語句視為代碼塊。(這里的 : 我理解的其實(shí)就是Java中的 {})

  • 按照約定俗成的管理判帮,應(yīng)該始終堅(jiān)持使用 4個(gè)空格 的縮進(jìn)局嘁。

  • Python程序是大小寫敏感的

      # 這是注釋
      a = 100
      if a >= 0:
          print(a)
      else:
          print(-1)
    

數(shù)據(jù)類型

在Python中溉箕,能夠直接處理的數(shù)據(jù)類型有以下幾種:

  • 整數(shù)(不是整型):Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù)(跟Java不同的是沒有范圍限制)
  • 浮點(diǎn)數(shù):也比Java要高級(jí)點(diǎn)悦昵,沒有大小限制肴茄,但是超出一定范圍就直接表示為inf(無限大)
  • 字符串:字符串是以單引號(hào)'或雙引號(hào)"括起來的任意文本(又比Java牛逼了點(diǎn)!)
  • 布爾值:和 Java 不同的是 Python 中的布爾值為首字母大寫的 TrueFlase
  • 空值:又和 Java 不同但指,Python中用 None 表示空值

Python 對(duì)字符串的特殊處理

Python允許用 r'' 表示 '' 內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義

>>> print('\\\t\\')
\   \           
>>> print(r'\\\t\\')
\\\t\\

如果字符串內(nèi)部有很多換行寡痰,用 \n 寫在一行里不好閱讀,為了簡(jiǎn)化棋凳,Python允許用 '''...''' 的格式表示多行內(nèi)容

>>> print ('''line1
... line2
... line3''')
line1
line2
line3

上面是在交互式命令行內(nèi)輸入拦坠,注意在輸入多行內(nèi)容時(shí),提示符由 >>> 變?yōu)?... 剩岳,提示你可以接著上一行輸入贞滨。如果寫成程序,就是:

print('''line1
line2
line3''')

Python中的運(yùn)算符

Python中的運(yùn)算符比Java要更形象

  • Java中的 && 在Python中用 and 表示
  • Java中的 || 在Python中用 or 表示
  • Java中的 拍棕! 在Python中用 not 表示

此外晓铆,和Java不同的是,在Python中绰播,if 后面的條件語句也可以省略括號(hào)

if (age >= 18):

可以略寫為:

if age >= 18:

Python中的變量

和Java不同的是骄噪,Python中的變量不需要聲明數(shù)據(jù)類型,可以把任意數(shù)據(jù)類型賦值給變量幅垮,同一個(gè)變量可以反復(fù)賦值腰池,而且可以是不同類型的變量。

a = 1 # 我是整數(shù)
print(a)
a = 'a' # 我又變成了字符串
print(a)
a = True # 我又變成了布爾值
print(a)

運(yùn)行結(jié)果:

1
a
True

這種變量本身類型不固定的語言稱之為動(dòng)態(tài)語言忙芒,與之對(duì)應(yīng)的是靜態(tài)語言示弓。靜態(tài)語言在定義變量時(shí)必須指定變量類型,如果賦值的時(shí)候類型不匹配呵萨,就會(huì)報(bào)錯(cuò)奏属,例如Java是靜態(tài)語言。

Python中的常量

Python中常量的命名規(guī)則和Java是一樣的潮峦,通常用全部大寫的變量名表示囱皿。
但是和Java不同的是,雖然稱它為常量忱嘹,但Python中的常量其實(shí)仍然是一個(gè)變量嘱腥,它的值是可以修改的,而Java就不可以修改了拘悦。

Python中的除法

在Python中有兩種除法:///

  • 第一種:/ 的計(jì)算結(jié)果是浮點(diǎn)數(shù)齿兔,即使是兩個(gè)整數(shù)恰好整除,結(jié)果也是浮點(diǎn)數(shù):

      >>> 10 / 3
      3.3333333333333335
      >>> 9 / 3
      3.0
    
  • 第二種://稱為地板除,兩個(gè)整數(shù)的除法仍然是整數(shù):

      >>> 10 // 3
      3
      >>> 10.0 // 3 # 這個(gè)我也解釋不了
      3.0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末分苇,一起剝皮案震驚了整個(gè)濱河市添诉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌医寿,老刑警劉巖栏赴,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異靖秩,居然都是意外死亡须眷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門盆偿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柒爸,“玉大人,你說我怎么就攤上這事事扭∩又桑” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵求橄,是天一觀的道長(zhǎng)今野。 經(jīng)常有香客問我,道長(zhǎng)罐农,這世上最難降的妖魔是什么条霜? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮涵亏,結(jié)果婚禮上宰睡,老公的妹妹穿的比我還像新娘。我一直安慰自己气筋,他們只是感情好拆内,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宠默,像睡著了一般麸恍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搀矫,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天抹沪,我揣著相機(jī)與錄音,去河邊找鬼瓤球。 笑死融欧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的卦羡。 我是一名探鬼主播蹬癌,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼权她,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼虹茶!你這毒婦竟也來了逝薪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤蝴罪,失蹤者是張志新(化名)和其女友劉穎董济,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體要门,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虏肾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了欢搜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片封豪。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖炒瘟,靈堂內(nèi)的尸體忽然破棺而出吹埠,到底是詐尸還是另有隱情,我是刑警寧澤疮装,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布缘琅,位于F島的核電站,受9級(jí)特大地震影響廓推,放射性物質(zhì)發(fā)生泄漏刷袍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一樊展、第九天 我趴在偏房一處隱蔽的房頂上張望呻纹。 院中可真熱鬧,春花似錦专缠、人聲如沸雷酪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽太闺。三九已至,卻和暖如春嘁圈,著一層夾襖步出監(jiān)牢的瞬間省骂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工最住, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钞澳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓涨缚,卻偏偏與公主長(zhǎng)得像轧粟,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項(xiàng)目接著寫寫一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,548評(píng)論 1 118
  • 又到年終兰吟,今年春節(jié)提前通惫,工作時(shí)間被迫壓縮,但是項(xiàng)目比往月要多得多混蔼,元旦3天假履腋,我加班2天。 加班這個(gè)話題在我家一直...
    mimi播報(bào)閱讀 278評(píng)論 6 6
  • 昨天(2017年3月21日)延旧,這位莫大姐,49歲左右槽地,因?yàn)樽罱_診為肝血管瘤住院迁沫,3月20日,她訴自己有左側(cè)嚴(yán)重頸...
    ZHICHENGWUXI閱讀 722評(píng)論 0 1
  • 不闷盔,你不能停下來弯洗,你必須承受這些來的及來不及的情緒。 ——致生活 ...
    糖多米閱讀 357評(píng)論 0 2