python系列五(python5)

  • 1、誰有Python教程啊?
  • 2、python的五個特點
  • 3、Python五大應用領域是什麼?
  • 4、Python其實很簡單 第五章 基本數據類型
  • 5、Python編程基礎之(五)Scrapy爬蟲框架

Python教程百度網盤免費資源在線學習  

鏈接:

提取碼: zup2  

Python教程 智普教育python就業培訓視頻教程Swf版 小甲魚python 老王Python培訓視頻教程【基礎進階項目篇 – 完整版】 老男孩python課程 快速掌握 Python Django 1.5 網頁開發 [編程開發] 煉數成金Python網絡程序系列教程[價值400元] python中古教育 Python灰帽教程基礎與深入 Python編程實踐教學視頻教程26集+源碼.rar python編程開發入門中文視頻培訓教程38講 Lets-python系列視頻教程26講 Hacking_python系列視頻.rar ★ 重要文件-必看 Lets-python-017-文件和輸入輸出01.avi  

python的五個特點:

1、簡單易學

python是一種代表簡單主義思想的語言,閱讀一個良好的python程序就感覺像是在讀英語段落一樣,儘管這個英語段的語法要求非常嚴格。python最大的優點之一是具有偽代碼的本質,它使我們在開發python程序時,專註的是解決問題,而不是搞明白語言本身。

2、面向對象

python既支持面向過程編程,也支持面向對象編程。在面向過程的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在面向對象的語言中,程序是由數據和功能組合而成的對象構建起來的。

與其他主要的語言如C++和Java相比,python以一種非常強大又簡單的方式實現面向對象編程。

3、可移植性

由於python的開源本質,它已經被移植在許多平台上。如果小心地避免使用依賴於系統的特性,那麼所有python程序無需修改就可以在下述任何平台上運行,如:Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、QNX、VMS、Windows

CE,甚至還有PocketPC、Symbian以及Google基於Linux開發的android平台。

4、解釋性

一個用編譯性語言如C或C++寫的程序可以從源文件轉換到一個計算機使用的語言。這個過程通過編譯器和不同的標記、選項完成。當運行程序的時候,連接轉載器軟件把程序從硬盤複製到內存中並且運行。

而python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。在計算機內部,python解釋器把源代碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成計算機使用的機器語言並運行。

事實上,由於不再擔心如何編譯程序,如何確保連接轉載正確地庫等,這一切使得使用python變得更為簡單。

5、開源

python是FLOSS之一。簡單地說,你可以自由地發佈這個軟件的拷貝,閱讀它的源代碼,對它做改動,把它的一部分用於新的自由軟件中。

FLOSS是基於一個團體分享知識的概念,這是為什麼python如此優秀的原因之一;它是由一群希望看到一個更加優秀的python的人創造並經常改進這的。

【導讀】伴隨着國家戰略對「新基建」施行提上日程,大數據將會得到進一步推行和運用。那麼,作為大數據開發言語之一的Python言語,在哪些領域有重要運用呢?今天就跟隨小編一起來了解下吧!

一、網絡爬蟲

網絡爬蟲是Python比較常用的一個場景,國際上,google在前期大量地運用Python言語作為網絡爬蟲的根底,帶動了整個Python言語的運用發展。

二、數據處理

Python有很齊備的生態環境。”大數據”分析中涉及到的分佈式核算、數據可視化、數據庫操作等,Python中都有成熟的模塊能夠挑選完結其功能。關於Hadoop-MapReduce和Spark,都能夠直接運用Python完結核算邏輯,這不管關於數據科學家仍是關於數據工程師而言都是十分便當的。

三、web開發

Python的誕生前史比Web還要早,由於Python是一種解說型的腳本言語,開發效率高,所以十分適合用來做Web開發。

Django 是 Python 編程言語驅動的一個開源模型-視圖-控制器(MVC)風格的 Web 運用程序結構。運用

Django,咱們在幾分鐘之內就能夠創建高品質、易維護、數據庫驅動的運用程序。

四、數據分析

關於數據分析師來說,不只要自己理解數據背面的含義,而且還要給更直地展現數據的含義。

Scipy是一組專門解決科學核算中各種規範問題域的包的集合。Numpy是python科學核算的根底包。Pandas處理上千萬的數據是一揮而就的工作,同時隨後咱們也將看到它比SQL有更強的表達能力,能夠做很多複雜的操作,要寫的code也更少。

五、人工智能

人工智能是現在十分火的一個方向,AI熱潮讓Python言語的未來充滿了無限的潛力。現在釋放出來的幾個十分有影響力的AI結構,大多是Python的實現,為什麼呢?

在人工智能大領域領域內的數據發掘、機器學習、神經網絡、深度學習等方面都是主流的編程言語,得到廣泛的支持和運用。人工智能的核心算法大部分仍是依賴於C/C++的,由於是核算密集型,需求十分精細的優化,還需求GPU、專用硬件之類的接口,這些都只要C/C++能做到。

關於Python五大應用領域是什麼,小編就和大家分享到這裡了,學習是永無止境的,學習一項技能更是受益終身,所以,只要肯努力學,什麼時候開始都不晚。

編程的目的就是為了處理信息,信息則是由各種不同類型的數據表示的,對數據的進一步處理也會使信息更加豐富和有效。

5.1變量

前面已經提到過「變量」這屬語,下面再進一步解釋一下。

在程序運行時,必須把數據導入計算機的存儲單元中,但存儲單元的命名是用二進制數表示的,晦澀難懂。為了方便起見,可以給存儲單元起上一個通俗易懂的名字,即 變量名 。

變量的生命周期和程序的運行周期是相同的,一個程序運行解釋,所佔用的存儲空間也就隨之釋放,用變量名表示的數據所佔用的這個存儲單元也就空閑了。

變量名的命名規則:

由字母、數字、下劃線構成,必須由字母開頭。

不能包含-、*、?、#、、;、/、、@、%、$、空格等特殊字符。

最好使用有含義的英文單詞或漢語拼音。

最好採用小寫字母。

不能使用保留字(已被Python語言系統本身賦予特定意義的單詞)。Python的保留字如下表所示。

Python保留字列表

Python是區分大小寫的,雖然可以將一個英文單詞通過字母大小寫不同而作為不同變量的變量名,但從程序可讀性的角度看,的確不可取。

Python是一種動態類型的語言,變量的類型由變量的值決定。換而言之,給變量賦何種類型的值,變量就是該值的類型。給變量賦值可以通過賦值號(=)來實現。如:

myvar=100

type(myvar)

myvar=’tom’

type(myvar)

在這個例子中,變量myvar首先賦值為100,顯而易見,100是個整數,通過type()這個函數檢測,變量myvar的類型為整數類型(int);接下來變量myvar賦值為『tom』,通過type()這個函數檢測,變量myvar的類型改變為字符串類型(str)。

不僅可以給一個變量賦值為常量,也可以賦值為另一個變量。如:

a=100

b=a

b

100

在這個例子中,「b=a」的實際意義是,變量b和變量a指向同一個存儲單元,既然是同一個存儲單元,變量b和變量a本質上就是完全相同的,這就好比一個人除了本名之外,還有其他的名字,如筆名、昵稱、乳名等等,雖然本質一樣,但是可以在不同場合使用。

5.2關於Python的常量問題

在大多數語言中都有常量這個概念,但是Python卻沒有。其實仔細想想也好像沒有設置常量的必要,只要一個變量的值不發生變化,即不給變量重新賦值,它的值當然不會變化,它便是個常量。

5.3基本數據類型

5.3.1整數型和浮點數

整數型(integer),可以是正整數、負整數和0,可以是十進制、八進制、二進制等。

浮點數(float),由整數部分和小數部分組成,主要用於處理包括小數的數。浮點數也可以用科學計數法表示。

5.3.2 字符串類型

字符串類型是由一系列的字母或者其他符號組成的數據序列,通常用單引號、雙引號或三引號括起來。

用單引號和雙引號括起來的字符串只能放在同一行,用三引號括起來的字符串可以分佈在連續多行上。如:

name=’我的名字叫王小明’

old=”今年6歲”

introduce=”’我想說: 我是中國娃

愛講普通話

要學習寫標準的漢字”’

print(name)

print(old)

print(introduce)

運行結果為:我的名字叫王小明

今年6歲

我想說: 我是中國娃

愛講普通話

要學習寫標準的漢字

不管是哪一種引號形式,括起來的部分是一個整體,包括空格和換行符都屬於字符串的一部分。

為了保證特殊的輸出效果,Python中的字符串支持轉義字符,可使用反斜杠「」對一些特殊字符進行轉義。常用的轉義字符如下:

續行符

換行符

水平製表符

」 雙引號

』 單引號

一個反斜杠

f 換頁

其中,續行符(「」)用於當一個字符串在一行寫不下時用續行符進行連接,但通常更多的採用小括號「()」即可。

如:

第一種方法採用續行符(「」):

str=”A thousand wishes, a thousand plans and

a thousand resolutions are better than one action!”

print(str)

A thousand wishes, a thousand plans and a thousand resolutions are better than one action!

第二種方法採用小括號():

str=(“A thousand wishes, a thousand plans and “

“a thousand resolutions are better than one action!”)

print(str)

A thousand wishes, a thousand plans and a thousand resolutions are better than one action!

下面舉例說明換行符(「 」)的用法:

str=” 登鸛雀樓 白日依山盡, 黃河入海流。 欲窮千里目, 更上一層樓。 “

print(str)

登鸛雀樓

白日依山盡,

黃河入海流。

欲窮千里目,

更上一層樓。

下面舉例說明使用轉義字符輸出雙引號(「)的方法:

str=”王之渙的詩《登鸛雀樓》中這樣寫道:” 白日依山盡,黃河入海流。欲窮千里目,更上一層樓。””

print(str)

王之渙的詩《登鸛雀樓》中這樣寫道:” 白日依山盡,黃河入海流。欲窮千里目,更上一層樓。”

5.3.3布爾類型

布爾類型用來表示邏輯值,所謂邏輯判斷的結果,不外乎「真」或「假」兩種情況。在Python中「真」用True表示,「假」用False表示。如果布爾類型的變量參與算數運算,則True被當作1,False被當作0。

如:

result=True

print(result)

True

print(result+1)

2

result=False

print(result)

False

print(result+1)

1

5.3.4類型強制轉換

Python是一種弱數據類型語言,可以通過給變量重新賦值的方法改變數據類型。但有時為了強制改變數據類型,就要使用類型轉換函數來改變。

譬如,為了從鍵盤讀入成績的數據,可以用float()函數將input()語句讀入的字符串轉換為浮點數,再賦值給變量score。

score=input(“請輸入您的成績:”)

請輸入您的成績:96.5 (從鍵盤輸入96.5)

為了計算成績比及格線高了多少分,使用下面的命令,發現出現了錯誤提示如下:

score-60

Traceback (most recent call last):

File ” “, line 1, in

score-60

TypeError: unsupported operand type(s) for -: ‘str’ and ‘int’

這是屬於類型錯誤,原因是從鍵盤讀入的成績值(96.5)並非數值類型,不能參與算數運算。用type()函數可以進一步查詢變量score的數據類型。

type(score)

使用float()函數進行強制轉換後,就可以解決上述問題:

score=float(input(“請輸入您的成績:”))

請輸入您的成績:96.5

score=float(score)

type(score)

score-60

36.5

下表列舉了一些常用的類型轉換函數:

經過前面四章的學習,我們已經可以使用Requests庫、Beautiful Soup庫和Re庫,編寫基本的Python爬蟲程序了。那麼這一章就來學習一個專業的網絡爬蟲框架–Scrapy。沒錯,是框架,而不是像前面介紹的函數功能庫。

Scrapy是一個快速、功能強大的網絡爬蟲框架。

可能大家還不太了解什麼是框架,爬蟲框架其實是實現爬蟲功能的一個軟件結構和功能組件的集合。

簡而言之, Scrapy就是一個爬蟲程序的半成品,可以幫助用戶實現專業的網絡爬蟲。

使用Scrapy框架,不需要你編寫大量的代碼,Scrapy已經把大部分工作都做好了,允許你調用幾句代碼便自動生成爬蟲程序,可以節省大量的時間。

當然,框架所生成的代碼基本是一致的,如果遇到一些特定的爬蟲任務時,就不如自己使用Requests庫搭建來的方便了。

PyCharm安裝

測試安裝:

出現框架版本說明安裝成功。

掌握Scrapy爬蟲框架的結構是使用好Scrapy的重中之重!

先上圖:

整個結構可以簡單地概括為: 「5+2」結構和3條數據流

5個主要模塊(及功能):

(1)控制所有模塊之間的數據流。

(2)可以根據條件觸發事件。

(1)根據請求下載網頁。

(1)對所有爬取請求進行調度管理。

(1)解析DOWNLOADER返回的響應–response。

(2)產生爬取項–scraped item。

(3)產生額外的爬取請求–request。

(1)以流水線方式處理SPIDER產生的爬取項。

(2)由一組操作順序組成,類似流水線,每個操作是一個ITEM PIPELINES類型。

(3)清理、檢查和查重爬取項中的HTML數據並將數據存儲到數據庫中。

2個中間鍵:

(1)對Engine、Scheduler、Downloader之間進行用戶可配置的控制。

(2)修改、丟棄、新增請求或響應。

(1)對請求和爬取項進行再處理。

(2)修改、丟棄、新增請求或爬取項。

3條數據流:

(1):圖中數字 1-2

1:Engine從Spider處獲得爬取請求–request。

2:Engine將爬取請求轉發給Scheduler,用於調度。

(2):圖中數字 3-4-5-6

3:Engine從Scheduler處獲得下一個要爬取的請求。

4:Engine將爬取請求通過中間件發送給Downloader。

5:爬取網頁後,Downloader形成響應–response,通過中間件發送給Engine。

6:Engine將收到的響應通過中間件發送給Spider處理。

(3):圖中數字 7-8-9

7:Spider處理響應後產生爬取項–scraped item。

8:Engine將爬取項發送給Item Pipelines。

9:Engine將爬取請求發送給Scheduler。

任務處理流程:從Spider的初始爬取請求開始爬取,Engine控制各模塊數據流,不間斷從Scheduler處獲得爬取請求,直至請求為空,最後到Item Pipelines存儲數據結束。

作為用戶,只需配置好Scrapy框架的Spider和Item Pipelines,也就是數據流的入口與出口,便可完成一個爬蟲程序的搭建。Scrapy提供了簡單的爬蟲命令語句,幫助用戶一鍵配置剩餘文件,那我們便來看看有哪些好用的命令吧。

Scrapy採用命令行創建和運行爬蟲

PyCharm打開Terminal,啟動Scrapy:

Scrapy基本命令行格式:

具體常用命令如下:

下面用一個例子來學習一下命令的使用:

1.建立一個Scrapy爬蟲工程,在已啟動的Scrapy中繼續輸入:

執行該命令,系統會在PyCharm的工程文件中自動創建一個工程,命名為pythonDemo。

2.產生一個Scrapy爬蟲,以教育部網站為例:

命令生成了一個名為demo的spider,並在Spiders目錄下生成文件demo.py。

命令僅用於生成demo.py文件,該文件也可以手動生成。

觀察一下demo.py文件:

3.配置產生的spider爬蟲,也就是demo.py文件:

4.運行爬蟲,爬取網頁:

如果爬取成功,會發現在pythonDemo下多了一個t20210816_551472.html的文件,我們所爬取的網頁內容都已經寫入該文件了。

以上就是Scrapy框架的簡單使用了。

Request對象表示一個HTTP請求,由Spider生成,由Downloader執行。

Response對象表示一個HTTP響應,由Downloader生成,有Spider處理。

Item對象表示一個從HTML頁面中提取的信息內容,由Spider生成,由Item Pipelines處理。Item類似於字典類型,可以按照字典類型來操作。

原創文章,作者:SOWHY,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/126752.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SOWHY的頭像SOWHY
上一篇 2024-10-03 23:12
下一篇 2024-10-03 23:13

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論