最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python基礎(chǔ)知識(shí)點(diǎn) 初識(shí)Python.md

 更新時(shí)間:2019年05月14日 11:22:01   投稿:laozhang  
在本篇文章中我們給大家總結(jié)了關(guān)于Python基礎(chǔ)知識(shí)點(diǎn),通過(guò)初識(shí)Python.md的相關(guān)內(nèi)容分享給Python初學(xué)者,一起來(lái)看下吧。

Python簡(jiǎn)介

Python的歷史

1989年圣誕節(jié):Guido von Rossum開(kāi)始寫(xiě)Python語(yǔ)言的編譯器。

1991年2月:第一個(gè)Python編譯器(同時(shí)也是解釋器)誕生,它是用C語(yǔ)言實(shí)現(xiàn)的(后面又出現(xiàn)了Java和C#實(shí)現(xiàn)的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他實(shí)現(xiàn)),可以調(diào)用C語(yǔ)言的庫(kù)函數(shù)。在最早的版本中,Python已經(jīng)提供了對(duì)“類”,“函數(shù)”,“異常處理”等構(gòu)造塊的支持,同時(shí)提供了“列表”和“字典”等核心數(shù)據(jù)類型,同時(shí)支持以模塊為基礎(chǔ)的拓展系統(tǒng)。

1994年1月:Python 1.0正式發(fā)布。

2000年10月16日:Python 2.0發(fā)布,增加了實(shí)現(xiàn)完整的垃圾回收,提供了對(duì)Unicode的支持。與此同時(shí),Python的整個(gè)開(kāi)發(fā)過(guò)程更加透明,社區(qū)對(duì)開(kāi)發(fā)進(jìn)度的影響逐漸擴(kuò)大,生態(tài)圈開(kāi)始慢慢形成。

2008年12月3日:Python 3.0發(fā)布,它并不完全兼容之前的Python代碼,不過(guò)因?yàn)槟壳斑€有不少公司在項(xiàng)目和運(yùn)維中使用Python 2.x版本,所以Python 3.x的很多新特性后來(lái)也被移植到Python 2.6/2.7版本中。

目前我們使用的Python 3.7.x的版本是在2018年發(fā)布的,Python的版本號(hào)分為三段,形如A.B.C。其中A表示大版本號(hào),一般當(dāng)整體重寫(xiě),或出現(xiàn)不向后兼容的改變時(shí),增加A;B表示功能更新,出現(xiàn)新功能時(shí)增加B;C表示小的改動(dòng)(如修復(fù)了某個(gè)Bug),只要有修改就增加C。如果對(duì)Python的歷史感興趣,可以查看一篇名為《Python簡(jiǎn)史》。

Python的優(yōu)缺點(diǎn)

Python的優(yōu)點(diǎn)很多,簡(jiǎn)單的可以總結(jié)為以下幾點(diǎn)。

  • 簡(jiǎn)單和明確,做一件事只有一種方法。
  • 學(xué)習(xí)曲線低,跟其他很多語(yǔ)言相比,Python更容易上手。
  • 開(kāi)放源代碼,擁有強(qiáng)大的社區(qū)和生態(tài)圈。
  • 解釋型語(yǔ)言,天生具有平臺(tái)可移植性。
  • 支持兩種主流的編程范式(面向?qū)ο缶幊毯秃瘮?shù)式編程)都提供了支持。
  • 可擴(kuò)展性和可嵌入性,可以調(diào)用C/C++代碼,也可以在C/C++中調(diào)用Python。
  • 代碼規(guī)范程度高,可讀性強(qiáng),適合有代碼潔癖和強(qiáng)迫癥的人群。

Python的缺點(diǎn)主要集中在以下幾點(diǎn)。

  1. 執(zhí)行效率稍低,因此計(jì)算密集型任務(wù)可以由C/C++編寫(xiě)。
  2. 代碼無(wú)法加密,但是現(xiàn)在的公司很多都不是賣軟件而是賣服務(wù),這個(gè)問(wèn)題會(huì)被淡化。
  3. 在開(kāi)發(fā)時(shí)可以選擇的框架太多(如Web框架就有100多個(gè)),有選擇的地方就有錯(cuò)誤。

Python的應(yīng)用領(lǐng)域

目前Python在云基礎(chǔ)設(shè)施、DevOps、網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)、數(shù)據(jù)分析挖掘、機(jī)器學(xué)習(xí)等領(lǐng)域都有著廣泛的應(yīng)用,因此也產(chǎn)生了Web后端開(kāi)發(fā)、數(shù)據(jù)接口開(kāi)發(fā)、自動(dòng)化運(yùn)維、自動(dòng)化測(cè)試、科學(xué)計(jì)算和可視化、數(shù)據(jù)分析、量化交易、機(jī)器人開(kāi)發(fā)、圖像識(shí)別和處理等一系列的職位。

搭建編程環(huán)境

Windows環(huán)境

可以在Python官方網(wǎng)站下載到Python的Windows安裝程序(exe文件),需要注意的是如果在Windows 7環(huán)境下安裝需要先安裝Service Pack 1補(bǔ)丁包(可以通過(guò)一些工具軟件自動(dòng)安裝系統(tǒng)補(bǔ)丁的功能來(lái)安裝),安裝過(guò)程建議勾選“Add Python 3.6 to PATH”(將Python 3.6添加到PATH環(huán)境變量)并選擇自定義安裝,在設(shè)置“Optional Features”界面最好將“pip”、“tcl/tk”、“Python test suite”等項(xiàng)全部勾選上。強(qiáng)烈建議使用自定義的安裝路徑并保證路徑中沒(méi)有中文。安裝完成會(huì)看到“Setup was successful”的提示,但是在啟動(dòng)Python環(huán)境時(shí)可能會(huì)因?yàn)槿笔б恍﹦?dòng)態(tài)鏈接庫(kù)文件而導(dǎo)致Python解釋器無(wú)法運(yùn)行,常見(jiàn)的問(wèn)題主要是api-ms-win-crt*.dll缺失以及更新DirectX之后導(dǎo)致某些動(dòng)態(tài)鏈接庫(kù)文件缺失,前者可以參照《api-ms-win-crt*.dll缺失原因分析和解決方法》一文講解的方法進(jìn)行處理或者直接在微軟官網(wǎng)下載Visual C++ Redistributable for Visual Studio 2015文件進(jìn)行修復(fù),后者可以下載一個(gè)DirectX修復(fù)工具進(jìn)行修復(fù)。

Linux環(huán)境

Linux環(huán)境自帶了Python 2.x版本,但是如果要更新到3.x的版本,可以在Python的官方網(wǎng)站下載Python的源代碼并通過(guò)源代碼構(gòu)建安裝的方式進(jìn)行安裝,具體的步驟如下所示。

安裝依賴庫(kù)(因?yàn)闆](méi)有這些依賴庫(kù)可能在源代碼構(gòu)件安裝時(shí)因?yàn)槿笔У讓右蕾噹?kù)而失?。?/p>

yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

下載Python源代碼并解壓縮到指定目錄。

wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
xz -d Python-3.7.3.tar.xz
tar -xvf Python-3.7.3.tar

切換至Python源代碼目錄并執(zhí)行下面的命令進(jìn)行配置和安裝。

cd Python-3.7.3
./configure --prefix=/usr/local/python37 --enable-optimizations
make && make install

修改用戶主目錄下名為.bash_profile的文件,配置PATH環(huán)境變量并使其生效。

cd ~
vim .bash_profile
# ... 此處省略上面的代碼 ...

export PATH=$PATH:/usr/local/python37/bin

# ... 此處省略下面的代碼 ...
source .bash_profile

MacOS環(huán)境

MacOS也是自帶了Python 2.x版本的,可以通過(guò)Python的官方網(wǎng)站提供的安裝文件(pkg文件)安裝3.x的版本。默認(rèn)安裝完成后,可以通過(guò)在終端執(zhí)行python命令來(lái)啟動(dòng)2.x版本的Python解釋器,可以通過(guò)執(zhí)行python3命令來(lái)啟動(dòng)3.x版本的Python解釋器。

從終端運(yùn)行Python程序

確認(rèn)Python的版本

在終端或命令行提示符中鍵入下面的命令。

python --version

當(dāng)然也可以先輸入python進(jìn)入交互式環(huán)境,再執(zhí)行以下的代碼檢查Python的版本。

import sys

print(sys.version_info)
print(sys.version)

編寫(xiě)Python源代碼

可以用文本編輯工具(推薦使用Sublime、Atom、TextMate、VSCode等高級(jí)文本編輯工具)編寫(xiě)Python源代碼并將其命名為hello.py保存起來(lái),代碼內(nèi)容如下所示。

print('hello, world!')

運(yùn)行程序

切換到源代碼所在的目錄并執(zhí)行下面的命令,看看屏幕上是否輸出了"hello, world!"。

python hello.py

代碼中的注釋

注釋是編程語(yǔ)言的一個(gè)重要組成部分,用于在源代碼中解釋代碼的作用從而增強(qiáng)程序的可讀性和可維護(hù)性,當(dāng)然也可以將源代碼中不需要參與運(yùn)行的代碼段通過(guò)注釋來(lái)去掉,這一點(diǎn)在調(diào)試程序的時(shí)候經(jīng)常用到。注釋在隨源代碼進(jìn)入預(yù)處理器或編譯時(shí)會(huì)被移除,不會(huì)在目標(biāo)代碼中保留也不會(huì)影響程序的執(zhí)行結(jié)果。

單行注釋 - 以#和空格開(kāi)頭的部分

多行注釋 - 三個(gè)引號(hào)開(kāi)頭,三個(gè)引號(hào)結(jié)尾

"""
第一個(gè)Python程序 - hello, world!
向偉大的Dennis M. Ritchie先生致敬

Version: 0.1
Author: 駱昊
"""

print('hello, world!')
# print("你好,世界!")
print('你好', '世界')
print('hello', 'world', sep=', ', end='!')
print('goodbye, world', end='!\n')

其他工具介紹

IDLE - 自帶的集成開(kāi)發(fā)工具

IDLE是安裝Python環(huán)境時(shí)自帶的集成開(kāi)發(fā)工具,如下圖所示。但是由于IDLE的用戶體驗(yàn)并不是那么好所以很少在實(shí)際開(kāi)發(fā)中被采用。

IPython - 更好的交互式編程工具

IPython是一種基于Python的交互式解釋器。相較于原生的Python Shell,IPython提供了更為強(qiáng)大的編輯和交互功能。可以通過(guò)Python的包管理工具pip安裝IPython和Jupyter,具體的操作如下所示。

pip install ipython jupyter

或者

python -m pip install ipython jupyter

安裝成功后,可以通過(guò)下面的ipython命令啟動(dòng)IPython,如下圖所示。

當(dāng)然我們也可以通過(guò)Jupyter運(yùn)行名為notebook的項(xiàng)目在瀏覽器窗口中進(jìn)行交互式操作。

jupyter notebook

anaconda - 一站式的數(shù)據(jù)科學(xué)神器

Anaconda指的是一個(gè)開(kāi)源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng)。 因?yàn)榘舜罅康目茖W(xué)包,Anaconda 的下載文件比較大(約 531 MB),如果只需要某些包,或者需要節(jié)省帶寬或存儲(chǔ)空間,也可以使用Miniconda這個(gè)較小的發(fā)行版(僅包含conda和 Python)。 對(duì)于學(xué)習(xí)數(shù)據(jù)科學(xué)的人來(lái)說(shuō),anaconda是絕對(duì)的神器,安裝簡(jiǎn)便,而且anaconda支持安裝相關(guān)軟件【例如前文提到的ipython,jupyter notebook,甚至有R等其他數(shù)據(jù)科學(xué)軟件 】 一個(gè)相當(dāng)有價(jià)值的介紹 現(xiàn)在唯一的問(wèn)題在于清華鏡像服務(wù)已經(jīng)關(guān)閉,跨國(guó)下載會(huì)比較慢

首先可以通過(guò)官方網(wǎng)站下載安裝程序安裝Sublime 3或Sublime 2。

安裝包管理工具。通過(guò)快捷鍵Ctrl+`或者在View菜單中選擇Show Console打開(kāi)控制臺(tái),輸入下面的代碼。

Sublime 3

import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())

Sublime 2

import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')

安裝插件。通過(guò)Preference菜單的Package Control或快捷鍵Ctrl+Shift+P打開(kāi)命令面板,在面板中輸入Install Package就可以找到安裝插件的工具,然后再查找需要的插件。我們推薦大家安裝以下幾個(gè)插件:

SublimeCodeIntel - 代碼自動(dòng)補(bǔ)全工具插件。

Emmet - 前端開(kāi)發(fā)代碼模板插件。

Git - 版本控制工具插件。

Python PEP8 Autoformat - PEP8規(guī)范自動(dòng)格式化插件。

ConvertToUTF8 - 將本地編碼轉(zhuǎn)換為UTF-8。

PyCharm - Python開(kāi)發(fā)神器

PyCharm的安裝、配置和使用我們?cè)诤竺鏁?huì)進(jìn)行介紹。

練習(xí)

在Python交互環(huán)境中查看下面的代碼結(jié)果,并將內(nèi)容翻譯成中文。

import this

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

學(xué)習(xí)使用turtle在屏幕上繪制圖形。

import turtle

turtle.pensize(4)
turtle.pencolor('red')
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.mainloop()

相關(guān)文章

  • Python直接賦值與淺拷貝和深拷貝實(shí)例講解使用

    Python直接賦值與淺拷貝和深拷貝實(shí)例講解使用

    淺拷貝,指的是重新分配一塊內(nèi)存,創(chuàng)建一個(gè)新的對(duì)象,但里面的元素是原對(duì)象中各個(gè)子對(duì)象的引用。深拷貝,是指重新分配一塊內(nèi)存,創(chuàng)建一個(gè)新的對(duì)象,并且將原對(duì)象中的元素,以遞歸的方式,通過(guò)創(chuàng)建新的子對(duì)象拷貝到新對(duì)象中。因此,新對(duì)象和原對(duì)象沒(méi)有任何關(guān)聯(lián)
    2022-11-11
  • Tensorflow?2.4加載處理圖片的三種方式詳解

    Tensorflow?2.4加載處理圖片的三種方式詳解

    這篇文章主要為大家介紹了Tensorflow?2.4加載處理圖片的三種方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Python3之字符串比較_重寫(xiě)cmp函數(shù)方式

    Python3之字符串比較_重寫(xiě)cmp函數(shù)方式

    這篇文章主要介紹了Python3之字符串比較_重寫(xiě)cmp函數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python使用pyppeteer進(jìn)行網(wǎng)頁(yè)截圖并發(fā)送機(jī)器人實(shí)例

    Python使用pyppeteer進(jìn)行網(wǎng)頁(yè)截圖并發(fā)送機(jī)器人實(shí)例

    這篇文章主要介紹了Python使用pyppeteer進(jìn)行網(wǎng)頁(yè)截圖并發(fā)送機(jī)器人實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 解決python執(zhí)行不輸出系統(tǒng)命令彈框的問(wèn)題

    解決python執(zhí)行不輸出系統(tǒng)命令彈框的問(wèn)題

    今天小編就為大家分享一篇解決python執(zhí)行不輸出系統(tǒng)命令彈框的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • Python中str.format()和f-string的使用

    Python中str.format()和f-string的使用

    本文主要介紹了Python中str.format()和f-string的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • pytorch圖片分割原理分析

    pytorch圖片分割原理分析

    自Transformer模型被應(yīng)用于計(jì)算機(jī)視覺(jué)領(lǐng)域后,圖像分割技術(shù)得到了進(jìn)一步的發(fā)展,但圖像分割操作復(fù)雜,特別是對(duì)張量的處理,涉及多種變換方法,其中,view/reshape用于改變數(shù)據(jù)形狀,而permute/transpose用于改變數(shù)據(jù)的維度順序
    2024-10-10
  • opencv中cv2.minAreaRect函數(shù)輸出角度問(wèn)題詳解

    opencv中cv2.minAreaRect函數(shù)輸出角度問(wèn)題詳解

    minAreaRect返回的數(shù)據(jù)包括了矩形的中心點(diǎn),寬、高,和旋轉(zhuǎn)角度,下面這篇文章主要給大家介紹了關(guān)于opencv中cv2.minAreaRect函數(shù)輸出角度問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Flask實(shí)現(xiàn)圖片的上傳、下載及展示示例代碼

    Flask實(shí)現(xiàn)圖片的上傳、下載及展示示例代碼

    這篇文章主要介紹了Flask實(shí)現(xiàn)圖片的上傳、下載及展示示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Python正則表達(dá)式的使用范例詳解

    Python正則表達(dá)式的使用范例詳解

    本文將是一系列關(guān)于Python正則表達(dá)式文章的其中一部分。在這個(gè)系列的第一篇文章中,我們將重點(diǎn)討論如何使用Python中的正則表達(dá)式并突出Python中一些獨(dú)有的特性。
    2014-08-08

最新評(píng)論

南溪县| 梁河县| 呈贡县| 平罗县| 墨江| 平遥县| 福泉市| 徐水县| 明溪县| 嵩明县| 涪陵区| 陇南市| 普洱| 高清| 南陵县| 商城县| 乐业县| 神农架林区| 庄河市| 明星| 宁城县| 搜索| 鲁甸县| 汉阴县| 贵阳市| 丹江口市| 太和县| 永城市| 山东| 乐业县| 怀仁县| 连州市| 湖口县| 文安县| 怀集县| 昔阳县| 贵港市| 莫力| 隆昌县| 威海市| 当雄县|