欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

初窺Python門縫了解入門路徑

 更新時(shí)間:2021年10月25日 09:07:49   作者:微小冷  
Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的Guido van Rossum 于1990 年代初設(shè)計(jì),作為一門叫做ABC語言的替代品。 Python提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊?/div>

此之謂入門,其標(biāo)準(zhǔn)是,在不計(jì)效率的情況下,可以使用這門語言實(shí)現(xiàn)一個(gè)不太復(fù)雜的功能。

當(dāng)然,這個(gè)不計(jì)效率也不是毫無原則的不計(jì),比如我可以1小時(shí)搞定,那么剛?cè)腴T的新手需要1天甚至2天,他將需要大量的時(shí)間去查庫查類查函數(shù),但絕不至于用上一周半周的。

我從來都沒學(xué)過python,當(dāng)年只是受夠了Matlab,而想把一個(gè)用Matlab寫的類轉(zhuǎn)成其他語言,結(jié)果用了一周,就把一個(gè)涵蓋圖像處理、數(shù)據(jù)擬合等功能的一千來行Matlab代碼順利轉(zhuǎn)成了Python。過了沒幾年,Matlab就對(duì)我們禁用了,可見當(dāng)年的選擇是極為英明的。

那么如今讓我重寫一遍那個(gè)類,大概只需要一天不到。這就是新手和老手的區(qū)別,但也僅僅是新手和老手的區(qū)別。

從入門到熟練運(yùn)用,需要的不是什么思維的提升,而僅僅是是一個(gè)字——用,或者更直觀地說,就是看代碼量。從這個(gè)意義上來說,越快入門,就可以更早地堆積代碼量,從而更早地熟練運(yùn)用Python,而不是按部就班地從入門到放棄。學(xué)習(xí)編程最可怕的事情就是:每天寫一遍Hello World并感覺收獲滿滿。

接下來,快速入門Python。

1 環(huán)境配置與基本運(yùn)算

正所謂天下武功、唯快不破。學(xué)Python,講求的就是一個(gè)快字。

盡管下載Python并安裝并不麻煩,但新手往往會(huì)在使用過程中出現(xiàn)各種讓人費(fèi)解的問題。所以,如果想1小時(shí)入門,我推薦這個(gè)。

在線Jupyter編輯工具,進(jìn)入之后,點(diǎn)擊中間的Try JupyterLab,就可以進(jìn)入在線Notebook的界面。

在這里插入圖片描述

點(diǎn)擊Python3,快速進(jìn)入jupyter notebook的環(huán)境。然后按照直覺,寫一些四則運(yùn)算表達(dá)式,例如這些:

x = 100
y = 50
z = 2.5
print(x + y * z)
print(x - y / z)
print(x * y**2)

然后同時(shí)按下Ctrl+回車,就能運(yùn)行python代碼。

在這里插入圖片描述

然后按下alt+回車,開啟下一段代碼。

如果用shift+回車,則會(huì)綜合上面的兩個(gè)功能,本節(jié)耗時(shí):3分鐘。

如果覺得在線Jupyter工具不好用,還有這個(gè)ideone,進(jìn)入之后選擇python,輸完代碼后選擇run。

在這里插入圖片描述

2 調(diào)用各種包

在python中,通過import來完成包的調(diào)用。例如,我想調(diào)用一個(gè)日歷的包,然后打印日歷

import calendar
calendar.prcal(2021,m=4)	#2021年,每行4個(gè)月

然后shift+回車,就可以看到日歷了。

在這里插入圖片描述

如果想通過python進(jìn)行科學(xué)計(jì)算,應(yīng)用最多的包是numpymatplotlib中的pyplot,前者用于計(jì)算,后者用于繪圖。通常二者被重命名為npplt。接下來演示一下二者的用法。

import numpy as np
from matplotlib import pyplot as plt

x = np.random.rand(100) #python中通過#進(jìn)行注釋
y = np.random.rand(100) #用于生成100個(gè)隨機(jī)數(shù)
plt.scatter(x,y)        #繪制散點(diǎn)圖,并存放在內(nèi)存
plt.show()              #調(diào)用內(nèi)存中的圖,show給我們

在這里插入圖片描述

本節(jié)需要記住的單詞import、as、numpy、matplotlib.pyplotrandom.rand、scatter、plt.show

本節(jié)耗時(shí):5分鐘。

3 判斷、循環(huán)

如果想統(tǒng)計(jì)剛剛新建的xy中,有多少大于0.5,那么方法很簡(jiǎn)單,:新建兩個(gè)變量用于存儲(chǔ)二者的個(gè)數(shù),然后跑一個(gè)循環(huán)進(jìn)行判斷。

xNum = 0
yNum = 0
for i in range(100):
    if x[i]>0.5:xNum += 1   # xNum += 1 即 xNum = xNum + 1
    if y[i]>0.5:yNum += 1   # python中通過方括號(hào)進(jìn)行索引
print(xNum,yNum)

可以把range(100)理解為0到99這100個(gè)數(shù)組成的一個(gè)集合,for i in range(100)意味著i對(duì)這個(gè)集合進(jìn)行遍歷,遍歷就是逐個(gè)復(fù)制給i,所以就完成了循環(huán)。

在python中,判斷、循環(huán)結(jié)構(gòu)通過:與其內(nèi)容進(jìn)行分隔,且子代碼塊需要通過空格進(jìn)行標(biāo)記。如果程序塊中只有一行代碼,則可以直接寫在:后面。

如果想知道,x中處于 ( 0 , 0.3 ] , ( 0.3 , 0.6 ] , ( 0.6 , 1 ] (0,0.3],(0.3,0.6],(0.6,1] (0,0.3],(0.3,0.6],(0.6,1]這三個(gè)區(qū)間的數(shù)分別是多少,則需要用到if..elif

n1,n2,n3 = 0,0,0    #按照直覺理解即可
for i in x:
    if i>0.6 : n3 += 1
    elif i>0.3 : n2 += 1
    else: n1 += 1
print(n1,n2,n3)

for..in的作用是遍歷某個(gè)集合,而x本身也是一個(gè)集合,所以也可以接受遍歷。

本節(jié)需要記住的單詞if, else, elif, for, +=,,耗時(shí)5分鐘。

4 函數(shù)

如果想反復(fù)統(tǒng)計(jì)一組隨機(jī)數(shù)的分布情況,顯然不能每次都寫一遍那么老長的代碼,而是應(yīng)該把代碼封裝到一個(gè)函數(shù)里面。

def statis(x):
    xNum = 0
    for i in x:
        if i>0.5:
            xNum += 1
    return xNum

在Python中,通過def新建一個(gè)函數(shù),函數(shù)名字后的括號(hào)里是這個(gè)函數(shù)需要輸入的變量。最后通過return來返回一個(gè)值。如果按照數(shù)學(xué)的那種表達(dá)式,以上代碼差不多類似xNum=statis(x)這樣的感覺。

在建了一個(gè)函數(shù)之后,就可以調(diào)用了,本節(jié)用時(shí)5分鐘,需要記住defreturn。

在這里插入圖片描述

5 數(shù)據(jù)結(jié)構(gòu)

我們剛剛說x是集合,這是不準(zhǔn)確的。數(shù)學(xué)上的集合要求不能有重復(fù)元素,但x是隨機(jī)生成的一個(gè)數(shù)組,所以并不能保證這一點(diǎn)。

在本節(jié),我們要弄懂python中最常用的5種數(shù)據(jù)結(jié)構(gòu):元組、列表、字典、集合、數(shù)組,同時(shí)要掌握python推導(dǎo)式,預(yù)計(jì)耗時(shí)15分鐘。

tpl = (1,2,3,4)     #此為元組tuple
lst = [1,2,3,4,5]   #此為列表list
dct = {"a":1, "b":2, "c":3} #此為字典dict
st = {1,2,3,3}      #此為集合
arr = np.array([1,2,3,4])   #此為數(shù)組

在這里插入圖片描述

可以看到,盡管我們?cè)谛陆系臅r(shí)候給了1,2,3,3,但集合中沒有重復(fù)元素,所以只剩下一個(gè)3。

一句話區(qū)分這五種類型:

  • 只有數(shù)組np.array可以計(jì)算
  • 字典通過鍵值對(duì)(key-value)進(jìn)行索引
  • 集合無重復(fù)元素,且不可索引
  • 元組可以作為字典的鍵,列表則不能。

這五種數(shù)據(jù)類型的詳細(xì)區(qū)別如下(這個(gè)其實(shí)用不著記)。

索引方式 可計(jì)算 可哈希 元素可重復(fù) 指針式
tuple tpl[0] *
list lst[0] *
dict dct["a"] **
set *
np.array arr[0]

其中,可哈希暫時(shí)可理解為能夠作為字典的key。

所謂指針式是我亂取的一個(gè)名字,意思是可以像指針一樣把元素取出來。其中,集合與字典因?yàn)樵夭豢芍貜?fù),所以并沒有什么變化。

在這里插入圖片描述

至于可計(jì)算就比較容易理解了,例如+測(cè)試,字典和集合干脆就報(bào)錯(cuò)了,而元組、列表將+重載為合并,只有arr執(zhí)行了加法操作。

在這里插入圖片描述

在python中,可通過len來獲取這些數(shù)據(jù)結(jié)構(gòu)的長度。

6 字符串

在字典中我們其實(shí)已經(jīng)用過了字符串,在python中,用單引號(hào)或雙引號(hào)來代表字符串,二者是等價(jià)的。

x = 'abc'
y = "abc"
print(x==y)

因?yàn)橐?hào)被用于字符串的標(biāo)志,所以如果想在字符串中輸入引號(hào),則需要轉(zhuǎn)義,轉(zhuǎn)移符號(hào)為\。又因?yàn)?code>\用于轉(zhuǎn)義,所以\也需要轉(zhuǎn)義。

print('\'')
print('\\')
print("\"")

7 回到本地

下載python,或者下載anaconda。

如果下載之后,可通過win+r,輸入cmd進(jìn)入命令行,輸入python進(jìn)入python環(huán)境。

如果下載的是python,則通過pip isntall numpy安裝numpy,總之其命令格式為pip install XXX;如果下載的是anacoda,則還可以通過conda install numpy來進(jìn)行安裝——當(dāng)然,anaconda的基本環(huán)境已經(jīng)安裝了大部分常用包。

如果把python的代碼封裝到一個(gè).py格式的文件中,然后就可以通過python XX.py進(jìn)行調(diào)用,并執(zhí)行。

8 命令行版2048小游戲

按理說看到這里,并寫到這里,就應(yīng)該算是完成了入門,那么接下來就要用入門學(xué)會(huì)的知識(shí),寫一個(gè)命令行版的2048小游戲。

2048的邏輯無非是操作4x4的方格,每個(gè)方格中有一個(gè)數(shù),我們可以操作這些數(shù)字進(jìn)行移動(dòng),如果兩個(gè)相同的數(shù)字在我們的操作下相撞了,那么它們就可以合并了。

而這個(gè)4x4的方格,無非是一個(gè)矩陣。

我們的操作可以理解為輸入字符,用wsad代表上下左右,y代表確定,n代表取消。

python接收字符的函數(shù)是input,例如

>>> x = input("input a number")
input a number5
>>> x
'5'

而創(chuàng)建矩陣,可以用np.zeros([4,4]).astype(int),表示創(chuàng)建一個(gè) 4 × 4 4\times4 4×4的全0矩陣,并化為整形。

矩陣中只有16個(gè)元素,盡管循環(huán)效率低下,但足以滿足人的操作速度了。

如果讀者從頭到尾敲了所有的代碼,那么如今必然有能力獨(dú)立寫出這樣的程序。所以具體的代碼將在下篇文章給出。

到此這篇關(guān)于初窺Python門縫了解入門路徑的文章就介紹到這了,更多相關(guān)Python 入門內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 基于opencv去除圖片陰影

    python 基于opencv去除圖片陰影

    這篇文章主要介紹了python 基于opencv去除圖片陰影的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • python TKinter彈出式菜單的實(shí)例方法

    python TKinter彈出式菜單的實(shí)例方法

    在本篇文章里小編給大家整理了一篇關(guān)于python TKinter彈出式菜單的實(shí)例方法及相關(guān)代碼,有需要的朋友們可以學(xué)習(xí)下。
    2021-10-10
  • 使用Python刪除PDF文件名中的特定文字

    使用Python刪除PDF文件名中的特定文字

    在處理大量PDF文件時(shí),有時(shí)候我們可能需要對(duì)文件名進(jìn)行批量修改,例如,我們可能需要將文件名中的特定文字刪除或替換,今天,我將向大家介紹如何使用Python編寫一個(gè)簡(jiǎn)單的程序,選擇一個(gè)文件夾,并刪除文件名中的指定文字,需要的朋友可以參考下
    2023-09-09
  • Windows下實(shí)現(xiàn)pytorch環(huán)境搭建

    Windows下實(shí)現(xiàn)pytorch環(huán)境搭建

    這篇文章主要介紹了Windows下實(shí)現(xiàn)pytorch環(huán)境搭建,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python并發(fā)編程多進(jìn)程,多線程及GIL全局解釋器鎖

    Python并發(fā)編程多進(jìn)程,多線程及GIL全局解釋器鎖

    這篇文章主要介紹了Python并發(fā)編程多進(jìn)程,多線程及GIL全局解釋器鎖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • Python實(shí)現(xiàn)字符型圖片驗(yàn)證碼識(shí)別完整過程詳解

    Python實(shí)現(xiàn)字符型圖片驗(yàn)證碼識(shí)別完整過程詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)字符型圖片驗(yàn)證碼識(shí)別完整過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 快速了解Python中的裝飾器

    快速了解Python中的裝飾器

    這篇文章主要介紹了快速了解Python中的裝飾器,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • 使用Python實(shí)現(xiàn)保存剪貼板中的圖像

    使用Python實(shí)現(xiàn)保存剪貼板中的圖像

    這篇文章主要為大家詳細(xì)介紹了如何使用Python創(chuàng)建一個(gè)簡(jiǎn)單的GUI應(yīng)用程序,實(shí)現(xiàn)保存剪貼板中的圖像功能,文中的示例代碼講解詳細(xì),需要的可以參考下
    2023-09-09
  • Python做屏幕錄制工具的實(shí)現(xiàn)示例

    Python做屏幕錄制工具的實(shí)現(xiàn)示例

    本文主要介紹了Python做屏幕錄制工具的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 基于Python繪制子圖及子圖刻度的變換等的問題

    基于Python繪制子圖及子圖刻度的變換等的問題

    這篇文章主要介紹了基于Python繪制子圖及子圖刻度的變換等的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05

最新評(píng)論