欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python輕松入門,python功能強(qiáng)大,開發(fā)網(wǎng)絡(luò)程序如何快速入門?

老白2年前146瀏覽0評論
python輕松入門? Python是一門編程語言,可以做很多事情,很多朋友對“python功能強(qiáng)大,開發(fā)網(wǎng)絡(luò)程序如何快速入門?”這樣的疑問,小編匯總了相關(guān)問答給大家參考!

謝邀,我覺得學(xué)習(xí)任何編程語言,都可以分為三部分,python網(wǎng)絡(luò)編程也不例外。

1.熟悉python的基礎(chǔ)語法,基本的編程思想,遞歸,迭代,貪心等,基礎(chǔ)的算法與數(shù)據(jù)結(jié)構(gòu),這些有過編程經(jīng)驗(yàn)的同學(xué)會比較容易理解,還有就是python的標(biāo)準(zhǔn)庫,功能豐富且實(shí)用,夯實(shí)python基礎(chǔ),更好理解編程思想,才能愉快的開啟python編程之旅。

2.既然是網(wǎng)絡(luò)編程,那就需要學(xué)習(xí)網(wǎng)絡(luò)方面的知識,基本的網(wǎng)絡(luò)交互,TCP/IP協(xié)議,HTTP協(xié)議等,理解數(shù)據(jù)是如何在網(wǎng)絡(luò)上流動的,這部分可以深入學(xué)習(xí)一下urllib這個庫,試著去寫幾個爬蟲,會對網(wǎng)絡(luò)有更好的理解。

3.夯實(shí)了基礎(chǔ),有了一定的編程經(jīng)驗(yàn),這時(shí)候就需要學(xué)習(xí)一些框架,flask,django等web開發(fā)框架,主要學(xué)習(xí)目錄設(shè)計(jì),以及架構(gòu)設(shè)計(jì)。

另外,python能做的事情很多,不只是網(wǎng)絡(luò)編程,可以做自動化服務(wù)器運(yùn)維,可以做數(shù)據(jù)分析與展現(xiàn),還有現(xiàn)在風(fēng)頭正盛的AI,都是首選python做數(shù)據(jù)訓(xùn)練,模型優(yōu)化的語言。編者,愿大家一同努力,打造中國的python社區(qū),成長為更好的pythoner。

關(guān)于作者:Python King,Python高手大師

在使用Pandas之前,需要導(dǎo)入Pandas包。慣例是將pandas簡寫為pd,命令如下:

import pandas as pd

Pandas包含兩個主要的數(shù)據(jù)結(jié)構(gòu):Series和DataFrame。其中最常用的是DataFrame,下面我們先來學(xué)習(xí)一下DataFrame。

01 DataFrame入門

DataFrame是一個表格型的數(shù)據(jù)結(jié)構(gòu)。每列都可以是不同的數(shù)據(jù)類型(數(shù)值、字符串、布爾值等)。

DataFrame既有行索引也有列索引,這兩種索引在DataFrame的實(shí)現(xiàn)上,本質(zhì)上是一樣的。但在使用的時(shí)候,往往是將列索引作為區(qū)分不同數(shù)據(jù)的標(biāo)簽。DataFrame的數(shù)據(jù)結(jié)構(gòu)與SQL數(shù)據(jù)表或者Excel工作表的結(jié)構(gòu)非常類似,可以很方便地互相轉(zhuǎn)換。

下面先來創(chuàng)建一個DataFrame,一種常用的方式是使用字典,這個字典是由等長的list或者ndarray組成的,示例代碼如下:

data={'A':['x','y','z'],'B':[1000,2000,3000],'C':[10,20,30]}df=pd.DataFrame(data,index=['a','b','c'])df

運(yùn)行結(jié)果如圖3-2所示。

▲圖3-2

我們可以看到,DataFrame主要由如下三個部分組成。

數(shù)據(jù),位于表格正中間的9個數(shù)據(jù)就是DataFrame的數(shù)據(jù)部分。索引,最左邊的a、b、c是索引,代表每一行數(shù)據(jù)的標(biāo)識。這里的索引是顯式指定的。如果沒有指定,會自動生成從0開始的數(shù)字索引。列標(biāo)簽,表頭的A、B、C就是標(biāo)簽部分,代表了每一列的名稱。

下文列出了DataFrame函數(shù)常用的參數(shù)。其中,“類似列表”代表類似列表的形式,比如列表、元組、ndarray等。一般來說,data、index、columns這三個參數(shù)的使用頻率是最高的。

data:ndarray/字典/類似列表 | DataFrame數(shù)據(jù);數(shù)據(jù)類型可以是ndarray、嵌套列表、字典等index:索引/類似列表 | 使用的索引;默認(rèn)值為range(n)columns:索引/類似列表 | 使用的列標(biāo)簽;默認(rèn)值為range(n)dtype:dtype | 使用(強(qiáng)制)的數(shù)據(jù)類型;否則通過推導(dǎo)得出;默認(rèn)值為Nonecopy:布爾值 | 從輸入復(fù)制數(shù)據(jù);默認(rèn)值為False

其中data的數(shù)據(jù)類型有很多種。

下文列舉了可以作為data傳給DataFrame函數(shù)的數(shù)據(jù)類型。

可以傳給DataFrame構(gòu)造器的數(shù)據(jù):

二維ndarray:可以自行指定索引和列標(biāo)簽嵌套列表或者元組:類似于二維ndarray數(shù)據(jù)、列表或元組組成的字典:每個序列變成一列。所有序列長度必須相同由Series組成的字典:每個Series會成為一列。如果沒有指定索引,各Series的索引會被合并另一個DataFrame:該DataFrame的索引將會被沿用

前面生成了一個DataFrame,變量名為df。下面我們來查看一下df的各個屬性值。

獲取df數(shù)據(jù)的示例代碼如下:

df.values

輸出結(jié)果如下:

array([['x', 1000, 10], ['y', 2000, 20], ['z', 3000, 30]], dtype=object)

獲取df行索引的示例代碼如下:

df.index

輸出結(jié)果如下:

Index(['a', 'b', 'c'], dtype='object')

獲取df列索引(列標(biāo)簽)的示例代碼如下:

df.columns

輸出結(jié)果如下:

Index(['A', 'B', 'C'], dtype='object')

可以看到,行索引和列標(biāo)簽都是Index數(shù)據(jù)類型。

創(chuàng)建的時(shí)候,如果指定了列標(biāo)簽,那么DataFrame的列也會按照指定的順序進(jìn)行排列,示例代碼如下:

df=pd.DataFrame(data,columns=['C','B','A'],index=['a','b','c'])df

運(yùn)行結(jié)果如圖3-3所示。

▲圖3-3

如果某列不存在,為其賦值,會創(chuàng)建一個新列。我們可以用這種方法來添加一個新的列:

df['D']=10df

運(yùn)行結(jié)果如圖3-4所示。

▲圖3-4

使用del命令可以刪除列,示例代碼如下:

del df['D']df

運(yùn)行結(jié)果如圖3-5所示。

▲圖3-5

添加行的一種方法是先創(chuàng)建一個DataFrame,然后再使用append方法,代碼如下:

new_df=pd.DataFrame({'A':'new','B':4000,'C':40},index=['d'])df=df.append(new_df)df

運(yùn)行結(jié)果如圖3-6所示。

▲圖3-6

或者也可以使用loc方法來添加行,示例代碼如下:

df.loc['e']=['new2',5000,50]df

運(yùn)行結(jié)果如圖3-7所示。

▲圖3-7

loc方法將在后面的內(nèi)容中詳細(xì)介紹。

索引的存在,使得Pandas在處理缺漏信息的時(shí)候非常靈活。下面的示例代碼會新建一個DataFrame數(shù)據(jù)df2。

df2=pd.DataFrame([1,2,3,4,5],index=['a','b','c','d','z'],columns=['E'])df2

運(yùn)行結(jié)果如圖3-8所示。

▲圖3-8

如果現(xiàn)在想要合并df和df2,使得df有一個新的列E,那么可以使用join方法,代碼如下:

df.join(df2)

運(yùn)行結(jié)果如圖3-9所示。

▲圖3-9

可以看到,df只接受索引已經(jīng)存在的值。由于df2中沒有索引e,所以是NaN值,而且df2索引為z的值已經(jīng)丟失了。為了保留df2中索引為z的值,我們可以提供一個參數(shù),告訴Pandas如何連接。示例代碼如下:

df.join(df2,how='outer')

運(yùn)行結(jié)果如圖3-10所示。

▲圖3-10

在上述代碼中,how='outer'表示使用兩個索引中所有值的并集。連接操作的其他選項(xiàng)還有inner(索引的交集)、left(默認(rèn)值,調(diào)用方法的對象的索引值)、right(被連接對象的索引值)等。

在金融數(shù)據(jù)分析中,我們要分析的往往是時(shí)間序列數(shù)據(jù)。下面介紹一下如何基于時(shí)間序列生成DataFrame。為了創(chuàng)建時(shí)間序列數(shù)據(jù),我們需要一個時(shí)間索引。這里先生成一個DatetimeIndex對象的日期序列,代碼如下:

dates=pd.date_range('20160101',periods=8)dates

輸出結(jié)果如下:

DatetimeIndex(['2016-01-01', '2016-01-02', '2016-01-03', '2016-01-04', '2016-01-05', '2016-01-06', '2016-01-07', '2016-01-08'],dtype='da tetime64[ns]', freq='D')

可以看到,使用Pandas的date_range函數(shù)生成的是一個DatetimeIndex對象。date_range函數(shù)的參數(shù)及說明如下所示:

start:字符串/日期時(shí)間 | 開始日期;默認(rèn)為Noneend:字符串/日期時(shí)間 | 結(jié)束日期;默認(rèn)為Noneperiods:整數(shù)/None | 如果start或者end空缺,就必須指定;從start開始,生成periods日期數(shù)據(jù);默認(rèn)為Nonefreq:dtype | 周期;默認(rèn)是D,即周期為一天。也可以寫成類似5H的形式,即5小時(shí)。其他的頻率參數(shù)見下文tz:字符串/None | 本地化索引的時(shí)區(qū)名稱normalize:布爾值 | 將start和end規(guī)范化為午夜;默認(rèn)為Falsename:字符串 | 生成的索引名稱

date_range函數(shù)頻率的參數(shù)及說明如下所示:

B:交易日C:自定義交易日(試驗(yàn)中)D:日歷日W:每周M:每月底SM:半個月頻率(15號和月底)BM:每個月份最后一個交易日CBM:自定義每個交易月MS:日歷月初SMS:月初開始的半月頻率(1號,15號)BMS:交易月初CBMS:自定義交易月初Q:季度末BQ:交易季度末QS:季度初BQS:交易季度初A:年末BA:交易年度末AS:年初BAS:交易年度初BH:交易小時(shí)H:小時(shí)T,min:分鐘S:秒L,ms:毫秒U(xiǎn),us:微秒N:納秒

接下來,我們再基于dates來創(chuàng)建DataFrame,代碼如下:

df=pd.DataFrame(np.random.randn(8,4),index=dates,columns=list('ABCD'))df

運(yùn)行結(jié)果如圖3-11所示。

▲圖3-11

有了df,我們就可以使用多個基于DataFrame的內(nèi)建方法了,下面來看看相關(guān)的示例。

按列求總和,代碼如下:

df.sum()

輸出結(jié)果如下:

A 0.241727B -0.785350C -0.547433D -1.449231dtype: float64

按列求均值,代碼如下:

df.mean()

輸出結(jié)果如下:

A 0.030216B -0.098169C -0.068429D -0.181154dtype: float64

按列求累計(jì)總和,代碼如下:

df.cumsum()

運(yùn)行結(jié)果如圖3-12所示。

▲圖3-12

使用describe一鍵生成多種統(tǒng)計(jì)數(shù)據(jù),代碼如下:

df.describe()

運(yùn)行結(jié)果如圖3-13所示。

▲圖3-13

可以根據(jù)某一列的值進(jìn)行排序,代碼如下:

df.sort_values('A')

運(yùn)行結(jié)果如圖3-14所示。

▲圖3-14

根據(jù)索引(日期)排序(這里是倒序),代碼如下:

df.sort_index(ascending=False)

運(yùn)行結(jié)果如圖3-15所示。

▲圖3-15

選取某一列,返回的是Series對象,可以使用df.A,代碼如下:

df['A']

輸出結(jié)果如下:

2016-01-01 -1.1423502016-01-02 -0.8161782016-01-03 0.0302062016-01-04 1.9301752016-01-05 0.5715122016-01-06 0.2204452016-01-07 0.2921762016-01-08 -0.844260Freq: D, Name: A, dtype: float64

使用[]選取某幾行,代碼如下:

df[0:5]

運(yùn)行結(jié)果如圖3-16所示。

▲圖3-16

根據(jù)標(biāo)簽(Label)選取數(shù)據(jù),使用的是loc方法,代碼如下:

df.loc[dates[0]]

輸出結(jié)果如下:

A -1.142350B -1.999351C 0.772343D -0.851840Name: 2016-01-01 00:00:00, dtype: float64

再來看兩個示例代碼。

df.loc[:,['A','C']]

運(yùn)行結(jié)果如圖3-17所示。

▲圖3-17

df.loc['20160102':'20160106',['A','C']]

運(yùn)行結(jié)果如圖3-18所示。

▲圖3-18

需要注意的是,如果只有一個時(shí)間點(diǎn),那么返回的值是Series對象,代碼如下:

df.loc['20160102',['A','C']]

輸出結(jié)果如下:

A -0.816178C -0.595195Name: 2016-01-02 00:00:00, dtype: float64

如果想要獲取DataFrame對象,需要使用如下命令:

df.loc['20160102':'20160102',['A','C']]

運(yùn)行結(jié)果如圖3-19所示。

▲圖3-19

上面介紹的是loc方法,是按標(biāo)簽(索引)來選取數(shù)據(jù)的。有時(shí)候,我們會希望按照DataFrame的絕對位置來獲取數(shù)據(jù),比如,如果想要獲取第3行第2列的數(shù)據(jù),但不想按標(biāo)簽(索引)獲取,那么這時(shí)候就可以使用iloc方法。

根據(jù)位置選取數(shù)據(jù),代碼如下:

df.iloc[2]

輸出結(jié)果如下:

A 0.030206B 0.759953C -1.446549D -0.874364Name: 2016-01-03 00:00:00, dtype: float64

再來看一個示例:

df.iloc[3:6,1:3]

運(yùn)行結(jié)果如圖3-20所示。

▲圖3-20

注意:對于DataFrame數(shù)據(jù)類型,可以使用[]運(yùn)算符來進(jìn)行選取,這也是最符合習(xí)慣的。但是,對于工業(yè)代碼,推薦使用loc、iloc等方法。因?yàn)檫@些方法是經(jīng)過優(yōu)化的,擁有更好的性能。

有時(shí),我們需要選取滿足一定條件的數(shù)據(jù)。這個時(shí)候可以使用條件表達(dá)式來選取數(shù)據(jù)。這時(shí)傳給df的既不是標(biāo)簽,也不是絕對位置,而是布爾數(shù)組(Boolean Array)。下面來看一下示例。

例如,尋找A列中值大于0的行。首先,生成一個布爾數(shù)組,代碼如下:

df.A>0

輸出結(jié)果如下:

2016-01-01 False2016-01-02 False2016-01-03 True2016-01-04 True2016-01-05 True2016-01-06 True2016-01-07 True2016-01-08 FalseFreq: D, Name: A, dtype: bool

可以看到,這里生成了一個Series類型的布爾數(shù)組??梢酝ㄟ^這個數(shù)組來選取對應(yīng)的行,代碼如下:

df[df.A>0]

運(yùn)行結(jié)果如圖3-21所示。

▲圖3-21

從結(jié)果可以看到,A列中值大于0的所有行都被選擇出來了,同時(shí)也包括了BCD列。

現(xiàn)在我們要尋找df中所有大于0的數(shù)據(jù),先生成一個全數(shù)組的布爾值,代碼如下:

df>0

運(yùn)行結(jié)果如圖3-22所示。

▲圖3-22

下面來看一下使用df>0選取出來的數(shù)據(jù)效果。由圖3-23可以看到,大于0的數(shù)據(jù)都能顯示,其他數(shù)據(jù)顯示為NaN值。

df[df>0]

運(yùn)行結(jié)果如圖3-23所示。

▲圖3-23

再來看一下如何改變df的值。首先我們?yōu)閐f添加新的一列E,代碼如下:

df['E']=0df

運(yùn)行結(jié)果如圖3-24所示。

▲圖3-24

使用loc改變一列值,代碼如下:

df.loc[:,'E']=1df

運(yùn)行結(jié)果如圖3-25所示。

▲圖3-25

使用loc改變單個值,代碼如下:

df.loc['2016-01-01','E'] = 2df

運(yùn)行結(jié)果如圖3-26所示。

▲圖3-26

使用loc改變一列值,代碼如下:

df.loc[:,'D'] = np.array([2] * len(df))df

運(yùn)行結(jié)果如圖3-27所示。

▲圖3-27

可以看到,使用loc的時(shí)候,x索引和y索引都必須是標(biāo)簽值。對于這個例子,使用日期索引明顯不方便,需要輸入較長的字符串,所以使用絕對位置會更好。這里可以使用混合方法,DataFrame可以使用ix來進(jìn)行混合索引。比如,行索引使用絕對位置,列索引使用標(biāo)簽,代碼如下:

df.ix[1,'E'] = 3df

運(yùn)行結(jié)果如圖3-28所示。

▲圖3-28

ix的處理方式是,對于整數(shù),先假設(shè)為標(biāo)簽索引,并進(jìn)行尋找;如果找不到,就作為絕對位置索引進(jìn)行尋找。所以運(yùn)行效率上會稍差一些,但好處是這樣操作比較方便。

對于ix的用法,需要注意如下兩點(diǎn)。

假如索引本身就是整數(shù)類型,那么ix只會使用標(biāo)簽索引,而不會使用位置索引,即使沒能在索引中找到相應(yīng)的值(這個時(shí)候會報(bào)錯)。如果索引既有整數(shù)類型,也有其他類型(比如字符串),那么ix對于整數(shù)會直接使用位置索引,但對于其他類型(比如字符串)則會使用標(biāo)簽索引。

總的來說,除非想用混合索引,否則建議只使用loc或者iloc來進(jìn)行索引,這樣可以避免很多問題。

02 Series

Series類似于一維數(shù)組,由一組數(shù)據(jù)以及相關(guān)的數(shù)據(jù)標(biāo)簽(索引)組成。示例代碼如下:

import pandas as pds=pd.Series([1,4,6,2,3])s

Out:

0 11 42 63 24 3

在這段代碼中,我們首先導(dǎo)入pandas并命名為pd,然后向Series函數(shù)傳入一個列表,生成一個Series對象。在輸出Series對象的時(shí)候,左邊一列是索引,右邊一列是值。由于沒有指定索引,因此會自動創(chuàng)建0到(N-1)的整數(shù)索引。也可以通過Series的values和index屬性獲取其值和索引。示例代碼如下:

s.values

Out:

array([1, 4, 6, 2, 3], dtype=int64)

s.index

Out:

Int64Index([0, 1, 2, 3, 4], dtype='int64')

當(dāng)然,我們也可以對索引進(jìn)行定義,代碼如下:

s=pd.Series([1,2,3,4],index=['a','b','c','d'])s

Out:

a 1b 2c 3d 4

在這里,我們將索引定義為a、b、c、d。這時(shí)也可以用索引來選取Series的數(shù)據(jù),代碼如下:

s['a']

Out:

1

s[['b','c']]

Out:

b 2c 3

對Series進(jìn)行數(shù)據(jù)運(yùn)算的時(shí)候也會保留索引。示例代碼如下:

s[s>1]

Out:

b 2c 3d 4

s*3

Out:

a 3b 6c 9d 12

Series最重要的功能之一是在不同索引中對齊數(shù)據(jù)。示例代碼如下:

s1=pd.Series([1,2,3],index=['a','b','c'])s2=pd.Series([4,5,6],index=['b','c','d'])s1+s2

Out:

a NaNb 6c 8d NaN

Series的索引可以通過賦值的方式直接修改,示例代碼如下:

s.index

Out:

Index([u'a', u'b', u'c', u'd'], dtype='object')

s.index=['w','x','y','z']s.index

Out:

Index([u'w', u'x', u'y', u'z'], dtype='object')

s

Out:

w 1x 2y 3z 4

首先是基本語法的學(xué)習(xí),這方面可以下載《簡明Python教程》學(xué)習(xí),也可以到廖雪峰的官方網(wǎng)站學(xué)習(xí)。

然后,找個感興趣的方向深入研究相關(guān)的庫的使用。

Web開發(fā)方面,可以學(xué)習(xí)一下Flask和Django數(shù)據(jù)可視化方面,可以學(xué)習(xí)一下numpy、matplotlib圖形界面開發(fā)方面,可以學(xué)習(xí)一下Tk、GTK+、PyQt等

Python是一門非常適合用來做編程入門和科學(xué)研究的編程語言,Python語法比較簡單(隨意)對初學(xué)者非常友好,不過學(xué)習(xí)Python用什么IDE比較好呢?

以前Python還沒有這么火,這幾年伴隨著人工智能越來越火,Python也越來越受到廣大程序員的歡迎,自然各路商業(yè)IDE開發(fā)商和開源組織,也對Python下手了,于是越來越多的Python IDE殺出來,精品也確實(shí)不少,選擇其實(shí)很多。

兩款商業(yè)級IDE

Python是開源的,但是Python的IDE可以非常好的商業(yè)化版本,一個是曾經(jīng)拿到年度最佳開發(fā)者工具的WingIDE,一個是大名鼎鼎的JetBrains旗下的PyCharm,兩款產(chǎn)品都做得非常好,但也都有劣勢。

WingIDE拿過年度最佳開發(fā)者工具,這款集成開發(fā)環(huán)境本身也是用Python寫的。早期寫Python大家主要還是用Vim、Emacs、sublime text等文本編輯器,搭配插件進(jìn)行開發(fā),確實(shí)缺少好的Python IDE,WingIDE進(jìn)入這個領(lǐng)域之后,迅速獲得大批粉絲。WingIDE也有免費(fèi)的社區(qū)版,用來日常學(xué)習(xí)和做作小項(xiàng)目綽綽有余。

PyCharm是JetBrains旗下的產(chǎn)品,不得不佩服JetBrains這家企業(yè),真的是精品無數(shù),基本上做一個工具就火一個工具,這家捷克軟件公司,最初是因?yàn)閮晌粍?chuàng)始人覺得當(dāng)時(shí)的Java IDE都太爛了,于是就自己親自做了大名鼎鼎的IDEA,后來就一發(fā)而不可收拾了。所以JetBrains出品必屬精品,他家的IDE可以閉著眼睛用,不過使用他家的產(chǎn)品得是個“高富帥”,8G一下的內(nèi)存就不要嘗試了,不同于WingIDE 4G內(nèi)容就敢嘗試,PyCharm沒個8G內(nèi)存真不夠用,畢竟這玩意兒是Java開發(fā)的。

不建議IDLE、建議VS Code

都0202年了,你還沒有用過VS Code的話那就真的Out啦,VS Code是微軟官方做的一個開源文本編輯器,準(zhǔn)確地說VS Code應(yīng)該是介于文本編輯器和集成開發(fā)環(huán)境之間,相對于Editor功能上多了代碼理解這樣的功能,但又不像IDE那么臃腫。

VS Code對幾乎所有主流編程語言都有著非常好的支持,當(dāng)然Python也不例外,而且VS Code的第一個Python插件還是微軟自己開發(fā)的。Visual Studio當(dāng)然也能做Python開發(fā),不過VS確實(shí)太龐大了,微軟用一個開源的VS Code做了很多VS不能做的事情,畢竟微軟想把強(qiáng)大的全功能VS還是藏在Windows平臺上。

IDLE是Python官方的IDE,當(dāng)然這款工具非常輕量級,不過吧體驗(yàn)是真的不太好,算不上一個很好的IDE,尤其是提示真的做得非常差,當(dāng)然也能用。可是我覺得吧,我要是用這玩意兒,還不如繼續(xù)老老實(shí)實(shí)用Emacs或者Vim,可能還舒服一點(diǎn)。

Matlab替代品、數(shù)據(jù)科學(xué)用Spyder

前段時(shí)間哈工大被禁用Matlab的消息弄得沸沸揚(yáng)揚(yáng)的,盡管目前還沒辦法完全替代matlab,spyder倒是能夠很大程度可以用來做替代品,事實(shí)上spyder這幾年越來越好用了,基本上就是對標(biāo)matlab發(fā)展起來的。

用Spyder你可以直接安裝Anaconda,Anaconda里面的默認(rèn)IDE就是Spyder,而且一切都是傻瓜式安裝非常方便,不用自己的倒來倒去搞各種環(huán)境。Anaconda和Jupyter notebook已經(jīng)是數(shù)據(jù)分析領(lǐng)域的標(biāo)準(zhǔn)工具,這個基本上已經(jīng)是一個行業(yè)認(rèn)知了。

Anaconda是包管理器和環(huán)境管理器,也是一個開源的Python版本,直接安裝Anaconda解決一切問題,包含了conda、Python等眾多科學(xué)包和依賴項(xiàng),總的來說就是一個省心。Anaconda在人工智能領(lǐng)域也有廣泛應(yīng)用,Amazon首席科學(xué)家李沐、也就是《動手學(xué)深度學(xué)習(xí)》的作者,就喜歡這玩意兒。

總的來說,也看你用Python做什么,簡單的學(xué)習(xí)我主要推薦VS Code,這玩意兒確實(shí)很好用,也很強(qiáng)大,在StackOverflow開發(fā)者調(diào)查中,2019年最受歡迎的開發(fā)者工具中排名第一的就是VS Code,那么此時(shí)不用更待何時(shí)?

總結(jié),以上就是關(guān)于python輕松入門以及python功能強(qiáng)大,開發(fā)網(wǎng)絡(luò)程序如何快速入門的經(jīng)驗(yàn)分享,卡友有疑問可以加wx或掃碼加群!