版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
普通高等學(xué)?!笆奈濉毕盗薪滩?/p>
人工智能基礎(chǔ)實(shí)驗(yàn)教程
潘理虎宋婷◎主編
李建偉謝斌紅荀亞玲◎副主編
文前-05.indd12022/9/917:17:21
內(nèi)?容?簡?介
本書作為一本實(shí)驗(yàn)教程,最大的特色是簡明、實(shí)用、邏輯性強(qiáng)、可讀性好,使讀者在有限
的時間內(nèi)掌握人工智能的基本原理與應(yīng)用技術(shù)。
本書圍繞基礎(chǔ)知識點(diǎn)在前兩章介紹了Python基本開發(fā)環(huán)境及編程基礎(chǔ)語法、常用數(shù)據(jù)結(jié)構(gòu)
的使用;第3章介紹了機(jī)器學(xué)習(xí)中經(jīng)典算法及常用算法,包括邏輯回歸、決策樹、K近鄰、隨機(jī)
森林、支持向量機(jī)、樸素貝葉斯、AdaBoost、神經(jīng)網(wǎng)絡(luò)等算法的實(shí)現(xiàn);第4、5章介紹了深度學(xué)
習(xí)基礎(chǔ)知識和實(shí)現(xiàn)環(huán)境,以及深度神經(jīng)網(wǎng)絡(luò)經(jīng)典算法;第6~8章分別介紹了三大應(yīng)用領(lǐng)域——計(jì)
算機(jī)視覺的基礎(chǔ)算法及應(yīng)用實(shí)例、自然語言處理的基本應(yīng)用算法實(shí)現(xiàn)、智能機(jī)器人的基本操作
及功能實(shí)現(xiàn);最后兩章通過兩個嵌入式人工智能案例融合前面章節(jié)介紹的基礎(chǔ)算法,完整實(shí)現(xiàn)
了人工智能在實(shí)際生活中的應(yīng)用。
本書適合作為初學(xué)人工智能的本科及高職學(xué)生的專業(yè)教材,也可作為對人工智能愛好者的
參考用書。
圖書在版編目(CIP)數(shù)據(jù)
人工智能基礎(chǔ)實(shí)驗(yàn)教程/潘理虎,宋婷主編.—北京:
中國鐵道出版社有限公司,2022.9
ISBN978-7-113-29320-8
Ⅰ.①人…Ⅱ.①潘…②宋…Ⅲ.①人工智能-實(shí)驗(yàn)-
高等學(xué)校-教材Ⅳ.①TP18-33
中國版本圖書館CIP數(shù)據(jù)核字(2022)第111678號
書名:人工智能基礎(chǔ)實(shí)驗(yàn)教程
作者:潘理虎宋婷
策劃:何紅艷?????編輯部電話:(010)63560043
責(zé)任編輯:何紅艷張彤????????????????
封面設(shè)計(jì):劉莎
責(zé)任校對:孫玫
責(zé)任印制:樊啟鵬
出版發(fā)行:中國鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號)
網(wǎng)址:/51eds/
印刷:北京建宏印刷有限公司
版次:2022年9月第1版2022年9月第1次印刷
開本:787?mm×1?092?mm?1/16?印張:19.5?字?jǐn)?shù):449千
書號:ISBN978-7-113-29320-8
定價:49.80元
版權(quán)所有侵權(quán)必究
凡購買鐵道版圖書,如有印制質(zhì)量問題,請與本社教材圖書營銷部聯(lián)系調(diào)換。電話:(010)63550836
打擊盜版舉報電話:(010)63549461
文前-05.indd22022/9/1316:41:47
前言
人工智能從起源至今已將近70年,它的發(fā)展過程一路荊棘,有低谷也有高潮。面對
與之相關(guān)的新理論、新技術(shù)的快速發(fā)展和經(jīng)濟(jì)社會發(fā)展的必然需求,人類社會從數(shù)字化、
網(wǎng)絡(luò)化向智能化加速躍進(jìn),生活中充斥著人工智能的概念,從而驅(qū)動人工智能的發(fā)展進(jìn)入
新的階段。正如“互聯(lián)網(wǎng)+”模式改變著我們的衣食住行各個方面一樣,人工智能模式以
同樣的方式席卷各個行業(yè)的細(xì)分領(lǐng)域,車聯(lián)網(wǎng)、家電、醫(yī)療、農(nóng)業(yè)、制造業(yè)等行業(yè)都需要
更加精準(zhǔn)的模式幫助人類處理復(fù)雜任務(wù)。
深度學(xué)習(xí)是人工智能前沿技術(shù)的核心,因此,學(xué)習(xí)和討論人工智能前沿技術(shù)必然要從
深度學(xué)習(xí)切入,其原理在于建立、模擬人腦進(jìn)行分析學(xué)習(xí),是利用人腦機(jī)制來解釋數(shù)據(jù)的
神經(jīng)網(wǎng)絡(luò)。經(jīng)過近些年的沉淀和發(fā)展,各種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和調(diào)優(yōu)方法的提出,深度學(xué)習(xí)性
能得到了大幅提升,相關(guān)的算法已經(jīng)具備了解決各種復(fù)雜問題的能力,以最低的成本使用
深度神經(jīng)網(wǎng)絡(luò)解決各個細(xì)分領(lǐng)域的問題成了人工智能爆發(fā)期的關(guān)鍵。
傳統(tǒng)的“人工智能”課程偏重理論,過于學(xué)術(shù)化
,現(xiàn)有教材中不缺乏基礎(chǔ)理論和前沿
進(jìn)展這類知識點(diǎn),但讀完之后可能仍然不知道怎么動手解決問題。本書希望在兼顧理論的
同時,在課程中強(qiáng)化實(shí)踐內(nèi)容,使理論與實(shí)踐相結(jié)合,這也成為課程發(fā)展的主要趨勢,需
要更通俗和直觀的方法引導(dǎo)零基礎(chǔ)的讀者開始人工智能的實(shí)踐學(xué)習(xí)。
從機(jī)器學(xué)習(xí)基礎(chǔ)算法開始介紹,結(jié)合相關(guān)應(yīng)用領(lǐng)域?qū)嵗约芭c生活相關(guān)的完整案例,
其中包括基于機(jī)器學(xué)習(xí)常用經(jīng)典算法的實(shí)例、基于深度神經(jīng)網(wǎng)絡(luò)的實(shí)例、計(jì)算機(jī)視覺領(lǐng)域
基礎(chǔ)應(yīng)用的算法實(shí)例、自然語言處理基礎(chǔ)應(yīng)用的算法實(shí)例及智能機(jī)器人的基本操作以及功
能實(shí)現(xiàn)。重點(diǎn)突出技術(shù)的可操作性,希望讀者在學(xué)習(xí)理論的同時,通過算法實(shí)現(xiàn)掌握人工
智能的基本方法,并能將其用于解決實(shí)際問題,實(shí)現(xiàn)更多進(jìn)展,如解決問題多樣性、提速
的同時縮減成本、不僅有好的性能指標(biāo)且方便好用等。最后兩章的完整案例通過嵌入式人
工智能呈現(xiàn)了機(jī)器如何通過學(xué)習(xí)來模擬人的智能,由此使讀者更加系統(tǒng)、深入地掌握計(jì)算
機(jī)人工智能的應(yīng)用實(shí)踐技能。
本書編寫分工如下:第1章由潘理虎編寫,第2、3、5~7章由宋婷編寫,第4章
文前-05.indd12022/9/917:17:21
II人工智能基礎(chǔ)實(shí)驗(yàn)教程
由李建偉編寫,第8章由謝斌紅編寫,第9、10章由荀亞玲編寫。全書由潘理虎統(tǒng)稿
并定稿。
在本書的成書過程中
,眾多老師和學(xué)生提供了熱心的幫助。首先要感謝太原科技大學(xué)
計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院為本書的編寫提供的良好測試環(huán)境,同時還要感謝太原科技大學(xué)計(jì)
算機(jī)科學(xué)與技術(shù)學(xué)院的所有同仁,他們?yōu)楸緯峁┝烁呶萁驳囊庖姾椭笇?dǎo)!感謝百科榮
創(chuàng)科技發(fā)展有限公司提供的實(shí)驗(yàn)設(shè)備及實(shí)驗(yàn)環(huán)境的技術(shù)支持!感謝山西省高等教育“1331
工程”立德樹人提質(zhì)增效計(jì)劃建設(shè)項(xiàng)目——太原科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)國家級一流本
科專業(yè)建設(shè)項(xiàng)目的支持!
由于編者水平有限,書中難免有疏漏之處
,敬請讀者批評指正。
編??者
2022年4月
文前-05.indd22022/9/917:17:21
目錄
第1章Python編程基礎(chǔ)...........13.2AdaBoost分類算法.............................63
1.1Python基礎(chǔ)語法........................................13.3KNN算法......................................................69
1.1.1基礎(chǔ)知識.............................13.4基于KD樹的KNN算法....................74
1.1.2運(yùn)算符..................................43.5支持向量機(jī)SVM....................................78
1.1.3注釋與縮進(jìn)...........................73.6樸素貝葉斯分類器..................................85
1.2Python基本語句........................................83.7決策樹.............................................................90
1.2.1條件控制語句......................93.8Kmeans算法.............................................99
1.2.2循環(huán)控制語句.....................103.9線性回歸.....................................................106
1.3Python開發(fā)環(huán)境的安裝和使用....133.10PCA降維實(shí)驗(yàn).....................................116
1.4集成開發(fā)環(huán)境PyCharm的第4章深度學(xué)習(xí)................122
安裝和使用.................................................16
4.1深度學(xué)習(xí)基礎(chǔ)知識...............................122
1.5輸出函數(shù)實(shí)驗(yàn).............................................20
4.1.1傳統(tǒng)機(jī)器學(xué)習(xí)和深度
1.6Python文件I/O實(shí)驗(yàn).........................23
學(xué)習(xí)方法...........................122
第2章Python數(shù)據(jù)結(jié)構(gòu)..........274.1.2深度學(xué)習(xí)發(fā)展階段............123
2.1基礎(chǔ)數(shù)據(jù)結(jié)構(gòu).............................................274.1.3深度學(xué)習(xí)特點(diǎn)....................124
2.2Python字符串實(shí)驗(yàn)...............................284.2TensorFlow框架...............................124
2.3Python列表實(shí)驗(yàn).....................................334.2.1TensorFlow簡介..............125
2.3.1列表的序列化操作..............334.2.2Tensor基本概念...............126
2.3.2列表推導(dǎo)式和生成器4.2.3創(chuàng)建常量與變量...............127
???表達(dá)式.................................404.3TensorFlow安裝與配置...............128
2.4Python元組實(shí)驗(yàn).....................................424.4PyTorch安裝與配置.........................131
2.5Python字典實(shí)驗(yàn).....................................474.5數(shù)據(jù)操作實(shí)驗(yàn)..........................................134
2.6類與對象........................................................51第5章神經(jīng)網(wǎng)絡(luò)構(gòu)建.............146
2.7Python函數(shù)................................................54
5.1神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)原理...............................146
第3章機(jī)器學(xué)習(xí)..................585.1.1基礎(chǔ)概念...........................146
3.1機(jī)器學(xué)習(xí)基礎(chǔ)知識..................................585.1.2神經(jīng)網(wǎng)絡(luò)的參數(shù)................147
3.1.1概述.....................................585.1.3模型訓(xùn)練...........................148
3.1.2學(xué)習(xí)形式分類......................595.2神經(jīng)網(wǎng)絡(luò)一元線性回歸....................150
文前-05.indd12022/9/917:17:21
2人工智能基礎(chǔ)實(shí)驗(yàn)教程
5.3神經(jīng)網(wǎng)絡(luò)多元線性回歸....................153第8章智能機(jī)器人..............258
5.4神經(jīng)網(wǎng)絡(luò)非線性回歸..........................1568.1機(jī)器人硬件................................................259
5.5基礎(chǔ)神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)...............................1598.2開發(fā)環(huán)境.....................................................261
5.6高級神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)...............................1628.2.1虛擬機(jī)開發(fā)環(huán)境................261
5.7卷積神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)...............................1668.2.2網(wǎng)絡(luò)配置..........................263
5.8手寫數(shù)字識別實(shí)驗(yàn)——CNN.........1758.2.3開發(fā)主機(jī)SSH登錄Nano.....264
5.9循環(huán)神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)...............................1808.2.4編程開發(fā)環(huán)境....................264
第6章計(jì)算機(jī)視覺..............1898.3ROS基本操作........................................265
8.4OpenCV機(jī)器人視覺開發(fā).............268
6.1圖像基礎(chǔ)知識..........................................189
8.5語音合成開發(fā)..........................................273
6.2圖像均值濾波實(shí)驗(yàn)...............................191
8.6SLAM激光雷達(dá)建圖........................275
6.3圖像中值濾波實(shí)驗(yàn)...............................196
6.4圖像分割實(shí)驗(yàn)..........................................199第9章應(yīng)用開發(fā)實(shí)訓(xùn)案例.
6.5仿射變換實(shí)驗(yàn)..........................................203——智能家居............279
6.6三角形仿射實(shí)驗(yàn).....................................2069.1基于深度卷積神經(jīng)網(wǎng)絡(luò)的
6.7基于Hopfield神經(jīng)網(wǎng)絡(luò)的...表情識別...................................................280
..圖片識別......................................................2099.2氛圍燈控制..............................................283
6.8基于支持向量機(jī)的人臉識別.........2129.3人臉表情識別模型推理功能
6.9基于隱馬爾科夫的語音識別.........217...插件構(gòu)建.....................................................284
第7章自然語言處理............2259.4氛圍燈控制系統(tǒng)功能插件構(gòu)建.....287
7.1NLP概述....................................................225第10章應(yīng)用開發(fā)實(shí)訓(xùn)案例.
7.2詞性標(biāo)注.....................................................227——智能停車場........290
7.3中文分詞——逆向最大匹配..........23110.1車牌識別模型.......................................291
7.4中文分詞——基于隱馬爾科夫10.2閘機(jī)控制系統(tǒng).......................................297
...模型................................................................23310.3車牌識別功能插件構(gòu)建.................298
7.5文本分類實(shí)驗(yàn)..........................................23710.4道閘控制功能插件構(gòu)建.................303
7.6文本模式識別實(shí)驗(yàn)...............................243
7.7GloVe詞向量模型..............................247
文前-05.indd22022/9/917:17:22
第1章
Python編程基礎(chǔ)
Python是一門編程語言,在人工智能領(lǐng)域有非常廣泛的應(yīng)用,是適合人工智能開發(fā)
的編程語言。Python語言編寫簡單,使用方便,得益于其自身的設(shè)計(jì)特點(diǎn)。人工智能包
含機(jī)器學(xué)習(xí)和深度學(xué)習(xí)兩個重要的模塊,而Python積累了大量的工具庫、架構(gòu),當(dāng)人工
智能涉及大量的數(shù)據(jù)計(jì)算時,用Python自然、簡單而高效。Python可用于數(shù)據(jù)處理、數(shù)
據(jù)分析、數(shù)據(jù)建模和繪圖,基本上機(jī)器學(xué)習(xí)中對數(shù)據(jù)的爬?。╯crapy、requests、selenium、
beautifulsoup)、對數(shù)據(jù)的處理和分析(pandas、numpy、scipy)、對數(shù)據(jù)的繪圖(matplotlib)
和對數(shù)據(jù)的建模(sklearn、nltk、keras)在Python中全都能找到對應(yīng)的庫來進(jìn)行處理。
學(xué)習(xí)Python語言可以分為三步:一是學(xué)習(xí)Python語言的基本語法,形成Python編程
思想;二是學(xué)習(xí)采用Python進(jìn)行數(shù)據(jù)分析,可以從機(jī)器學(xué)習(xí)開始;三是通過實(shí)踐來積累經(jīng)
驗(yàn),可以基于大數(shù)據(jù)平臺來完成各種開發(fā)、分析任務(wù)。
1.1Python基礎(chǔ)語法
1.1.1基礎(chǔ)知識
1.編譯方式
Python編譯方式分為交互式編譯和腳本式編譯,交互式編譯通過Python解釋器的交互
模式編寫代碼,如可以在Linux的命令行中輸入命令“Python3”啟動交互式編譯:
bkrc@bkrc:~$python3
Python3.7.3(default,Apr32020,05:39:12)
>>>
“>>>”后敲入Python代碼,輸入的代碼是立即運(yùn)行的,并且將每一行Python代碼的
運(yùn)行結(jié)果自動打印出來。
腳本式編譯將代碼寫入以py為后綴的文件中,在終端命令行中調(diào)用Python解釋器加
文前-05.indd12022/9/917:17:22
2人工智能基礎(chǔ)實(shí)驗(yàn)教程
載執(zhí)行文件中的Python代碼。下面創(chuàng)建一個sayhello.py文件,內(nèi)容是“HelloWorld!”,
分別用雙引號("?")和單引號('?')輸出,結(jié)果一致。實(shí)例如下:
bkrc@bkrc:~$cat>sayhello.py
print("HelloWorld!")
print('HelloWorld!')
運(yùn)行sayHello.py腳本,運(yùn)行結(jié)果如下:
bkrc@bkrc:~$python3sayHello.py
HelloWorld!
HelloWorld!
Python允許一行書寫多個語句,用分號“;”分開,實(shí)例如下:
>>>1+2;print("sayhello");2+4
3
sayhello
6
2.變量類型及變量定義
編程語言需要處理的數(shù)據(jù)類型有數(shù)字、字符、字符串等,可以直接使用數(shù)據(jù),也可以
將數(shù)據(jù)保存到變量(Variable)中,方便以后使用,和變量相對應(yīng)的是常量(Constant),
它們都是用來“盛裝”數(shù)據(jù)的小箱子。程序中的數(shù)據(jù)最終都存放到內(nèi)存中,變量/常量是
這塊內(nèi)存的名字,存儲在內(nèi)存中的值意味著在創(chuàng)建變量/常量時會在內(nèi)存中開辟一個空間,
給每個變量和常量定義專門的名字,通過名字引用其中的數(shù)據(jù)。區(qū)別在于變量保存的數(shù)據(jù)
可以被多次修改,而常量一旦保存某個數(shù)據(jù)之后就不能修改了。
Python中并未提供如C、C++、Java一樣的const修飾符,Python程序一般通過約定
俗成的變量名全大寫的形式表示這是一個常量,然而這種方式并沒有真正實(shí)現(xiàn)常量,其對
應(yīng)的值仍然可以被改變。Python提供了新的方法實(shí)現(xiàn)常量:即通過自定義類實(shí)現(xiàn),這要求
符合“命名全部大寫”和“值一旦被綁定便不可再修改”這兩個條件。
變量可以指定不同的數(shù)據(jù)類型,這些變量可以存儲整數(shù)、小數(shù)或字符。Python中變量
定義不需要類型聲明,由類型推斷自動完成。變量賦值使用等號(=),等號(=)運(yùn)算符
左邊是定義的變量名,右邊是存儲在變量中的值。實(shí)例如下:
#-*-coding:utf-8-*-
counter=10#整型變量
miles=10.0#浮點(diǎn)型
name="Wang"#字符串
print(counter)
print(miles)
print(name)
運(yùn)行結(jié)果如圖1.1所示。
文前-05.indd22022/9/917:17:22
第1章Python編程基礎(chǔ)3
1
圖1.1變量定義示例代碼
3.標(biāo)識符
在程序中自定義的類名、函數(shù)名、變量等符號和名稱,稱為標(biāo)識符。Python中,標(biāo)識
符由字母、數(shù)字、下畫線(_)組成,區(qū)分大小寫,命名規(guī)則如下:
(1)標(biāo)識符是由字符(A~Z和a~z)、下畫線和數(shù)字組成,第一個字符不能是數(shù)字。
(2)標(biāo)識符不能和Python中的保留字相同。
(3)Python中的標(biāo)識符,不能包含空格、@、%以及$等特殊字符。
舉例不合法的標(biāo)識符如下:
4word#不能以數(shù)字開頭
try#try是保留字,不能作為標(biāo)識符
$money#不能包含特殊字符
Python語言中,以下畫線開頭的標(biāo)識符有特殊含義,除非特定場景需要,應(yīng)避免使用
以下畫線開頭的標(biāo)識符。例如:
以單下畫線開頭的標(biāo)識符(如_width),表示不能直接訪問的類屬性,其無法通過
from...import*的方式導(dǎo)入;
以雙下畫線開頭的標(biāo)識符(如__add)表示類的私有成員;
以雙下畫線作為開頭和結(jié)尾的標(biāo)識符(如__init__),是專用標(biāo)識符。
4.Python關(guān)鍵字
Python的關(guān)鍵字是保留字,不能用作標(biāo)識符,可以使用如下命令查看Python中的所有
關(guān)鍵字:
>>>importkeyword
>>>keyword.kwlist
['False','None','True','and','as','assert','async','await','break',
'class','continue','def','del','elif','else','except','?nally','for',
'from','global','if','import','in','is','lambda','nonlocal','not',
'or','pass','raise','return','try','while','with','yield']
文前-05.indd32022/9/917:17:22
4人工智能基礎(chǔ)實(shí)驗(yàn)教程
1.1.2運(yùn)算符
Python語言支持表1.1~表1.7類型的運(yùn)算符:算術(shù)運(yùn)算符、比較(關(guān)系)運(yùn)算符、
賦值運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、成員運(yùn)算符、身份運(yùn)算符。
1.算術(shù)運(yùn)算符
表1.1列出了常用算術(shù)運(yùn)算符及其用法,通過以下實(shí)例實(shí)現(xiàn)算術(shù)運(yùn)算符的基本操作:
表1.1算術(shù)運(yùn)算符
運(yùn)算符描述實(shí)例(a=10,b=20)
+加——兩個對象相加a+b輸出結(jié)果30
-減——得到負(fù)數(shù)或是一個數(shù)減去另一個數(shù)a-b輸出結(jié)果-10
*乘——兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串a(chǎn)*b輸出結(jié)果200
/除——b除以ab/a輸出結(jié)果2
%取?!祷爻ǖ挠鄶?shù)b%a輸出結(jié)果0
**冪——返回a的b次方a**b為10的20次方,輸出結(jié)果100000000000000000000
>>>9//2
4
//取整除——返回商的整數(shù)部分(向下取整)
>>>-9//2
-5
實(shí)例:
#-*-coding:utf-8-*-
a=25
b=10
c=0
c=a+b
print("{}+{}={}".format(a,b,c))
c=a-b
print("{}-{}={}".format(a,b,c))
c=a*b
print("{}*{}={}".format(a,b,c))
c=a/b
print("{}/{}={}".format(a,b,c))
c=a%b
print("{}%{}={}".format(a,b,c))
#修改變量a、b、c運(yùn)行結(jié)果:
a=225+10=35
b=325-10=15
c=a**b25*10=250
print("{}**{}={}".format(a,b,c))25/10=2.5
a=1025%10=5
b=52**3=8
c=a//b10//5=2
print("{}//{}={}".format(a,b,c))
文前-05.indd42022/9/1316:35:06
第1章Python編程基礎(chǔ)5
2.比較運(yùn)算符
表1.2列出了常用比較運(yùn)算符及其用法,通過以下實(shí)例實(shí)現(xiàn)比較運(yùn)算符的操作:
表1.2比較運(yùn)算符
運(yùn)算符描述實(shí)例(x=10,y=20)1
==等于——比較對象是否相等(x==y)返回False
!=不等于——比較兩個對象是否不相等(x!=y)返回True.
<>不等于——比較兩個對象是否不相等。Python3已廢棄(x<>y)返回True。這個運(yùn)算符類似!=
>大于——返回x是否大于y(x>y)返回False
小于——返回x是否小于y。所有比較運(yùn)算符返回1表示真,返
<(x<y)返回True
回0表示假。這分別與特殊的變量True和False等價
>=大于等于——返回x是否大于等于y(x>=y)返回False
<=小于等于——返回x是否小于等于y(x<=y)返回True
實(shí)例:
x=1運(yùn)行結(jié)果:
y=2
x==y:False
print("x==y:",x==y)
x!=y:True
print("x!=y:",x!=y)
x>y:False
print("x>y:",x>y)
x<y:True
print("x<y:",x<y)
print("x>=y:",x>=y)x>=y:False
print("x<=y:",x<=y)x<=y:True
3.賦值運(yùn)算符
表1.3列出了常用賦值運(yùn)算符及其用法,通過以下實(shí)例實(shí)現(xiàn)賦值運(yùn)算符的操作:
表1.3賦值運(yùn)算符
運(yùn)算符描述實(shí)例
=簡單的賦值運(yùn)算符c=a+b將a+b的運(yùn)算結(jié)果賦值為c
+=加法賦值運(yùn)算符c+=a等效于c=c+a
-=減法賦值運(yùn)算符c-=a等效于c=c-a
*=乘法賦值運(yùn)算符c*=a等效于c=c*a
/=除法賦值運(yùn)算符c/=a等效于c=c/a
%=取模賦值運(yùn)算符c%=a等效于c=c%a
**=冪賦值運(yùn)算符c**=a等效于c=c**a
//=取整除賦值運(yùn)算符c//=a等效于c=c//a
實(shí)例:
a=21
b=10
c=0
文前-05.indd52022/9/917:17:22
6人工智能基礎(chǔ)實(shí)驗(yàn)教程
c=a+b
print"1-c的值為:",c
c+=a
print"2-c的值為:",c
c*=a
print"3-c的值為:",c運(yùn)行結(jié)果:
c/=a1-c的值為:31
的值為:
print"4-c",c2-c的值為:52
c=2c%=a3-c的值為:1092
的值為:
print"5-c",c4-c的值為:52
c**=a5-c的值為:2
的值為:
print"6-c",c6-c的值為:2097152
c//=a7-c的值為:99864
print"7-c的值為:",c
4.邏輯運(yùn)算符
表1.4列出了常用邏輯運(yùn)算符及其用法,通過以下實(shí)例實(shí)現(xiàn)邏輯運(yùn)算符的操作:
表1.4邏輯運(yùn)算符
運(yùn)算符邏輯表達(dá)式描述實(shí)例(a=10,b=20)
布爾“與”——如果a為False,aandb返回False,否則它返回
andaandb(aandb)返回20
b的計(jì)算值
布爾“或”——如果a是非0,它返回a的計(jì)算值,否則它返回
oraorb(aorb)返回10
b的計(jì)算值
布爾“非”——如果a為True,返回False。如果a為False,它
notnotanot(aandb)返回False
返回True
實(shí)例:
a=True
b=False
ifaandb:
print("1-變量a和b都為true")
else:
print("1-變量a和b至少有一個不為true")
ifaorb:
print("2-變量a和b至少有一個為True")
else:
變量和都為
print("2-abfalse")運(yùn)行結(jié)果:
ifnota:
變量和至少有一個不為
print("3-變量a為false")1-abtrue
變量和至少有一個為
else:2-abTrue
變量為
print("3-變量a為true")3-atrue
5.其他運(yùn)算符
位運(yùn)算符是把數(shù)字看作二進(jìn)制來進(jìn)行計(jì)算的,見表1.5。
文前-05.indd62022/9/917:17:22
第1章Python編程基礎(chǔ)7
表1.5位運(yùn)算符
運(yùn)算符描述實(shí)例(x=60,y=13)
按位與運(yùn)算符:參與運(yùn)算的兩個值,如果兩個相應(yīng)位都為1,則該(x&y)輸出結(jié)果12,二進(jìn)制解釋:
&
位的結(jié)果為1,否則為000001100
按位或運(yùn)算符:只要對應(yīng)的兩個二進(jìn)位有一個為1時,結(jié)果位就(x|y)輸出結(jié)果61,二進(jìn)制解釋:0011
|1
為11101
(x^y)輸出結(jié)果49,二進(jìn)制解釋:0011
^按位異或運(yùn)算符:當(dāng)兩對應(yīng)的二進(jìn)位相異時,結(jié)果為1
0001
按位取反運(yùn)算符:對數(shù)據(jù)的每個二進(jìn)制位取反,即把1變?yōu)?,把(~x)輸出結(jié)果-61,二進(jìn)制解釋:1100
~
0變?yōu)?。~x類似于-x-10011,在一個有符號二進(jìn)制數(shù)的補(bǔ)碼形式
左移動運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由<<右邊x<<2輸出結(jié)果240,二進(jìn)制解釋:
<<
的數(shù)字指定了移動的位數(shù),高位丟棄,低位補(bǔ)011110000
右移動運(yùn)算符:把>>左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,x>>2輸出結(jié)果15,二進(jìn)制解釋:0000
>>
>>右邊的數(shù)字指定了移動的位數(shù)1111
成員運(yùn)算符用來判斷一個對象是否包含另一個對象,見表1.6。
表1.6成員運(yùn)算符
運(yùn)算符描述實(shí)例
in如果在指定的序列中找到值返回True,否則返回Falsex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院感染的培訓(xùn)試題及答案
- 詞匯運(yùn)用試題及答案
- 低碳經(jīng)濟(jì)培訓(xùn)考試試卷及答案(標(biāo)準(zhǔn)版)
- 支氣管哮喘、支氣管擴(kuò)張、肺炎及肺膿腫、肺結(jié)核聯(lián)合試題(附答案)
- 年建筑安全員c證考試題庫及答案
- 醫(yī)院感染管理培訓(xùn)試題及答案
- 茶藝師考試題及參考答案
- 學(xué)法考試題庫及答案
- 食品檢驗(yàn)相關(guān)知識要點(diǎn)測試試卷及答案解析
- 醫(yī)院感染管理知識考核試卷及答案
- 北京市順義區(qū)2025-2026學(xué)年八年級上學(xué)期期末考試英語試題(原卷版+解析版)
- 中學(xué)生冬季防溺水主題安全教育宣傳活動
- 2026年藥廠安全生產(chǎn)知識培訓(xùn)試題(達(dá)標(biāo)題)
- 2026年陜西省森林資源管理局局屬企業(yè)公開招聘工作人員備考題庫及參考答案詳解1套
- 冷庫防護(hù)制度規(guī)范
- 承包團(tuán)建燒烤合同范本
- 口腔種植牙科普
- 英語A級常用詞匯
- NB-T 47013.15-2021 承壓設(shè)備無損檢測 第15部分:相控陣超聲檢測
- 打針協(xié)議免責(zé)書
- 四川省成都市八年級上學(xué)期物理期末考試試卷及答案
評論
0/150
提交評論