【來自:http://www.cnblogs.com/shsxt/p/9138950.html】html
1.找一本淺顯易懂,例程比較好的教程,從頭至尾看下去。 不要看不少本,專一於一本。把裏面的例程都手打一遍,搞懂爲何。我當時看的是《簡明python教程》,不過這本書不是很是適合零基礎初學者。零基礎推薦《與孩子一塊兒學編程》,或者看我寫的教程 Crossin的編程教室 - Python入門。前端
2.去找一個實際項目練手。 我當時是由於要作一個網站,不得已要學python。這種條件下的效果比你平時學一門新語言要好不少。因此最好是要有真實的項目作。能夠找幾個同窗一塊兒作個網站之類。注意,真實項目不必定非要是商業項目,你寫一個只是本身會用的博客網站也是真實項目,關鍵是要核心功能完整。Crossin:Python 的練手項目有哪些值得推薦?python
3.找到一個已經會python的人作老師。git
問他一點學習規劃的建議(上知乎也是個途徑),而後在遇到卡殼的地方找他指點。這樣會事半功倍。可是,要學會搜索,學會如何更好地提問。沒人願意幫你寫做業或是回答「一搜便知」的問題。 然而,別人的經驗未必能徹底複製。好比我沒有說的是,在自學python以前,我已在學校系統學習過其餘的編程語言。對於徹底沒有編程經驗的初學者,在學習python的時候,面對的不只僅是python這門語言,還須要面臨「編程」的一些廣泛問題,好比: 從零開始,不知道從何入手,找了本編程教材發現第二章開始就看不懂了; 缺乏計算機基礎知識,被一些教程略過的「常識性」問題卡住; 遇到問題不知道怎麼尋找解決方案。看懂語法以後不知道拿來作什麼,學完一陣子就又忘了; 缺乏數據結構、設計模式等編程基礎知識,只能寫出小的程序片斷。
4.其它的經驗程序員
- 首先要有信心。雖然可能你看了幾個小時也沒在屏幕上打出一個三角形,或者壓根兒就沒能把程序運行起來。但相信我,幾乎全部程序員一開始都是這麼折騰過來的。 - 選擇合適的教程。有些書很經典,但未必適合你,可能你寫了上萬行代碼以後再看它會比較好。 三、寫代碼,而後寫更多的代碼。光看教程,編不出程序。從書上的例程開始寫,再寫小程序片斷,而後寫完整的項目。 - 除了學習編程語言,也兼顧補一點計算機基礎,和英語。 - 不但要學寫代碼,還要學會看代碼,更要會調試代碼。讀懂你本身程序的報錯信息。再去找些github上的程序,讀懂別人的代碼。 - 學會查官方文檔,用好搜索引擎和開發者社區。
5.Python學習路線大綱github
- 經常使用操做系統基礎 - Python基礎及進階 - 數據庫SQL - 前端及移動開發 - web全棧 - 爬蟲及搜索 - 大數據分析 - 機器學習 - 深度學習:TensorFlow、Caffe、CNN/RNN實戰、人臉識別、文本挖掘等
【來自:http://www.cnblogs.com/wendj/p/9141942.html】web
import keyword for i,j in enumerate(keyword.kwlist): print(i,j,end = ' ')
0 False 1 None 2 True 3 and 4 as 5 assert 6 break 7 class 8 continue 9 def 10 del 11 elif 12 else 13 except 14 finally 15 for 16 from 17 global 18 if 19 import 20 in 21 is 22 lambda 23 nonlocal 24 not 25 or 26 pass 27 raise 28 return 29 try 30 while 31 with 32 yield
num = 50 if num>18: print('num大於18') print('------無論條件是否知足都要繼續往下執行----')
num大於18 ------無論條件是否知足都要繼續往下執行----
num = 9 if num>18: # 條件知足執行的代碼塊 print('num大於18') else: # 條件不知足 print('num小於18') print('-------------代碼繼續往下執行----------------')
num小於18 -------------代碼繼續往下執行----------------
score = -5 if score>=90 and score<=100: print('本次考試,等級爲A') elif score>=80 and score<90: print('本次考試,等級爲B') elif score>=70 and score<80: print('本次考試,等級爲C') elif score>=60 and score<70: print('本次考試,等級爲D') elif score>=0 and score<60: print('本次考試,等級爲E') else: print('上述條件均布知足的時候執行此處,你的成績已經超越等級制度') print('-------------代碼繼續往下執行----------------')
上述條件均布知足的時候執行此處,你的成績已經超越等級制度 -------------代碼繼續往下執行----------------
i = 1 while i <= 5: i+=1 print('bright! hello.') print('---代碼繼續往下執行---')
bright! hello. bright! hello. bright! hello. bright! hello. bright! hello. ---代碼繼續往下執行---
i = 1 while i <= 9: # 判斷行數,一共有8行 j = 1 while j <= i: # 斷定列數,列數根據i肯定 print('@ ', end='') j += 1 print('\n') i += 1
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
i = 1 while i <= 9: # 判斷行數,一共有8行 j = 1 while j <= i: # 斷定列數,列數根據i肯定 print('{:d}X{:d}={:2d} '.format(j,i,i*j), end='') j += 1 print('\n') i += 1 else: # 循環正常結束,沒有break語句時,執行此處的代碼。 print('九九乘法表打印完畢!歡迎小學生背誦')
1X1= 1 1X2= 2 2X2= 4 1X3= 3 2X3= 6 3X3= 9 1X4= 4 2X4= 8 3X4=12 4X4=16 1X5= 5 2X5=10 3X5=15 4X5=20 5X5=25 1X6= 6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36 1X7= 7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49 1X8= 8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64 1X9= 9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81 九九乘法表打印完畢!歡迎小學生背誦
name = 'bright' for x in name: print('----') if x == 'h': break print(x) else: print('循環狀況是否正常') print('---代碼繼續往下執行---')
---- b ---- r ---- i ---- g ---- ---代碼繼續往下執行---
i = 0 while i<10: i += 1 print(i, end=" ") print('\n---代碼繼續往下執行---')
1 2 3 4 5 6 7 8 9 10 ---代碼繼續往下執行---
nums = [i for i in range(1,11)] print("第二種方法:%s" % nums)
第二種方法:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sum = 0 for i in range(1,101): sum += i print('1到100的和:%d' % sum)
1到100的和:5050
for i in range(1, 51): if i % 2 == 0: print(i, end=" ") print('\n---代碼繼續往下執行---')
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 ---代碼繼續往下執行---
nums = [i for i in range(1,51) if i % 2 != 0] print(nums)
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49]
# 求1-2+3-4+5 ... 99的全部數的和 sum = 0 jishu = 0 oushu = 0 for i in range(1, 101): if i % 2 != 0: jishu += i if i % 2 == 0: oushu += i sum = jishu - oushu print("第一種方法:%s" % sum)
第一種方法:-50
【來自】http://www.cnblogs.com/Python1234/p/9139517.html面試
def fibonacci_generator(): a, b = 0, 1 while True: yield a a, b = b, a+b for i in fibonacci_generator(): if i > 200: break print(i, end=' ')
0 1 1 2 3 5 8 13 21 34 55 89 144
x = (k * k for k in range(20)) print(type(x))
<class 'generator'>
collections包是標準庫的一個模塊,主要目的是用來擴展容器相關的數據類型,數據庫
咱們經過dir查看collections包有哪些模塊:編程
import collections for i in dir(collections): print(i, end=',')
AsyncGenerator,AsyncIterable,AsyncIterator,Awaitable,ByteString,Callable,ChainMap,Collection,Container,Coroutine,Counter,Generator,Hashable,ItemsView,Iterable,Iterator,KeysView,Mapping,MappingView,MutableMapping,MutableSequence,MutableSet,OrderedDict,Reversible,Sequence,Set,Sized,UserDict,UserList,UserString,ValuesView,_Link,_OrderedDictItemsView,_OrderedDictKeysView,_OrderedDictValuesView,__all__,__builtins__,__cached__,__doc__,__file__,__loader__,__name__,__package__,__path__,__spec__,_chain,_class_template,_collections_abc,_count_elements,_eq,_field_template,_heapq,_iskeyword,_itemgetter,_proxy,_recursive_repr,_repeat,_repr_template,_starmap,_sys,abc,defaultdict,deque,namedtuple,
from collections import Counter a = Counter('blue') b = Counter('yellow') print(a) print(b) print((a + b).most_common(3))
Counter({'b': 1, 'l': 1, 'u': 1, 'e': 1}) Counter({'l': 2, 'y': 1, 'e': 1, 'o': 1, 'w': 1}) [('l', 3), ('e', 2), ('b', 1)]
from collections import defaultdict my_dict = defaultdict(lambda: 'Default Value') my_dict['a'] = 42 print(my_dict['a']) print(my_dict['b'])
42 Default Value
from collections import defaultdict import json def tree(): """ Factory that creates a defaultdict that also uses this factory """ return defaultdict(tree) root = tree() root['Page']['Python']['defaultdict']['Title'] = 'Using defaultdict' root['Page']['Python']['defaultdict']['Subtitle'] = 'Create a tree' root['Page']['Java'] = None print(json.dumps(root, indent=4))
{ "Page": { "Python": { "defaultdict": { "Title": "Using defaultdict", "Subtitle": "Create a tree" } }, "Java": null } }
from itertools import permutations for p in permutations([1,2,3,4]): print(p)
(1, 2, 3, 4) (1, 2, 4, 3) (1, 3, 2, 4) (1, 3, 4, 2) (1, 4, 2, 3) (1, 4, 3, 2) (2, 1, 3, 4) (2, 1, 4, 3) (2, 3, 1, 4) (2, 3, 4, 1) (2, 4, 1, 3) (2, 4, 3, 1) (3, 1, 2, 4) (3, 1, 4, 2) (3, 2, 1, 4) (3, 2, 4, 1) (3, 4, 1, 2) (3, 4, 2, 1) (4, 1, 2, 3) (4, 1, 3, 2) (4, 2, 1, 3) (4, 2, 3, 1) (4, 3, 1, 2) (4, 3, 2, 1)
from itertools import combinations for c in combinations([1,2,3,4],2): print(c)
(1, 2) (1, 3) (1, 4) (2, 3) (2, 4) (3, 4)
from itertools import chain for c in chain(range(3), range(12,15)): print(c)
0 1 2 12 13 14
sys模塊主要是用於提供對python解釋器相關的操做
os模塊是Python標準庫中的一個用於訪問操做系統功能的模塊,使用os模塊中提供的接口,能夠實現跨平臺訪問,在Linux和Windows下均可以運行。
【來自】http://www.cnblogs.com/ManyQian/p/9139856.html
# 1. os和sys都是幹什麼的? import os #經常使用的一些方法 BASE_DIR = os.getcwd() # 取當前文件的絕對路徑 print('1', BASE_DIR) path = os.path.join(BASE_DIR, "abc") # 在當前父目錄下拼接一個abc的文件夾路徑 print('2', path) path = BASE_DIR + "\\abc" # 不推薦使用硬編碼的形式拼接路徑 print('3', path)
1 C:\Users\Future\Desktop\TEMPython 2 C:\Users\Future\Desktop\TEMPython\abc 3 C:\Users\Future\Desktop\TEMPython\abc
# 2. 你工做中都用過哪些內置模塊? import sys # sys.path.append() # 向當前運行的環境變量中添加一個指定的路徑 # 3. 你工做中都用過哪些內置模塊? # re json hashlib time datetime socket thread functools #functools模塊 from functools import partial def f(a, b): return a + b f(1, 2) f(100, 200) f3 = partial(f,3) # 利用partial和f生成一個默認加3 的一個f3函數 ret = f3(100) # 默認加3 print(ret)
103