python 學習筆記一

來源:互聯網
上載者:User

 

初級階段 (簡單實踐)

 

tmp_storage = ""
welcome = "hello!"
tmp_storage = welcome
print tmp_storage

結果:hello!

-------------------------------------------------

radius = 10
pi = 3.14
area = pi*radius**2
print "the area is", area

結果:the area is 314.0

---------------------------------------------------

my_list = []
my_list = [1,2]
print my_list
my_list.append(3)
print my_list

結果:[1, 2, 3]

list是可以索引的:
print my_list[1]
不過你或許會不明白為什麼是2,而不是顯示的是1。因為索引從0開始,要輸出第一個元素:
print my_list[0]

----------------------------------------------------

contact_list=[]
contact1={}
contact1['name']='taowen'
contact1['phone']=68942443
contact_list.append(contact1)
contact2={}
contact2['name']='god'
contact2['phone']=44448888
contact_list.append(contact2)
print contact_list

結果:[{'phone': 68942443, 'name': 'taowen'}, {'phone': 44448888, 'name': 'god'}]

---------------縮排就是python中表示一段代碼的從屬關係的標記方法-----------------------------------------

i = 5
n = 0
while i>0:
    n = n + i
    i = i - 1
print n

結果:15

i = 5
n = 0
while i>0:
    n = n + i
    i = i - 1
    print n

結果:
5
9
12
14
15

你會發現輸入:之後,自動會給縮排。而且也沒有在python中發現和C/C++中類似的{}標記也沒有pascal中的begin end;,
其實縮排就是python中表示一段代碼的從屬關係的標記方法。表示n=n+1和i=i-1這兩句都是while的。
程式的運行邏輯應該不用解釋了吧。就是運行5+4+3+2+1的結果。

---------------------------------------------------

輸入要使用的是raw_input或者input函數,區別是raw_input直接把你的輸入作為字串返回,
而input則在raw_input的基礎上把字串轉換為數字返回(如果你輸入$@#$$怎麼辦?自己試試看)。
我們就利用這兩個輸入函數來作一些有趣的事情。

your_name = raw_input("please input your name:")

輸入:qiaochao

hint = "welcome! %s" % your_name
print hint

結果:welcome! qiaochao

%s表示在這個位置插入一個字串,%表示把後面提供的參數“推”入前面的字串中,所以推的結果是把%s推出去了,
把your_name給填入那個地方了。printf知道吧,C中的printf就是一樣的嘛。

-- 

inputed_num = 0
while 1:
    inputed_num = input("input a number between 1 and 10\n")
    if inputed_num >= 10:
        pass
    elif inputed_num < 1:
        pass
    else:
        break
print "hehe, don't follow, won't out"

pass就是pass了,過了嘛,什麼都不幹了。break就是跳出這個while 1(無窮迴圈,1總是真的,while總是執行)。\n是換行

----------------------------------------------------------------------------------------------

contact = {}
contact_list = []
while 1:
    contact['name'] = raw_input("please input name: ")
    contact['phone'] = raw_input("please input phone number: ")
    contact_list.append(contact.copy())
    go_on = raw_input("continue?\n")
    if go_on == "yes":
        pass
    elif go_on == "no":
        break
    else:
        print "you didn't say no\n"
i = 1
for contact in contact_list:
    print "%d: name=%s" % (i, contact['name'])
    print "%d: phone=%s" % (i, contact['phone'])
    i = i + 1

執行:python wanzheng.py
please input name: qiaochao
please input phone number: 18701376272
continue?
no
1: name=qiaochao
1: phone=18701376272

很有特色的%操作,起到格式化字串的作用,前面僅僅在字串中有一個%s,現在有%d和%s兩個,分別代表插入十進位數值和字串於%x標記的位置處。
列表
列表是順序的序列,用append在後面附加,也能構用索引值索引。所以我們完全可以用一個變數儲存len(contact_list)得到的長度,
然後一個個的遍曆,不過這裡展示了另外一種非常方便的方法。而且值得注意的是append()中的參數,我使用了contact.copy(),
你可以嘗試著把copy()給去掉,觀察結果你就知道了所謂的append是怎麼乾的了,特別是你對指標之類的東西很有感覺的話(但是在Python中是沒有指標這個概念的)
判斷
if是很好用的,==表示判斷兩個是否相等,=表示把右邊的賦給左邊的。而且可以直接判斷字串是否相等,這個太方便了,如果你曾經用過strcpy()的話,就知道了。
elif是表示else if的意思,如果if不滿足就判斷elif的條件是否滿足,最後是到else中去
迴圈是個主體
while和for都是迴圈。不過這裡while就沒什麼說的了,又是很經典的while 1,死迴圈,然後必須在裡面用break來跳出。for和C中的for是不一樣的,
for in才是一個完整的語句,指的是從一個能夠逐一取值的序列中(比如list),一個一個的取出值賦給for後面指定的變數中,直到取空,迴圈結束。
其實回想一般用C中的for的經曆,也大體如此。而且你還可以用for i in range(1,100)來指定一個範圍從多少到多少。可以說for in充分體現了python的體貼周到,
用起來很直觀,不會繞彎。

接下來就是運行了,大家慢慢調試吧。下次可能是講異常處理,因為我覺得在深入到使用各種進階的要素之前,先要學會怎麼去處理異常
。最常見的異常應該是input(),然後你給出的輸入是一個無法轉換為數位字串了,那麼我們就要來處理它。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.