Python 初體驗(三)

來源:互聯網
上載者:User
  • 交換元素

python的交換元素的方法非常簡單,一般的程式設計語言中需要使用temporary variables,但是python中不需要

>>> a = 1
>>> b =2
>>> c =3
>>> a,b,c = c ,b,a
>>> a
3
>>> b
2
>>> c
1
>>>

  • construct a dictionary without excessive quoting

>>> def makedic(**dic):
    return dic

>>> data = makedic(red = 1, black = 2, blue = 3)

  • 關於調用module

編寫了一個module check.py用來檢查一個字典中是否有某個索引。檔案如下:

check.py

def check(key, **dic):
    if dic.has_key(key):
        print dic[key]
    else:
        print 'not found'

現在我想調用這個函數了,先定義了一個字典:

>>> def makedic(**k):
    return k

>>> data = makedic(red=1,green=2,blue=3)
>>> data
{'blue': 3, 'green': 2, 'red': 1}

然後import check這個module,運行check函數:

>>> import check
>>> check('green',**data)

Traceback (most recent call last):
  File "<pyshell#89>", line 1, in <module>
    check('green',**data)
TypeError: 'module' object is not callable
報錯,提示module object is not callable,要解決這個問題記住匯入的module不想直接在檔案中定義的函數一樣可以直接使用,需要在module object中使用:

>>> check.check('green',**data)
2
>>> check.check('black',**data)
not found

這樣就可以得到正確的運行結果了。

或者直接將check匯入,使用語句 from check import *(*表示將check中的所有函數,variable匯入)

通過if __name__ == '__main__': 可以判斷一個module是自己在運行 還是被import了運行

另外值得一提的是,python有一種更加簡單的方法檢查索引是否在字典中:

print data.get(‘green’,’not found ’)   即可

  • python作為指令碼語言方便的處理能力

有個檔案a.txt,裡麵包含了發散的數字,中間至少有空格,也有空行。如何提取這些數字呢?python用兩句話可以解決這個問題

>>> f = open('a.txt','r')
>>> n = f.read().split()
>>> n
['123', '345', '123', '456', '123', '33', '1', '12', '12', '23', '456']

  • how to run python module in command window?

script.py是這樣一個檔案,如何在cmd中運行?

import sys, math # load system and math module
r = float(sys.argv[1]) # extract the 1st command-line argument
s = math.sin(r)
print "Hello, World! sin(" + str(r) + ")=" + str(s)

 

方法是:開啟script.py所在目錄,輸入 script.py 1.4

輸出是:Hello, World! sin(1.4)=0.985449729988

  • ways to explore python

type(…)

dir(…)

help(…)

  • 複製

在python中複製list時,一定要注意複製方法。如果僅僅將一個list的name賦給另外一個list,那麼得到的list和原list指向同一塊記憶體。會造成無法預料的後果。

例如:

>>> a = [1,2,3]
>>> b = a
>>> del a[0]
>>> a
[2, 3]
>>> b
[2, 3]
>>> a=[1,2,3]
>>> b=a[:]                       ##推薦用這種方法進行複製
>>> del a[0]
>>> a
[2, 3]
>>> b
[1, 2, 3]

相關文章

聯繫我們

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