python初级进阶篇
生活随笔
收集整理的這篇文章主要介紹了
python初级进阶篇
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python之路:進階篇
| 一、作用域 |
在Python中,并不是任何代碼塊都能引入新的作用域,這與C有很大的不同:
#include<stdio.h>int?main()?{
????if(2?>?0)?{
????????int?i?=?0;
????}
????printf("i?=?%d",?i);
????return?0;
}
?在這段代碼中,if子句引入了一個局部作用域,變量i就存在于這個局部作用域中,但對外不可見,因此,接下來在printf函數中對變量i的引用會引發編譯錯誤。
if?True:????i?=?0
print?i
?在這段代碼中,if子句并沒有引入一個局部作用域,變量i仍然處在全局作用域中,因此,變量i對于接下來的print語句是可見的。
| 二、三元運算 |
1??
>>>?1?if?False?else?0??
0??
>>>?"Fire"?if?True?else?"Water"??
'Fire'??
>>>?"Fire"?if?False?else?"Water"??
'Water'
?使用and-or技巧,利用條件判斷的優先特性來實現三元條件判斷,比如P∧Q,在Python中如果P為假,那么Python將不會繼續執行Q,而直接判定整個表達式為假(P值),當然如果P為真,那就還要繼續執行Q來決定整個表達式值;同樣的P∨Q,如果P為真,那么就不會繼續執行Q了…
簡化if判斷: name?=?'ales'#######################################################
if?1?==?1:
????name?'sb'
else:
????name?'2b'
可以寫成:
name?=?"sb"?if?1?==?1?else?"2b"????
name?=?值1?if?條件?else?值2
#如果條件成立,輸出值1,否則輸出值2
>>>?name?=?'dog'
>>>?name?=?"boy"?if?1?==?1?else?"gol"
>>>?print?name
boy
| 三、進制 |
| 四、python基礎 |
help(類型名) 查看類中所有詳細的功能名 help(類型名.功能名)查看類中某功能的詳細
python的一切事物都是對象,對象基于類創建
>>>?type(list)????????#查看對象屬于哪個類<type?'type'>
##############################################################
>>>?dir(list)????????????#查看類中有那些功能
['__add__',?'__class__',?'__contains__',?'__delattr__',?'__delitem__',?'__delsli
ce__',?'__doc__',?'__eq__',?'__format__',?'__ge__',?'__getattribute__',?'__getit
em__',?'__getslice__',?'__gt__',?'__hash__',?'__iadd__',?'__imul__',?'__init__',
?'__iter__',?'__le__',?'__len__',?'__lt__',?'__mul__',?'__ne__',?'__new__',?'__r
educe__',?'__reduce_ex__',?'__repr__',?'__reversed__',?'__rmul__',?'__setattr__'
,?'__setitem__',?'__setslice__',?'__sizeof__',?'__str__',?'__subclasshook__',?'a
ppend',?'count',?'extend',?'index',?'insert',?'pop',?'remove',?'reverse',?'sort'
]
??#帶雙下劃線的叫內置方法,可能有多種執行方法,最少一種。不帶雙下劃線的叫非內置
非內置執行方法list.append()
內置方法執行方式:
>>>?n1?=?-9>>>?abs(n1)
9
>>>?n1.__abs__()
9
>>>?help(list)???#查看類中所有詳細的功能
>>>?help(list.append)????#查看類中某功能的詳細信息
Help?on?method_descriptor:
append(...)
????L.append(object)?--?append?object?to?end
| Python列表函數&方法 |
| 1 | cmp(list1, list2) 比較兩個列表的元素 |
| 2 | len(list) 列表元素個數 |
| 3 | max(list) 返回列表元素最大值 |
| 4 | min(list) 返回列表元素最小值 |
| 5 | list(seq) 將元組轉換為列表 |
| 1 | list.append(obj) 在列表末尾添加新的對象 |
| 2 | list.count(obj) 統計某個元素在列表中出現的次數 |
| 3 | list.extend(seq) 在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表) |
| 4 | list.index(obj) 從列表中找出某個值第一個匹配項的索引位置 |
| 5 | list.insert(index, obj) 將對象插入列表 |
| 6 | list.pop(obj=list[-1]) 移除列表中的一個元素(默認最后一個元素),并且返回該元素的值 |
| 7 | list.remove(obj) 移除列表中某個值的第一個匹配項 |
| 8 | list.reverse() 反向列表中元素 |
| 9 | list.sort([func]) 對原列表進行排序 |
| Python支持四種不同的數值類型: |
| 10 | 51924361L | 0.0 | 3.14j |
| 100 | -0x19323L | 15.20 | 45.j |
| -786 | 0122L | -21.9 | 9.322e-36j |
| 080 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
| -0490 | 535633629843L | -90. | -.6545+0J |
| -0x260 | -052318172735L | -32.54e100 | 3e+26J |
| 0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
| python數字類型轉換 |
| python數學函數 |
| abs(x) | 返回數字的絕對值,如abs(-10) 返回 10 |
| ceil(x) | 返回數字的上入整數,如math.ceil(4.1) 返回 5 |
| cmp(x, y) | 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 |
| exp(x) | 返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045 |
| fabs(x) | 返回數字的絕對值,如math.fabs(-10) 返回10.0 |
| floor(x) | 返回數字的下舍整數,如math.floor(4.9)返回 4 |
| log(x) | 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
| log10(x) | 返回以10為基數的x的對數,如math.log10(100)返回 2.0 |
| max(x1, x2,...) | 返回給定參數的最大值,參數可以為序列。 |
| min(x1, x2,...) | 返回給定參數的最小值,參數可以為序列。 |
| modf(x) | 返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。 |
| pow(x, y) | x**y 運算后的值。 |
| round(x [,n]) | 返回浮點數x的四舍五入值,如給出n值,則代表舍入到小數點后的位數。 |
| sqrt(x) | 返回數字x的平方根,數字可以為負數,返回類型為實數,如math.sqrt(4)返回 2+0j |
| Python隨機函數 |
| choice(seq) | 從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。 |
| randrange ([start,] stop [,step]) | 從指定范圍內,按指定基數遞增的集合中獲取一個隨機數,基數缺省值為1 |
| random() | 隨機生成下一個實數,它在[0,1)范圍內。 |
| seed([x]) | 改變隨機數生成器的種子seed。如果你不了解其原理,你不必特別去設定seed,Python會幫你選擇seed。 |
| shuffle(lst) | 將序列的所有元素隨機排序 |
| uniform(x, y) | 隨機生成下一個實數,它在[x,y]范圍內。 |
| Python三角函數 |
| acos(x) | 返回x的反余弦弧度值。 | |
| asin(x) | 返回x的反正弦弧度值。 | |
| atan(x) | 返回x的反正切弧度值。 | |
| atan2(y, x) | 返回給定的 X 及 Y 坐標值的反正切值。 | |
| cos(x) | 返回x的弧度的余弦值。 | |
| hypot(x, y) | 返回歐幾里德范數 sqrt(x*x + y*y)。 | |
| sin(x) | 返回的x弧度的正弦值。 | |
| tan(x) | 返回x弧度的正切值。 | |
| degrees(x) | 將弧度轉換為角度,如degrees(math.pi/2) , 返回90.0 | |
| radians(x) | 將角度轉換為弧度 | |
| ?Python數學常量 |
| pi | 數學常量 pi(圓周率,一般以π來表示) |
| e | 數學常量 e,e即自然常數(自然常數)。 |
| Python 字符串 |
| ???????? %c | ?格式化字符及其ASCII碼 |
| ??????%s | ?格式化字符串 |
| ??????%d | ?格式化整數 |
| ??????%u | ?格式化無符號整型 |
| ??????%o | ?格式化無符號八進制數 |
| ??????%x | ?格式化無符號十六進制數 |
| ??????%X | ?格式化無符號十六進制數(大寫) |
| ????????? %f | ?格式化浮點數字,可指定小數點后的精度 |
| ???? ? ?? %e | ?用科學計數法格式化浮點數 |
| ???? ? ? %E | ?作用同%e,用科學計數法格式化浮點數 |
| ??????%g | ?%f和%e的簡寫 |
| ???????? %G | ?%f 和 %E 的簡寫 |
| ??????%p | ?用十六進制數格式化變量的地址 |
| 元組元算符 |
| len((1, 2, 3)) | 3 | 計算元素個數 |
| (1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 連接 |
| ['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 復制 |
| 3 in (1, 2, 3) | True | 元素是否存在 |
| for x in (1, 2, 3): print x, | 1 2 3 | 迭代 |
| 元組索引、截取 |
| L[2] | 'Hello' | 讀取第三個元素 |
| L[-2] | 'Hello' | 反向讀取;讀取倒數第二個元素 |
| L[1:] | ('Hello', 'world') | 截取元素 |
| 元組內置函數 |
| 1 | cmp(tuple1, tuple2) 比較兩個元組元素。 |
| 2 | len(tuple) 計算元組元素個數。 |
| 3 | max(tuple) 返回元組中元素最大值。 |
| 4 | min(tuple) 返回元組中元素最小值。 |
| 5 | tuple(seq) 將列表轉換為元組。 |
| 字典內置函數&方法 |
| 1 | cmp(dict1, dict2) 比較兩個字典元素。 |
| 2 | len(dict) 計算字典元素個數,即鍵的總數。 |
| 3 | str(dict) 輸出字典可打印的字符串表示。 |
| 4 | type(variable) 返回輸入的變量類型,如果變量是字典就返回字典類型。 |
| 1 | radiansdict.clear() 刪除字典內所有元素 |
| 2 | radiansdict.copy() 返回一個字典的淺復制 |
| 3 | radiansdict.fromkeys() 創建一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值 |
| 4 | radiansdict.get(key, default=None) 返回指定鍵的值,如果值不在字典中返回default值 |
| 5 | radiansdict.has_key(key) 如果鍵在字典dict里返回true,否則返回false |
| 6 | radiansdict.items() 以列表返回可遍歷的(鍵, 值) 元組數組 |
| 7 | radiansdict.keys() 以列表返回一個字典所有的鍵 |
| 8 | radiansdict.setdefault(key, default=None) 和get()類似, 但如果鍵不已經存在于字典中,將會添加鍵并將值設為default |
| 9 | radiansdict.update(dict2) 把字典dict2的鍵/值對更新到dict里 |
| 10 | radiansdict.values() 以列表返回字典中的所有值 |
總結
以上是生活随笔為你收集整理的python初级进阶篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 质数——python代码赏析
- 下一篇: websocket python爬虫_p