Python 基礎學習的幾個小例子


  最近在研究動態腳本語言 Python , 出於對其語言精簡度的喜歡及大學時期對 matlab 這樣的數學領域語言的懷念, 再加上筆者是C++起家,Python中所涉及的del機制與特殊方法重載(類比於c++中的運算符重載)等

, 讓筆者不自覺地玩起了 Python 。關於Python 發展歷程與基本語法這里不再多說,主要記錄一下學習過程中敲的一些樣例代碼。

  首先介紹一下最基本的多行、帶中文字符和特殊字符的字符串打印:

# -*- coding: utf-8 -*-
#注意在首行加上上面這行注釋,否則解釋器會報錯

print r'''中文測試/('')
來個高難度的‘’/*
哈哈!()""
'''

  關於帶默認參數、可變參數的自定義函數及偏函數:

import functools

print '------------ 自定義默認參數函數 -----------------'

def power(x,n = 2):
    s = 1
    while n > 0:
        s = s * x
        n = n - 1
    return s

print power(3)
print power(3, 3)

print '------------ 算定義可變參數 -----------------'

def fn(*args):
    print args

print fn(36,'39',47)    

print '------- 函數默認參數 -----'
def myInt2(x,n = 2):
    return int(x,n)
print myInt2('1101')

print '------------ partial -----------------'
int2 = functools.partial(int,base = 2)
print int2('1001')

  生成列表打印及其在條件過濾和嵌套循環中的應用:

print '------------直接打印------------'
print range(0,13)

print '------------生成列表---------------'
print [x * x for x in range(1,8)]

print '-------------- 生成列表的高級用法 ------------------'
d = { 'Adam': 90, 'Lisa': 80, 'Bart': 68}
tdList = ['<tr><td>%s</td><td>%s</td></tr>' % (name,score) for name,score
          in d.iteritems()]
print '<table>'
print '<tr><th>Name</th><th>Score</th></tr>'
print '\n'.join(tdList)
print '</table>'
print tdList

print '------------------ 列表條件過濾 ------------------'
print [x * x for x in range(1,11) if x % 2 != 0]


print '------------- 兩種方式 實現多層嵌套打印 ----------------'
print '------------ 1.傳統方式 -----------'
L = []
for m in 'ABC':
    for n in '123':
        L.append(m + n)
print L

print '------------- 2.生成列表 ---------'
print [m + n for m in 'abc' for n in '123']

  關於迭代,這里以dict的迭代為例:

print '------------ enumerate ---------------'
L = ['Adam','Lisa','Bart','Paul']

for index,value in enumerate(L):
    print index,'-',value

print '------------- iteration of dict -----------'
d = {'Adam': 95, 'Lisa': 80, 'Bart': 60}


print '------ 直接打印值 --------'
print d.values()

print '------ 普能迭代 --------'
for v in d.values():
    print v
    
print '------ 省內存迭代 --------'
for v in d.itervalues():
    print v
    

print '------ 直接打印鍵值對  --------'
print d.items()

print '------ 鍵值一起迭代  --------'
for k,v in d.iteritems():
    print k,':',v

  最后提一下lambda函數,感覺它跟生成列表一樣,能幫助使用者快生成一個自定義函數:

f = lambda x: x * x
print f(3)

myabs = lambda x: -x if x < 0 else x
print myabs(-11)
print myabs(12)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM