python基礎學習筆記(六)

來源:互聯網
上載者:User

 

學到這裡已經很不耐煩了,前面的資料結構什麼的看起來都挺好,但還是沒法用它們做什麼實際的事。

 

基本語句的更多用法

 

使用逗號輸出

>>> print 'age:',25age: 25

如果想要同時輸出文本和變數值,卻又不希望使用字串格式化的話,那這個特性就非常有用了:

>>> name = 'chongshi'>>> salutation = 'Mr'>>> greeting = 'Hello.'>>> print greeting,salutation,nameHello. Mr chongshi

 

 

模組匯入函數

從模組匯入函數的時候,可以使用

import somemodule

或者

form somemodule immport  somefunction

或者

from somemodule import somefunction.anotherfunction.yetanotherfunction

或者

from somemodule import *  

最後一個版本只有確定自己想要從給定的模組匯入所有功能進。

如果兩個模組都有open函數,可以像下面這樣使用函數:

module.open(...)

module.open(...)

當然還有別的選擇:可以在語句末尾增加一個as子句,在該子句後給出名字。

>>> import math as foobar   #為整個模組提供別名>>> foobar.sqrt(4)2.0>>> from math import sqrt as foobar  #為函數提供別名>>> foobar(4)2.0

 

指派陳述式

序列解包

>>> x,y,z = 1,2,3>>> print x,y,z1 2 3>>> x,y=y,x>>> print x,y,z2 1 3

可以擷取或刪除字典中任意的鍵-值對,可以使用popitem方

>>> scoundrel ={'name':'robin','girlfriend':'marion'}>>> key,value = scoundrel.popitem()>>> key'name'>>> value'robin'

鏈式賦值

鏈式賦值是將同一個值賦給多個變數的捷徑。

>>> x = y = 42# 同下效果:>>> y = 42>>> x = y>>> x42

增理賦值

>>> x = 2>>> x += 1  #(x=x+1)>>> x *= 2  #(x=x*2)>>> x6

 

 

控制語句

 if 語句:

name = raw_input('what is your name?')if name.endswith('chongshi'):    print 'hello.mr.chongshi'#輸入>>> what is your name?chongshi  #這裡輸入錯誤將沒有任何結果,因為程式不健壯#輸出hello.mr.chongshi

 

else子句

name = raw_input('what is your name?')if name.endswith('chongshi'):    print 'hello.mr.chongshi'else:  print 'hello,strager'#輸入>>> what is your name?hh  #這裡輸和錯誤#輸出hello,strager

 

elif 子句

它是“else if”的簡寫

num = input('enter a numer:')if num > 0:    print 'the numer is positive'elif num < 0:    print 'the number is negative'else:  print 'the nuber is zero'#輸入>>> enter a numer:-1#輸出the number is negative

 

嵌套

下面看一下if嵌套的例子(python是以縮排表示換行的)

name = raw_input('what is your name?')if name.endswith('zhangsan'):    if name.startswith('mr.'):        print 'hello.mr.zhangsan'    elif name.startswith('mrs.'):        print 'hello.mrs.zhangsan'    else:        print 'hello.zhangsan'else:    print 'hello.stranger'

  如果輸入的是“mr.zhangsan”輸出第一個print的內容;輸入mrs.zhangshan,輸出第二個print的內容;如果輸入“zhangsan”,輸出第三個print的內容;如果輸入的是別的什麼名,則輸出的將是最後一個結果(hello.stranger)

 

斷言

如果需要確保程式中的某個條件一定為真才能讓程式正常工作的話,assert 語句可以在程式中設定檢查點。

>>> age = 10>>> assert 0 < age < 100>>> age = -1>>> assert 0 < age < 100 , 'the age must be realistic'Traceback (most recent call last):  File "<pyshell#8>", line 1, in <module>    assert 0 < age < 100 , 'the age must be realistic'AssertionError: the age must be realistic

 

 

迴圈語句

 列印1到100的數(while迴圈)

x= 1while x <= 100:    print x  x += 1#輸出1234..100

再看下面的例子(while迴圈),用一迴圈保證使用者名稱字的輸入:

name = ''while not name:    name = raw_input('please enter your name:')print 'hello.%s!' %name#輸入>>> please enter your name:huhu#輸出hello.huhu!

列印1到100的數(for 迴圈)

for number in range(1,101):  print number#輸出1234..100

是不是比while 迴圈更簡潔,但根據我們以往學習其它語言的經驗,while的例子更容易理解。

 

一個簡單for 語句就能迴圈字典的所有鍵:

d = {'x':1,'y':2,'z':3}for key in d:  print key,'corresponds to',d[key]#輸出>>> y corresponds to 2x corresponds to 1z corresponds to 3

 

break語句

break 用來結束迴圈,假設找100以內最大平方數,那麼程式可以從100往下迭代到0,步長為-1

from math import sqrtfor n in range(99,0,-1):    root = sqrt(n)    if root == int(root):        print n        break#輸出>>> 81

 

continue 語句

continue結束當前的迭代,“跳”到下一輪迴圈執行。

while True:    s=raw_input('enter something:')    if s == 'quit':        break    if len(s) < 3:        continue  print 'Input is of sufficient length'#輸入>>> enter something:huzhiheng  #輸入長度大於3,提示資訊Input is of sufficient lengthenter something:ha        #輸入長度小於3,要求重輸enter something:hah       #輸入長度等於3,提示資訊Input is of sufficient lengthenter something:quit       #輸入內容等於quit,結果

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.