python杂记(一)
基礎(chǔ)知識(shí)
with 語(yǔ)句
with關(guān)鍵字可以用來啟動(dòng)一個(gè)新的代碼塊,就像try一樣,但目的卻是截然不同的。通過使用with塊,你將定義一個(gè)特定的上下文,并在該上下文中執(zhí)行代碼塊的內(nèi)容。然而美妙之處在于,你在with語(yǔ)句中提供的對(duì)象將用來確定上下文的含義。
例如,可以在with語(yǔ)句中使用open(運(yùn)行文件的上下文中的某些代碼。在這種情況下,with還提供了as子句,進(jìn)而允許在當(dāng)前上下文中執(zhí)行時(shí)返回一個(gè)對(duì)象以供使用。
三元表達(dá)式
def test_value(value):return 'The value is'+('just right.' if value <100 else 'too big!'區(qū)別與與像c++和Java的 表達(dá)式?value1:valu2;
字符串格式化元組
print('Hello %s,%s,%s'%('xiao hua','xiao wang','xiao li')) #或者 name = ('xiao hua','xiao wang','xiao li') print('Hello %s,%s,%s'%name)序列解包
domain,tld = 'python.com'.split('.') >>>domain 'python'針對(duì)string類型的split()函數(shù)。它主要是切割字符串,結(jié)果返回由字符串元素組成的一個(gè)列表.
列表解析式
output = [str(value) for value in range (10) if value>5] print(output) >['6','7','8','9']集合解析式
集合是無序的
output = {str(value) for value in range (10) if value>5} print(output) >{'6','7','8','9'}字典解析式
字典是無序的,冒號(hào)是區(qū)分集合與字典的因子。
output = {value:str(value) for value in range (10) if value>5} print(output) >{6:'6',7:'7',9:'9',8:'8'}空集合與空字典
#空集合 test=set() #空字典 test={}函數(shù)
讓參數(shù)個(gè)數(shù)不定
通過在參數(shù)名稱前添加一個(gè)星號(hào)
def add (*items):self.item.extend(items列表元素排序個(gè)性化
def get_price(house):return house.price houses.sort(key=get_price)lambda
lambda函數(shù)體實(shí)際上就是它的返回值。沒有顯式的return語(yǔ)句,所以整個(gè)函數(shù)體實(shí)際上只是用于返回一個(gè)值的單個(gè)表達(dá)式,這就是lambda形式如此簡(jiǎn)潔卻又易于閱讀的一個(gè)重要原因。但我們也是有代價(jià)的:只知許使用單個(gè)表達(dá)式;不能使用任何控制結(jié)構(gòu),如try、with或while代碼塊;不能在函數(shù)體內(nèi)分配變量;并且對(duì)于多步操作,如果不將它們綁定到同一個(gè)表達(dá)式中,則無法執(zhí)行這些操作。
a = lambda :"Hellw" print(a()) >"Hellw"b = lambda x:x*x print(b(3)) >9類
super()函數(shù)
常見解釋,該函數(shù)允許在子類的重寫方法中調(diào)用基類的方法。
class A(odject):def fun(self):print('A') class B(A):def __init__(self):print('B')def fun(self):return super(B,self).fun()總結(jié)
以上是生活随笔為你收集整理的python杂记(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python操作MySQL
- 下一篇: 动态规划/贪心总结(一)