C程序员眼里的Python
注釋
Phython的注釋和C語言非常不同,第一種 #開頭的注釋,類似于C的//開頭,而"""對 包圍注釋,類似于C的/* */,以及xml類的<!--??? -->。#號注釋也就算了,"""實在無語,不知道這種另辟蹊徑有什么好,徒增學習成本。
函數
Python的函數(類方法)的定義比較奇葩,以def開頭,接著函數名,參數列表,冒號,函數體內容需縮進,如下,對于C、Java系統出身的人,沒有花括號,真是不習慣啊
def funcname (params) :............return ...函數能返回多個值
在看Python代碼時經常發現函數返回多個結果值的情況,翻了資料才知道,其實也是單值返回,只是返回的就是數組而已,唯一的差別在于Python可以定義多個變量接收返回值,這個確實方便
下劃線
有的時候看到函數返回值用_接收,或 for _ in range的語句,查了資料,_表示臨時性的變量等,我們不關心此變量的值,但語法上又不能缺少,大致如此,不求甚解
?[:num]及[num:]寫法
其中num是數組索引,如果是負數則從尾巴上數,-1表示最后一個元素,冒號表示分割,冒號在前,表示取索引前的所有元素,冒號在后,表示取索引所在位置及后面的所有元素。
舉例:
>>> '123'[2:]
'3'
>>> '123'[:2]
'12'
類成員函數self參數
python類成員函數與普通函數形式一致,但要求第一個參數為self,在C程序員眼里這個真是非常無聊的事情,默認提供一個this關鍵字不是更好嗎
字符串格式
python的字符串格式,使用%操作符,舉例說明:
>>> a=1
>>> b=2
>>> '%d:%d' % (a, b)
'1:2'
非常簡單,好用!
函數的關鍵字參數
函數的調用可以根據位置順序來指定參數即位置參數,也可以根據參數名字來指定參數即關鍵字參數,使用關鍵字參數時,參數的位置無關,類似于JSON中的key;如果混合位置參數和關鍵字參數,那么,位置參數必須在前面,舉例:
>>> def myprint(name, age): ... print 'name=%s age=%d' % (name, age) ... >>> >>> myprint('tom', 8) name=tom age=8 >>> myprint(age=8, name='tom') name=tom age=8 >>> myprint('tom', age=8) name=tom age=8在JavaScript編碼中,經常會使用Object來傳遞參數,好處是參數非常靈活,Python的這種調用方式,在此基礎上更跨一步。
函數的屬性變量
在Python中一切皆對象,函數也是,所以可以通過函數名.變量名的方式來定義變量,如下:
>>> def billux(): ... print 'hello' ... >>> billux() hello >>> billux.v = 4.5 >>> billux.v 4.5?
轉載于:https://www.cnblogs.com/billux/p/8990023.html
總結
以上是生活随笔為你收集整理的C程序员眼里的Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 房产证使用期限是什么意思?
- 下一篇: 了解mysqlpump工具