摘要:第一章學習流程圖安裝這里是用的,除了之外,和都自帶了,只是版本沒有這么新。是區分大小寫的。可以根據多維數組來理解。知識點補充里列表是打了激素的數組,意味著列表比數組更厲害,更好用。的語句的縮進是必須規范的。
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主要是有些語法和功能有些微區別,但不影響本書閱讀。
python有一個自帶的idle環境,如上面代碼,可以用來測試代碼和查看幫助文檔
例如:
>>> 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
有一些術語需要了解,內置函數BIF 就是build in function,就是python一般自帶的函數,可以直接調用,例如直接print 輸出
1.列表
movies = ["The holy grail","the life of brain","0.02,"["the second list","abc"]"]
python的變量標識符沒有類型,例如,列表只是一個高層的集合,他不關心列表存的是什么數據. 列表就像數組,有下標,例如print(movies[1]),有長度len(movies) 可以列表末尾增加數據movies.append(),列表末尾刪除數據moveis.pop(),列表增加列表movies.extend(["abc","cde"]),指定刪除特定數據movies.remove(括號內是值,value),指定在特定位置增加數據movies.insert(1,"aaa") 對于已有列表的情況下,考慮如何增加列表數據比較好? 答案是使用insert()函數,延伸思考刪除和管理列表數據方法。
2.for循環,迭代數據
如果想處理每一個列表的數據項,就需要迭代數據了 for each in movies: print(each) 經典for循環,for 目標標識符 in 列表:
疑問:
1.Q:有些字符串用雙引號引起來,而有些用單引號
A: PYTHON中沒有規定要使用哪一種,只有一個規則,如果字符串前面使用了某個單引號或者雙引號,那么字符串后面也要使用同樣的,一般情況下,引號是為了創建字符串的。
2.Q:如果需要在一個字符串中嵌入一個雙引號改怎么做?
A: 用進行轉義,或者使用單引號引起這個,不過通常來說用比較好看。
3.python是區分大小寫的。
python中列表是可以存儲任何東西的,哪怕是列表,所以列表嵌套列表是可以的,如果要訪問a列表中第二項(也是列表)的第三項數據,就是print(movies[2][3]),如此類推。可以根據多維數組來理解。
如果遇到列表嵌套列表的情況,那么單純的for循環并不能很好的訪問數據項,所以需要利用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)
判斷是否是列表,是的話增加一個迭代,不是的話就直接打印當前值,嵌套越深就要增加越多判斷代碼
因為上面遇到代碼越來越多的問題,而且代碼重復的情況嚴重,所以需要使用函數def
def 函數名(參數): 函數代碼組
將上面的代碼 函數化之后
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)
很靈活,而且代碼也規范了,如果需要修改的話就直接修改def內的函數體。
知識點補充:
1.python里列表是"打了激素"的數組,意味著列表比數組更厲害,更好用。 2.python的語句的縮進是必須規范的。
原文鏈接:http://www.godblessyuan.com/2015/04/13/head_first_python_chapter_1_lea...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37518.html
摘要:一讓廣播明星黯然失色要建立頁面,需要創建用超文本標記語言,編寫的文件,把它們放在一個服務器上二服務器能做什么服務器在互聯網上有一份全天候的工作。一、Web讓廣播明星黯然失色 要建立Web頁面,需要創建用超文本標記語言(HyperText Markup Language,HTML)編寫的文件,把它們放在一個Web服務器上二、Web服務器能做什么? Web服務器在互聯網上有一份全天候的工...
showImg(http://source1.godblessyuan.com/blog_head_first_python_chapter_4_20150426.jpg); 其實持久存儲不僅僅包含文件,還包括數據庫等,本章先介紹一部分,先熟悉一下。 熟悉python數據 #!/usr/bin/python # -*- coding: utf-8 -*- man = [] other =...
摘要:原來的順序會丟失。原數據的順序依然保留。方法串聯第一個方法應用到數據中,然后再將處理好的數據應用到第二個方法中。例子函數串聯每個函數會取得數據,對他完成某個操作,然后把轉換后的數據繼續向下傳遞到下一個函數。 showImg(http://source1.godblessyuan.com/blog_head_first_python_chapter_5_20150427.jpg); 1...
摘要:增加邏輯來處理首先通過觀察方法對于不同的數據返回的值是不同的。所以需要加一些標記,標識數據不符合期望的格式時會出現數據無法正常訪問時會出現。 1.介紹基礎文件,輸入,輸出 open() 打開文件,一次傳入一行數據,可以結合for循環和readline()來使用 close() 用來關閉open打開的文件 the_file = open(sketch.txt) the_file....
摘要:第二章學習流程圖函數轉換為模塊函數轉換為模塊后,就可以靈活的使用模塊,方便代碼分類,避免代碼堆積在一個文件上。使用命令打包代碼,生成發布包打包后會生成目錄和文件發布后會多了目錄和文件,這個是發布的生成的包和相關配置文件。 head first python(第二章)--學習流程圖showImg(http://source1.godblessyuan.com/blog_head_firs...
閱讀 644·2023-04-25 15:49
閱讀 3099·2021-09-22 15:13
閱讀 1237·2021-09-07 10:13
閱讀 3467·2019-08-29 18:34
閱讀 2556·2019-08-29 15:22
閱讀 499·2019-08-27 10:52
閱讀 677·2019-08-26 18:27
閱讀 3009·2019-08-26 13:44