摘要:第一章學習流程圖安裝這里是用的,除了之外,和都自帶了,只是版本沒有這么新。是區(qū)分大小寫的。可以根據(jù)多維數(shù)組來理解。知識點補充里列表是打了激素的數(shù)組,意味著列表比數(shù)組更厲害,更好用。的語句的縮進是必須規(guī)范的。
head first python(第一章)--學習流程圖
1.安裝python這里是用python3的,除了windows之外,linux和macos都自帶了,只是版本沒有這么新。
舉例:centos 6.5的python版本為2.6:
python Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
python3和2主要是有些語法和功能有些微區(qū)別,但不影響本書閱讀。
python有一個自帶的idle環(huán)境,如上面代碼,可以用來測試代碼和查看幫助文檔
例如:
>>> dir(__builtins__) ["ArithmeticError", "AssertionError", "AttributeError", "BaseException", "BufferError", "BytesWarning", "DeprecationWarning", "EOFError", "Ellipsis", "EnvironmentError", "Exception", "False", "FloatingPointError", "FutureWarning", "GeneratorExit", "IOError", "ImportError", "ImportWarning", "IndentationError", "IndexError", "KeyError", "KeyboardInterrupt", "LookupError", "MemoryError", "NameError", "None", "NotImplemented", "NotImplementedError", "OSError", "OverflowError", "PendingDeprecationWarning", "ReferenceError", "RuntimeError", "RuntimeWarning", "StandardError", "StopIteration", "SyntaxError", "SyntaxWarning", "SystemError", "SystemExit", "TabError", "True", "TypeError", "UnboundLocalError", "UnicodeDecodeError", "UnicodeEncodeError", "UnicodeError", "UnicodeTranslateError", "UnicodeWarning", "UserWarning", "ValueError", "Warning", "ZeroDivisionError", "__debug__", "__doc__", "__import__", "__name__", "__package__", "abs", "all", "any", "apply", "basestring", "bin", "bool", "buffer", "bytearray", "bytes", "callable", "chr", "classmethod", "cmp", "coerce", "compile", "complex", "copyright", "credits", "delattr", "dict", "dir", "divmod", "enumerate", "eval", "execfile", "exit", "file", "filter", "float", "format", "frozenset", "getattr", "globals", "hasattr", "hash", "help", "hex", "id", "input", "int", "intern", "isinstance", "issubclass", "iter", "len", "license", "list", "locals", "long", "map", "max", "min", "next", "object", "oct", "open", "ord", "pow", "print", "property", "quit", "range", "raw_input", "reduce", "reload", "repr", "reversed", "round", "set", "setattr", "slice", "sorted", "staticmethod", "str", "sum", "super", "tuple", "type", "unichr", "unicode", "vars", "xrange", "zip"]
查看list的幫助
>>> help(list) >Help on class list in module __builtin__: class list(object) | list() -> new empty list | list(iterable) -> new list initialized from iterable"s items | Methods defined here: | __add__(...) | x.__add__(y) <==> x+y
有一些術語需要了解,內(nèi)置函數(shù)BIF 就是build in function,就是python一般自帶的函數(shù),可以直接調(diào)用,例如直接print 輸出
1.列表
movies = ["The holy grail","the life of brain","0.02,"["the second list","abc"]"]
python的變量標識符沒有類型,例如,列表只是一個高層的集合,他不關心列表存的是什么數(shù)據(jù). 列表就像數(shù)組,有下標,例如print(movies[1]),有長度len(movies) 可以列表末尾增加數(shù)據(jù)movies.append(),列表末尾刪除數(shù)據(jù)moveis.pop(),列表增加列表movies.extend(["abc","cde"]),指定刪除特定數(shù)據(jù)movies.remove(括號內(nèi)是值,value),指定在特定位置增加數(shù)據(jù)movies.insert(1,"aaa") 對于已有列表的情況下,考慮如何增加列表數(shù)據(jù)比較好? 答案是使用insert()函數(shù),延伸思考刪除和管理列表數(shù)據(jù)方法。
2.for循環(huán),迭代數(shù)據(jù)
如果想處理每一個列表的數(shù)據(jù)項,就需要迭代數(shù)據(jù)了 for each in movies: print(each) 經(jīng)典for循環(huán),for 目標標識符 in 列表:
疑問:
1.Q:有些字符串用雙引號引起來,而有些用單引號
A: PYTHON中沒有規(guī)定要使用哪一種,只有一個規(guī)則,如果字符串前面使用了某個單引號或者雙引號,那么字符串后面也要使用同樣的,一般情況下,引號是為了創(chuàng)建字符串的。
2.Q:如果需要在一個字符串中嵌入一個雙引號改怎么做?
A: 用進行轉(zhuǎn)義,或者使用單引號引起這個,不過通常來說用比較好看。
3.python是區(qū)分大小寫的。
python中列表是可以存儲任何東西的,哪怕是列表,所以列表嵌套列表是可以的,如果要訪問a列表中第二項(也是列表)的第三項數(shù)據(jù),就是print(movies[2][3]),如此類推。可以根據(jù)多維數(shù)組來理解。
如果遇到列表嵌套列表的情況,那么單純的for循環(huán)并不能很好的訪問數(shù)據(jù)項,所以需要利用if 和isinstance來判斷
for each_item in movies: if isinstance(each_item,list): for nested_item in each_item: print(nested_item) else: print(each_item)
判斷是否是列表,是的話增加一個迭代,不是的話就直接打印當前值,嵌套越深就要增加越多判斷代碼
因為上面遇到代碼越來越多的問題,而且代碼重復的情況嚴重,所以需要使用函數(shù)def
def 函數(shù)名(參數(shù)): 函數(shù)代碼組
將上面的代碼 函數(shù)化之后
def print_lol(the_list): for each_item in the_list: if isinstance(each_tem,list): print_lol(each_item) else: print(each_item)
如果處理的是列表則使用print_lol(),如果不是的話就使用普通的print
使用的時候就可以使用
print_lol(movies)
很靈活,而且代碼也規(guī)范了,如果需要修改的話就直接修改def內(nèi)的函數(shù)體。
知識點補充:
1.python里列表是"打了激素"的數(shù)組,意味著列表比數(shù)組更厲害,更好用。 2.python的語句的縮進是必須規(guī)范的。
原文鏈接:http://www.godblessyuan.com/2015/04/13/head_first_python_chapter_1_lea...
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/37518.html
摘要:一讓廣播明星黯然失色要建立頁面,需要創(chuàng)建用超文本標記語言,編寫的文件,把它們放在一個服務器上二服務器能做什么服務器在互聯(lián)網(wǎng)上有一份全天候的工作。一、Web讓廣播明星黯然失色 要建立Web頁面,需要創(chuàng)建用超文本標記語言(HyperText Markup Language,HTML)編寫的文件,把它們放在一個Web服務器上二、Web服務器能做什么? Web服務器在互聯(lián)網(wǎng)上有一份全天候的工...
showImg(http://source1.godblessyuan.com/blog_head_first_python_chapter_4_20150426.jpg); 其實持久存儲不僅僅包含文件,還包括數(shù)據(jù)庫等,本章先介紹一部分,先熟悉一下。 熟悉python數(shù)據(jù) #!/usr/bin/python # -*- coding: utf-8 -*- man = [] other =...
摘要:原來的順序會丟失。原數(shù)據(jù)的順序依然保留。方法串聯(lián)第一個方法應用到數(shù)據(jù)中,然后再將處理好的數(shù)據(jù)應用到第二個方法中。例子函數(shù)串聯(lián)每個函數(shù)會取得數(shù)據(jù),對他完成某個操作,然后把轉(zhuǎn)換后的數(shù)據(jù)繼續(xù)向下傳遞到下一個函數(shù)。 showImg(http://source1.godblessyuan.com/blog_head_first_python_chapter_5_20150427.jpg); 1...
摘要:增加邏輯來處理首先通過觀察方法對于不同的數(shù)據(jù)返回的值是不同的。所以需要加一些標記,標識數(shù)據(jù)不符合期望的格式時會出現(xiàn)數(shù)據(jù)無法正常訪問時會出現(xiàn)。 1.介紹基礎文件,輸入,輸出 open() 打開文件,一次傳入一行數(shù)據(jù),可以結合for循環(huán)和readline()來使用 close() 用來關閉open打開的文件 the_file = open(sketch.txt) the_file....
摘要:第二章學習流程圖函數(shù)轉(zhuǎn)換為模塊函數(shù)轉(zhuǎn)換為模塊后,就可以靈活的使用模塊,方便代碼分類,避免代碼堆積在一個文件上。使用命令打包代碼,生成發(fā)布包打包后會生成目錄和文件發(fā)布后會多了目錄和文件,這個是發(fā)布的生成的包和相關配置文件。 head first python(第二章)--學習流程圖showImg(http://source1.godblessyuan.com/blog_head_firs...
閱讀 669·2023-04-25 15:49
閱讀 3121·2021-09-22 15:13
閱讀 1259·2021-09-07 10:13
閱讀 3482·2019-08-29 18:34
閱讀 2565·2019-08-29 15:22
閱讀 513·2019-08-27 10:52
閱讀 690·2019-08-26 18:27
閱讀 3025·2019-08-26 13:44