本文目錄一覽:
享學課堂淺談Python序列內建函數都有哪些
1、Python類型操作符和內建函數總結
表4.5列出了所有操作符和內建函數,其中操作符順序是按優先順序從高到低排列的。同一種灰度的操作符擁有同樣的優先順序。注意在operator模塊中有這些(和絕大多數Python)操作符相應的同功能的函數可供使用。
表4.5 標準類型操作符和內建函數
操作符/函數
描 述
結 果a
字元串表示
“
對象的字元串表示
str
內建函數
cmp(obj1, obj2)
比較兩個對象
int
repr(obj)
對象的字元串表示
str
str(obj)
對象的字元串表示
str
type(obj)
檢測對象的類型
type
值比較
小於
bool
大於
bool
=
小於或等於
bool
=
大於或等於
bool
==
等於
bool
!=
不等於
bool
不等於
bool
對象比較
is
是
bool
is not
不是
bool
布爾操作符
not
邏輯反
bool
and
邏輯與
bool
or
邏輯或
bool
2、Python數值類型操作符和內建函數
一、工廠函數
數值工廠函數總結類(工廠函數) 操作
bool(obj) b 返回obj對象的布爾值,也就是 obj.__nonzero__()方法的返回值。
int(obj, base=10) 返回一個字元串或數值對象的整數表 示, 類似string.atoi();
從Python 1.6起, 引入了可選的進位參數。
long(obj, base=10) 返回一個字元或數據對象的長整數表 示,類似string.atol(),
從Python1.6起, 引入了可選的進位參數 float(obj) ,
返回一個字元串或數據對象的浮點數 表示,類似string.atof()。
complex(str) or返回一個字元串的複數表示,或 者根據給定的實數,
complex(real, imag=0.0) (及一個可選 的虛數部分)生成一個複數對象。
二、內建函數
1、分類
Python 有五個運算內建函數用於數值運算:
abs(num), coerce(num1,num2), divmod(num1,num2), pow(num1,num2,mod=1)和 round(flt,ndig=0)
其中abs()返回給定參數的絕對值。如果參數是一個複數, 那麼就返回math.sqrt(num.real2 + num.imag2).
coerce()是一個數據類型轉換函數,不過它的行為更像一個運算符.數coerce()為程序員提供了不依賴Python 解釋器,而是自定義兩個數值類型轉換的方法。對一種新創建的數值類型來說, 這個特性非常有用.函數coerce()僅返回一個包含類型轉換完畢的兩個數值元素的元組.
divmod()內建函數把除法和取余運算結合起來, 返回一個包含商和餘數的元組.對整數來說,它的返回值就是地板除和取余操作的結果.對浮點數來說,返回的商部分是math.floor(num1/num2),對複數來說,商部分是ath.floor((num1/num2).real).
pow()它和雙星號 (**)運算符都可以進行指數運算.不過二者的區別並不僅僅在於一個是運算符,一個是內建函數.在Python 1.5 之前,並沒有 ** 運算符,內建函數pow()還接受第三個可選的參數,一個餘數參數.如果有這個參數的, pow() 先進行指數運算,然後將運算結果和第三個參數進行取余運算.這個特性主要用於密碼運算,並且比 pow(x,y) % z 性能更好, 這是因為這個函數的實現類似於C 函數pow(x,y,z).
round()用於對浮點數進行四捨五入運算。它有一個可選的小數位數參數.如果不提供小數位參數, 它返回與第一個參數最接近的整數(但仍然是浮點類型).第二個參數告訴round 函數將結果精確到小數點後指定位數.
2、函數int()/round()/math.floor()它們之間的不同之處:
函數 int()直接截去小數部分.(返回值為整數)
函數 floor() 得到最接近原數但小於原數的整數.(返回值為浮點數)
函數 round() 得到最接近原數的整數.(返回值為浮點數)
3、進位轉換函數:
返回字元串表示的8 進位和16 進位整數,它們分別是內建函數:
oct()和 hex(). oct(255)=’0377’/hex(255)=’0xff’
函數chr()接受一個單位元組整數值(0到255),返回一個字元串(ASCII),其值為對應的字元.chr(97)=’a’
函數ord()則相反,它接受一個字元(ASCII 或 Unicode),返回其對應的整數值.ord(‘A’)=65
3、Python字元串函數
(一)標準類型操作符和標準內建函數
1)、標準類型操作符
,,=,=,==,!=,對象值得比較
註:做比較時字元串是按ASCII值的大小來比較的
is 對象身份比較
and,or,not 布爾類型
2)標準內建函數
type(obj)
cmp(obj1,obj2)
str(obj)和repr(obj) 或反引號運算符(“) 可以方便的以字元串的方式獲取對象的
內容、類型、數值屬性等信息。str()函數得到的字元串可讀性好, 而repr()函數得到的字元
串通常可以用來重新獲得該對象, 通常情況下 obj == eval(repr(obj)) 這個等式是成立的
isinstance(obj,type) 判斷對象的類型
(二)序列操作
1、序列操作
字元串屬於序列對象,可以使用所有序列的操作和函數
切片 [] [:] [::]
簡單總結:
*索引(S[i])獲取特定偏移的元素。
——第一個元素偏移為0
——(S[0])獲取第一個元素。
——負偏移索引意味著從最後或右邊反向進行計數
——(S[-2])獲取倒數第二個元素(就像S[len(s)-2]一樣
*分片[S[i:j]提取對應的部分作為一個序列
——右邊界不包含在內
——分片的邊界默認為0和序列的長度,如果沒有給出的話S[:]
——(S[1:3])獲取了從偏移為1,直到但不包括偏移為3的元素
——(S[1:])獲取從偏移為1到末尾之間的元素
——(S[:3])獲取從偏移為0直到但不包括偏移為3的元素
——(S[:-1])獲取從偏移為0直到但不包括最後一個元素之間的元素
——(S[:])獲取從偏移為0到末尾之間的元素,這有效地實現了頂層S拷貝
拷貝了一個相同值,但是是不同內存區域的對象。對象字元串這樣不可變的對象不是很有用,但是對於可以實地修改的對象來說很有用。
比如列表。
擴展分片:第三個限制值 【步進】
完整形式:X[I:J:K]:這標識索引X對象的元素,從偏移為I直到J-1,每隔K元素索引一次。第三個限制值,K,默認為1
實例
Python Code
1
2
3
4
5
S=’abcdefghijk’
S[1:10]
‘bcdefghij’
S[1:10:2]
‘bdfhj
也可以使用負數作為步進。
分片表達式
Python Code
1
2
“hello”[::-1]
‘olleh’
通過負數步進,兩個邊界的意義實際上進行了反轉。
3、成員操作符 in ,not in
返回布爾值True 或False
可以使用string模塊來判斷輸入字元的合法性,可見成品中的idcheck.py
4、字元串連接
+ 連接字元串 『name』+’ ‘+’jin’
字元串格式化 ‘%s %s’ % (‘name’,’jin’)
join()方法 ‘ ‘.join((‘name’,’jin’)) ‘ ‘.join([‘name’,’jin’])
5、刪除清空字元串
del aString
aString=”
(三)、序列函數
序列類型函數
len(str) 返回字串的長度
enumerate(iter):接受一個可迭代對象作為參數,返回一個enumerate
max(str)/min(str):max()和min()函數對其他的序列類型可能更有用,但對於string類型它們能很好地運行,返回最大或者最小的字元(按照ASCII 碼值排列),
zip([it0, it1,… itN]) 返回一個列表,其第一個元素是it0,it1,…這些元素的第一個元素組成的一個元組,第二個…,類推.
reversed(seq)c 接受一個序列作為參數,返回一個以逆序訪問的迭代器(PEP 322)
sorted(iter,func=None,key=None,reverse=False) 接受一個可迭代對象作為參數,返回一個有序的列表;可選參數func,key 和reverse 的含義跟list.sort()內建函數的參數含義一樣.
注意:
sorted等需要在原處修改的函數無法用在字元串對象,但可以產生新的對象
sum處理的對象是數字,不能用在字元串
sorted(s)
[‘a’, ‘e’, ‘e’, ‘g’, ‘g’, ‘g’, ‘o’]
(四)只適合於字元串類型的函數
1)raw_input()函數
內建的raw_input()函數使用給定字元串提示用戶輸入並將這個輸入返回,下面是一個使
用raw_input()的例子:
user_input = raw_input(“Enter your name: “)
prin user_input
2)str() and unicode()
str()和unicode()函數都是工廠函數,就是說產生所對應的類型的對象.它們接受一個任
意類型的對象,然後創建該對象的可列印的或者Unicode 的字元串表示. 它們和basestring 都
可以作為參數傳給isinstance()函數來判斷一個對象的類型
3)chr(), unichr(), and ord()
chr()函數用一個範圍在range(256)內的(就是0 到255)整數做參數,返回一個對應的字元.unichr()跟它一樣,只不過返回的是Unicode 字元
ord()函數是chr()函數(對於8 位的ASCII 字元串)或unichr()函數(對於Unicode 對象)
的配對函數,它以一個字元(長度為1 的字元串)作為參數,返回對應的ASCII 數值,或者Unicode
數值,如果所給的Unicode 字元超出了你的Python 定義範圍,則會引發一個TypeError 的異常
(五)、只適用於字元串的操作符
1、格式化操作符 %
字元串格式化符號
格式化字元 轉換方式
%c 轉換成字元(ASCII 碼值,或者長度為一的字元串)
%ra 優先用repr()函數進行字元串轉換
%s 優先用str()函數進行字元串轉換
%d / %i 轉成有符號十進位數
%ub 轉成無符號十進位數
%ob 轉成無符號八進位數
%xb/%Xb (Unsigned)轉成無符號十六進位數(x/X 代表轉換後的十六進位字元的大
小寫)
%e/%E 轉成科學計數法(e/E 控制輸出e/E)
%f/%F 轉成浮點數(小數部分自然截斷)
%g/%G %e 和%f/%E 和%F 的簡寫
%% 輸出%
格式化操作符輔助指令
符號 作用
* 定義寬度或者小數點精度
– 用做左對齊
+ 在正數前面顯示加號( + )
sp 在正數前面顯示空格
# 在八進位數前面顯示零(‘0’),在十六進位前面顯示’0x’或者’0X'(取決於
用的是’x’還是’X’)
0 顯示的數字前面填充『0』而不是默認的空格
% ‘%%’輸出一個單一的’%’
(var) 映射變數(字典參數)
m.n m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話)
2、字元串模板: 更簡單的替代品
由於新式的字元串Template 對象的引進使得string 模塊又重新活了過來,Template 對象
有兩個方法,substitute()和safe_substitute().前者更為嚴謹,在key 缺少的情況下它會報一
個KeyError 的異常出來,而後者在缺少key 時,直接原封不動的把字元串顯示出
3、原始字元串操作符( r/R )
字元串抑制轉義r’帶特殊符號的字串’
myfile=open(r’C:\new\text.data’,’w’)
4、Unicode 字元串操作符( u/U )
u’abc’ U+0061 U+0062 U+0063
u’\u1234′ U+1234
u’abc\u1234\n’ U+0061 U+0062 U+0063 U+1234 U+0012
(六)字元串對象的方法:
1、刪減
T2.lstrip() 移除字元串前面字元(默認空格),返回字元串
T2.rstrip() 移除字元串後面字元(默認空格),返回字元串
T2.strip() 移除字元串前後面空格,返回字元串 默認空格,可以其他字元 S.strip(‘”‘)
2、切割
partition(sep),
rpartition(sep),
splitlines([keepends]),#把S按照行分割符分為一個list,keepends是一個bool值,如果為真每行後而會保留行分割符
split([sep [,maxsplit]]),#以sep為分隔符,把S分成一個list。maxsplit表示分割的次數。默認的分割符為空白字元
rsplit([sep[,maxsplit]]) #從右到左切割
備註:
partition()函數族是2.5版本新增的方法。它接受一個字元串參數,並返回一個3個元素的 tuple 對象。
如果sep沒出現在母串中,返回值是 (sep, 『』, 『』);
否則,返回值的第一個元素是 sep 左端的部分,第二個元素是 sep 自身,第三個元素是 sep 右端的部分。
S.partition(‘;’)
(”, ‘;’, ‘ generated by /sbin/dhclient-script\nnameserver 172.16.10.171\nnameserver 8.8.8.8\nnameserver 172.16.0.2\nnameserver 178.79.131.110\nnameserver 202.96.199.133\n’)
參數 maxsplit 是分切的次數,即最大的分切次數,所以返回值最多有 maxsplit+1 個元素。
s.split() 和 s.split(『 『)的返回值不盡相同
‘ hello world!’.split()
[‘hello’, ‘world!’]
‘ hello world!’.split(‘ ‘)
[”, ”, ‘hello’, ”, ”, ‘world!’]
S.split(‘\n’,3)
[‘; generated by /sbin/dhclient-script’, ‘nameserver 172.16.10.171’, ‘nameserver 8.8.8.8’, ‘nameserver 172.16.0.2\nnameserver 178.79.131.110\nnameserver 202.96.199.133\n’]
超過最大切割個數後面的全部為一個元素
按行切割
S
‘; generated by /sbin/dhclient-script\nnameserver 172.16.10.171\nnameserver 8.8.8.8\nnameserver 172.16.0.2\nnameserver 178.79.131.110\nnameserver 202.96.199.133\n’
S.splitlines()
[‘; generated by /sbin/dhclient-script’, ‘nameserver 172.16.10.171’, ‘nameserver 8.8.8.8’, ‘nameserver 172.16.0.2’, ‘nameserver 178.79.131.110’, ‘nameserver 202.96.199.133’]
產生差異的原因在於當忽略 sep 參數或sep參數為 None 時與明確給 sep 賦予字元串值時 split() 採用兩種不同的演算法。
對於前者,split() 先去除字元串兩端的空白符,然後以任意長度的空白符串作為界定符分切字元串
即連續的空白符串被當作單一的空白符看待;
對於後者則認為兩個連續的 sep 之間存在一個空字元串。因此對於空字元串(或空白符串),它們的返回值也是不同的:
”.split()
[]
”.split(‘ ‘)
[”]
3、變形
lower(),#全部小寫
upper(),#全部小寫
capitalize(),#首字母大寫
swapcase(),#大小寫交換
title()#每個單詞第一個大寫,其他小寫
備註
因為title() 函數並不去除字元串兩端的空白符也不會把連續的空白符替換為一個空格,
所以建議使用string 模塊中的capwords(s)函數,它能夠去除兩端的空白符,再將連續的空白符用一個空格代替。
Python Code
1
2
3
4
‘ hello world!’.title()
‘ Hello World!’
string.capwords(‘ hello world!’)
‘Hello World!’
4、連接
join(seq)
join() 函數的高效率(相對於循環相加而言),使它成為最值得關注的字元串方法之一。
它的功用是將可迭代的字元串序列連接成一條長字元串,如:
conf = {‘host’:’127.0.0.1′,
… ‘db’:’spam’,
… ‘user’:’sa’,
… ‘passwd’:’eggs’}
‘;’.join(“%s=%s”%(k, v) for k, v in conf.iteritems())
‘passswd=eggs;db=spam;user=sa;host=127.0.0.1’
S=”.join(T) #使用空字元串分割把字元列錶轉換為字元串
5、查找
count( sub[, start[, end]]),#計算substr在S中出現的次數
find( sub[, start[, end]]),#返回S中出現sub的第一個字母的標號,如果S中沒有sub則返回-1。start和end作用就相當於在S[start:end]中搜索
index( substr[, start[, end]]),#與find()相同,只是在S中沒有substr時,會返回一個運行時錯誤
rfind( sub[, start[,end]]),#返回S中最後出現的substr的第一個字母的標號,如果S中沒有substr則返回-1,也就是說從右邊算起的第一次出現的substr的首字母標號
rindex( sub[, start[, end]])
T2.find(‘ie’) 字元串方法調用:搜索
find()—-找到的第一個符合字元的index
rfind()—–找到最後一個符合的字元的index
備註:
find()函數族找不到時返回-1,index()函數族則拋出ValueError異常。
另,也可以用 in 和 not in 操作符來判斷字元串中是否存在某個模板
6、替換
replace(old, new[,count]),#把S中的oldstar替換為newstr,count為替換次數。這是替換的通用形式,還有一些函數進行特殊字元的替換
translate(table[,deletechars]) #使用上面的函數產後的翻譯表,把S進行翻譯,並把deletechars中有的字元刪掉
備註:
replace()函數的 count 參數用以指定最大替換次數
translate() 的參數 table 可以由 string.maketrans(frm, to) 生成
translate() 對 unicode 對象的支持並不完備,建議不要使用
7、判定
isalnum(),#是否全是字母和數字,並至少有一個字元
isalpha(),是否全是字母,並至少有一個字元
isdigit(),是否全是數字,並至少有一個字元 ,如果是全數字返回True,否則返回False
islower(),#S中的字母是否全是小寫
isupper(),#S中的字母是否是大寫
isspace(),#是否全是空白字元,並至少有一個字元
istitle(),S是否是首字母大寫的
startswith(prefix[, start[, end]]), #是否以prefix開頭
endswith(suffix[,start[, end]]),#以suffix結尾
備註:
這些函數都比較簡單,顧名知義。需要注意的是*with()函數族可以接受可選的 start, end 參數,善加利用,可以優化性能。
另,自 Py2.5 版本起,*with() 函數族的 prefix 參數可以接受 tuple 類型的實參,當實參中的某人元素能夠匹配,即返回 True。
8、填充
字元串在輸出時的對齊:
center(width[, fillchar]), 字元串中間對齊
ljust(width[, fillchar]), 字元串左對齊,不足部分用fillchar填充,默認的為空格
rjust(width[, fillchar]), 字元串右對齊,不足部分用fillchar填充,默認的為空格
zfill(width), 把字元串變成width長,並在右對齊,不足部分用0補足
expandtabs([tabsize])把字元串中的製表符(tab)轉換為適當數量的空格。
fillchar 參數指定了用以填充的字元,默認為空格
zfill的z為zero的縮寫,顧名思義,是以字元0進行填充,用於數值輸出
expandtabs()的tabsize 參數默認為8。它的功能是把字元串中的製表符(tab)轉換為適當數量的空格。
9、編碼
encode([encoding[,errors]]),
decode([encoding[,errors]])
這是一對互逆操作的方法,用以編碼和解碼字元串。因為str是平台相關的,它使用的內碼依賴於操作系統環境,
而unicode是平台無關的,是Python內部的字元串存儲
Python大數據課堂小作業 在線等 急
答案如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: huozheshi2012
# time : 2019/3/28
import random
import matplotlib.pyplot as plt
def roll_dice():
“””
模擬擲骰子
“””
roll = random.randint(1, 6)
return roll
def main(times):
“””
主函數
“””
total_time = times
# 初始化列表
result_list = [0] * 23
# 初始化點數列表
roll_list = list(range(4, 24))
roll_dict = dict(zip(roll_list, result_list))
# 記錄骰子1的的結果
roll1_list = []
roll2_list = []
roll3_list = []
roll4_list = []
for i in range(total_time):
roll1 = roll_dice()
roll2 = roll_dice()
roll3 = roll_dice()
roll4 = roll_dice()
roll1_list.append(roll1)
roll2_list.append(roll2)
roll3_list.append(roll3)
roll4_list.append(roll4)
# 獲取點數存儲到對應次數位置
for j in range(4, 24):
if (roll1 + roll2+ roll3+ roll4) == j:
roll_dict[j] += 1
break
for i, result in roll_dict.items():
print(‘點數{}的次數{},頻率:{}’.format(i, result, result/total_time))
# 數據可視化
x = range(1, total_time + 1)
plt.scatter(x, roll1_list, c=’red’, alpha=0.5)
plt.scatter(x, roll2_list, c=’green’, alpha=0.5)
plt.show()
if __name__ == ‘__main__’:
main(1000)
其中,main裡面可以改任意數字!
得到的結論是:投擲的次數越多,越加符合正態分布!
怎樣學習python
python作為當下最熱門的計算機編程語言之一,是許多互聯網大廠(如阿里騰訊等)在招聘時會作出要求的能力之一。學好python對於將來大數據方向、雲計算方向等物聯網時代新興崗位的學習很有幫助。
想要學習Python,需要掌握的內容還是比較多的,對於自學的同學來說會有一些難度,不推薦自學能力差的人。我們將學習的過程劃分為4個階段,每個階段學習對應的內容,具體的學習順序如下:
Python學習順序:
①Python軟體開發基礎
掌握計算機的構成和工作原理
會使用Linux常用工具
熟練使用Docker的基本命令
建立Python開發環境,並使用print輸出
使用Python完成字元串的各種操作
使用Python re模塊進行程序設計
使用Python創建文件、訪問、刪除文件
掌握import 語句、From…import 語句、From…import* 語句、方法的引用、Python中的包
②Python軟體開發進階
能夠使用Python面向對象方法開發軟體
能夠自己建立資料庫,表,並進行基本資料庫操作
掌握非關係資料庫MongoDB的使用,掌握Redis開發
能夠獨立完成TCP/UDP服務端客戶端軟體開發,能夠實現ftp、http伺服器,開發郵件軟體
能開發多進程、多線程軟體
③Python全棧式WEB工程師
能夠獨立完成後端軟體開發,深入理解Python開發後端的精髓
能夠獨立完成前端軟體開發,並和後端結合,熟練掌握使用Python進行全站Web開發的技巧
④Python多領域開發
能夠使用Python熟練編寫爬蟲軟體
能夠熟練使用Python庫進行數據分析
招聘網站Python招聘職位數據爬取分析
掌握使用Python開源人工智慧框架進行人工智慧軟體開發、語音識別、人臉識別
掌握基本設計模式、常用演算法
掌握軟體工程、項目管理、項目文檔、軟體測試調優的基本方法
想要系統學習,你可以考察對比一下開設有IT專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,建議實地考察對比一下。
祝你學有所成,望採納。
請點擊輸入圖片描述
零基礎學Python應該學習哪些入門知識
關於零基礎怎麼樣能快速學好Python的問題,百度提問和解答的都很多,你可以百度下看看。我覺得從個人自學的角度出發,應從以下幾個方面來理解:
1 為什麼選擇學python?
據統計零基礎或非專業的人士學python的比較多,據HackerRank開發者調查報告2018年5月顯示(見圖),Python排名第一,成為最受歡迎編程語言。Python以優雅、簡潔著稱,入行門檻低,可以從事Linux運維、Python Web網站工程師、Python自動化測試、數據分析、人工智慧等職位,薪資待遇呈上漲趨勢。
2 入門python需要那些準備?
2.1 心態準備。編程是一門技術,也可說是一門手藝。如同書法、繪畫、樂器、雕刻等,技藝純熟的背後肯定付出了長時間的反覆練習。不要相信幾周速成,也不能急於求成。編程的世界浩瀚無邊,所以請保持一顆敬畏的心態去學習,認真對待寫下的每一行代碼,甚至每一個字元。收拾好自己的心態,向著編程的世界出發。第一步至關重要,關係到初學者從入門到精通還是從入門到放棄。選一條合適的入門道路,並堅持走下去。
2.2 配置 Python 學習環境。選Python2 還是 Python3?入門時很多人都會糾結。二者只是程序不兼容,思想上並無大差別,語法變動也並不多。選擇任何一個入手,都沒有大影響。如果你仍然無法抉擇,那請選擇 Python3,畢竟這是未來的趨勢。
編輯器該如何選?同樣,推薦 pycharm 社區版,配置簡單、功能強大、使用起來省時省心,對初學者友好,並且完全免費!其他編輯器如:notepad++、sublimeText 3、vim 和 Emacs等不推薦了。
操作環境?Python 支持現有所有主流操作平台,不管是 windows 還是 mac 還是 linux,都能很好的運行 Python。並且後兩者都默認自帶 Python 環境。
2.3 選擇自學的書籍。我推薦的書的內容由淺入深,建議按照先後順序閱讀學習:
2.3.1《Python簡明教程》。這是一本言簡意賅的 Python 入門教程,簡單直白,沒有廢話。就算沒有基礎,你也可以像讀小說一樣,花兩天時間就可以讀完。適合入門快速了解語法。
2.3.2 廖雪峰編寫的《Python教程》。廖先生的教程涵蓋了 Python 知識的方方面面,內容更加系統,有一定深度,有一定基礎之後學習會有更多的收穫。
2.4 學會安裝包。Python中有很多擴展包,想要安裝這些包可以採用兩種方法:
2.4.1 使用pip或easy_install。
1)在網上找到的需要的包,下載下來。eg. rsa-3.1.4.tar.gz;
2)解壓縮該文件;
3)命令行工具cd切換到所要安裝的包的目錄,找到setup.py文件,然後輸入python setup.py install
2.4.2 不用pip或easy_install,直接打開cmd,敲pip install rsa。
3 提升階段需要恆心和耐力。
完成入門階段的基礎學習之後,常會陷入一個瓶頸期,通過看教程很難進一步提高編程水平。這時候,需要的是反覆練習,大量的練習。可以從書上的例題、作業題開始寫,再寫小程序片段,然後寫完整的項目。我們收集了一些練習題和網站。可根據自己階段,選擇適合的練習去做。建議最好挑選一兩個系列重點完成,而不是淺嘗輒止。
3.1 多做練習。推薦網站練習:
crossin編程教室實例:相對於編程教室基礎練習著重於單一知識點,
編程實例訓練對基礎知識的融會貫通;
hackerrank:Python 部分難度循序漸進,符合學習曲線
實驗樓:提升編程水平從做項目開始;
codewar:社區型編程練習網站,內容由易到難;
leetcode:為編程面試準備,對初學者稍難;
牛客網:提供 BAT 等大廠筆試題目;
codecombat:提供一邊遊戲一邊編程;
projecteuler:純粹的編程練習網站;
菜鳥教程100例:基於 py2 的基礎練習;
3.2 遇到問題多交流。
3.2.1 利用好搜索引擎。
3.2.2 求助於各大網站。推薦
stackoverflow:這是一個程序員的知識庫;
v2ex:國內非常不錯的編程社區,不僅僅是包含程序,也包含了程序員的生活;
segmentfault:一家以編程問答為主的網站;
CSDN、知乎、簡書等
3.2.3 加入相關的QQ、微信群、百度知道。不懂的可以隨時請教。
哪有python視頻教程
【033】Python(喵喵教程)百度網盤免費資源在線學習
鏈接:
提取碼: 1ek8
【033】Python(喵喵教程) 量化金融項目 北京15期就業班
python課件 python開發工具 python基礎班 Python3爬蟲課程資料代碼.zip
1-4 項目飛機大戰 1-3 面向對象 1-2 python基礎 1-1 Linux基礎 14-vi編輯器 13-ubuntu軟體安裝 12-打包壓縮 11-其他命令
原創文章,作者:KO86J,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128234.html