程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Python易忽視知識點小結

Python易忽視知識點小結

編輯:更多關於編程

       這篇文章主要介紹了Python易忽視知識點,實例分析了Python中容易被忽視的常見操作技巧,需要的朋友可以參考下

      這裡記錄Python中容易被忽視的小問題

      一、input(...)和raw_input(...)

      ?

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #簡單的差看幫助文檔input(...)和raw_input(...)有如下區別 >>> help(input) Help on built-in function input in module __builtin__: input(...) input([prompt]) -> value Equivalent to eval(raw_input(prompt)). >>> help(raw_input) Help on built-in function raw_input in module __builtin__: raw_input(...) raw_input([prompt]) -> string   Read a string from standard input. The trailing newline is stripped. If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError. On Unix, GNU readline is used if enabled. The prompt string, if given, is printed without a trailing newline before reading.   #可見 input會根據輸入的內容eval結果來返回值,即輸入純數字,則得到的就是純數字 # raw_input返回的才是字符串 #test: >>> a = input("輸入數字") 輸入數字1 >>> type(a) <type 'int'> >>> b=raw_input("輸入數字") 輸入數字1 >>> type(b) <type 'str'>

      ps:在python3.0以後的版本中,raw_input和input合體了,取消raw_input,並用input代替,所以現在的版本input接收的是字符串

      二、python三目運算符

      雖然Python沒有C++的三目運算符(?:),但也有類似的替代方案,

      那就是

      1、 true_part if condition else false_part

      ?

    1 2 3 4 5 6 7 8 >>> 1 if True else 0 1 >>> 1 if False else 0 0 >>> "True" if True else "False" 'True' >>> "True" if True else "False" 'Falser'

      2、 (condition and [true_part] or [false_part] )[0]

      ?

    1 2 3 4 5 >>> (True and ["True"] or ["False"])[0] 'True' >>> (False and ["True"] or ["False"])[0] 'False' >>>

      三、獲得指定字符串在整個字符串中出現第N次的索引

      ?

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # -*- coding: cp936 -*- def findStr(string, subStr, findCnt): listStr = a.split(subStr,findCnt) if len(listStr) <= findCnt: return -1 return len(string)-len(listStr[-1])-len(subStr) #test a = "12345(1)254354(1)3534(1)14" sub = "(1)" N = 2 #查找第2次出現的位置 print findStr(a,sub,N) N = 10 #查找第10次出現的位置 print findStr(a,sub,N) #結果 #>>> #14 #-1

      四、enumerate用法:

      遍歷序列的時候,可能同時需要用到序列的索引和對應的值,這時候可以采用enumerate方法進行遍歷

      enumerate的說明如下:

      ?

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 >>> help(enumerate) Help on class enumerate in module __builtin__:   class enumerate(object) | enumerate(iterable[, start]) -> iterator for index, value of iterable | | Return an enumerate object. iterable must be another object that supports | iteration. The enumerate object yields pairs containing a count (from | start, which defaults to zero) and a value yielded by the iterable argument. | enumerate is useful for obtaining an indexed list: | (0, seq[0]), (1, seq[1]), (2, seq[2]), ... | | Methods defined here: | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __iter__(...) | x.__iter__() <==> iter(x) | | next(...) | x.next() -> the next value, or raise StopIteration | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T

      五、遍歷序列的方法

      ?

    1 2 3 4 5 6 7 >>> List = ['a','b','c'] >>> for index, value in enumerate(List): print index, value 0 a 1 b 2 c >>>

      六、使用python random模塊的sample函數從列表中隨機選擇一組元素

      ?

    1 2 3 4 5 6 import List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] slice = random.sample(List, 5) #從List中隨機獲取5個元素,作為一個片斷返回 print slice print List #原有序列並沒有改變。

      七、用json打印包含中文的列表字典等

      ?

    1 2 3 4 5 6 # -*- coding:utf-8 -*- import json #你的列表 listA = [{'path': ['[AWS] xe7xbex8exe5xb0x91xe5xa5xb3xe6x88x98xe5xa3xab Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 1080p x264 AAC][6E5CFE86].mp4'], 'length': 131248608L}, {'path': ['[AWS] xe7xbex8exe5xb0x91xe5xa5xb3xe6x88x98xe5xa3xab Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 720p x264 AAC][639D304A].mp4'], 'length': 103166306L}, {'path': ['[AWS] xe7xbex8exe5xb0x91xe5xa5xb3xe6x88x98xe5xa3xab Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 480p x264 AAC][5A81BACA].mp4'], 'length': 75198408L}] #打印列表 print json.dumps(listA, encoding='UTF-8', ensure_ascii=False)

      輸出結果:

      ?

    1 2 >>> [{"path": ["[AWS] 美少女戰士 Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 1080p x264 AAC][6E5CFE86].mp4"], "length": 131248608}, {"path": ["[AWS] 美少女戰士 Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 720p x264 AAC][639D304A].mp4"], "length": 103166306}, {"path": ["[AWS] 美少女戰士 Sailor Moon Crystal - Moon Pride MV[BIG5][BDrip 480p x264 AAC][5A81BACA].mp4"], "length": 75198408}]

      希望本文所述對大家的Python程序設計有所幫助。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved