運(yùn)算符和操作數(shù)一起構(gòu)成表達(dá)式,操作數(shù)可以使用標(biāo)識(shí)符表示,如a=3;b=2;c=a*b;python表達(dá)式是python程序最常見(jiàn)的代碼。
創(chuàng)新互聯(lián)建站技術(shù)團(tuán)隊(duì)十年來(lái)致力于為客戶提供做網(wǎng)站、成都做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、成都營(yíng)銷網(wǎng)站建設(shè)、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過(guò)多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了上1000家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
Python代碼由表達(dá)式和語(yǔ)句組成,并由Python解釋器負(fù)責(zé)執(zhí)行。(推薦學(xué)習(xí):Python視頻教程)
它們的主要區(qū)別是“表達(dá)式”是一個(gè)值,它的結(jié)果一定是一個(gè)Python對(duì)象。當(dāng)Python解釋器計(jì)算它時(shí)結(jié)果可以是任何對(duì)象。例如42,1+2,int(‘123’),range(10)等。
表達(dá)式的優(yōu)先級(jí)
表達(dá)式是有優(yōu)先級(jí)的,最簡(jiǎn)單的如我們賦值運(yùn)算符中的數(shù)學(xué)算式:“0 * 1 + 2”和“0 + 1 * 2”結(jié)果一定不一樣,在“0 + 1 * 2”中優(yōu)先運(yùn)算“1 * 2”。
當(dāng)然并非是只有賦值運(yùn)算才優(yōu)先級(jí),并且在各種運(yùn)算符之間也有優(yōu)先級(jí)。#在下面這個(gè)運(yùn)算中,假設(shè)a、b、c都是ture值,因?yàn)閍nd 的優(yōu)先級(jí)大于 or ,所以最后結(jié)果是a#
a or b and c
a
#在下面這個(gè)運(yùn)算中,假設(shè)a、b、c、d都是ture值#
#因?yàn)?+ 的優(yōu)先級(jí)大于 and 大于 or ,所以最后結(jié)果是a + b的結(jié)果#
a + b or c and d
a + b
#用括號(hào)表現(xiàn)優(yōu)先級(jí)就是:先運(yùn)行a + b,再運(yùn)行c or d 得到 d ,最后運(yùn)行(a+b) or d#
(a + b) or (c and d)
a + b。
表達(dá)式是什么?所有人都知道。“1+1=2”,這個(gè)“1+1”就是最典型的表達(dá)式。
用來(lái)指定數(shù)據(jù)做哪種運(yùn)算的符號(hào)是“運(yùn)算符”,進(jìn)行運(yùn)算的數(shù)據(jù)稱為“操作數(shù)”。例如:“2+3"中的“+”是運(yùn)算符,“2”和“3”是操作數(shù)。
運(yùn)算符根據(jù)操作數(shù)的個(gè)數(shù)分為單目運(yùn)算符和雙目運(yùn)算符:
單目運(yùn)算符,只有一個(gè)操作數(shù),例如“-100”中 的“-”,單目運(yùn)算符位于操作數(shù)的前面;
雙目運(yùn)算符,具有二哥操作數(shù)的運(yùn)算符,例如“100-30”中的“-”,雙目運(yùn)算符位于二個(gè)操作數(shù)之間。
1、input命令
print命令用于輸出數(shù)據(jù),而input命令與print命令相反,它是讓用戶由“標(biāo)準(zhǔn)輸入”設(shè)備輸入數(shù)據(jù),如果沒(méi)有特別設(shè)置,標(biāo)準(zhǔn)輸入設(shè)備是指鍵盤(pán)。input命令是非常常用的命令,比如,教師若要用電腦計(jì)算成績(jī),則首先要從鍵盤(pán)輸入學(xué)生成績(jī)。語(yǔ)法如下:
? ? ? ? 變量 = input([提示字符串])
? ? ? ? 用戶輸入的數(shù)據(jù)存儲(chǔ)在指定的變量中。
? ? ? ? “提示字符串”表示輸出一段提示信息,用來(lái)告訴用戶如何輸入。輸入數(shù)據(jù)時(shí),當(dāng)用戶按下Enter鍵后被認(rèn)為是輸入結(jié)束,input命令會(huì)把用戶輸入的數(shù)據(jù)存入變量中。
例如,讓用戶輸入數(shù)學(xué)成績(jī)并輸出程序:
2、運(yùn)算符
python支持以下幾種運(yùn)算符(常用):
算術(shù)運(yùn)算符:用于執(zhí)行普通數(shù)學(xué)運(yùn)算的運(yùn)算符
例如:假設(shè)變量a = 10,變量b = 20
關(guān)系運(yùn)算符:用于二個(gè)表達(dá)式之間的比較,若比較結(jié)果為真,返回True;否則為False
?? 例如:假設(shè)變量a=10,變量b=20
賦值運(yùn)算符:先給變量賦值,在運(yùn)算的運(yùn)算符
???例如:假設(shè)變量a=10,變量b=20
邏輯運(yùn)算符:用于邏輯運(yùn)算的運(yùn)算符
???例如:假設(shè)變量a=10,變量b=20
按位運(yùn)算符:把數(shù)字看成二進(jìn)制來(lái)計(jì)算的
? ? 例如:假設(shè)變量a = 60(換成二進(jìn)制為111100), 變量b = 13(換成二進(jìn)制為1101)
運(yùn)算符優(yōu)先級(jí):自上而下,依次升高
1、函數(shù)定義
①使用def關(guān)鍵字定義函數(shù)
②
def 函數(shù)名(參數(shù)1.參數(shù)2.參數(shù)3...):
"""文檔字符串,docstring,用來(lái)說(shuō)明函數(shù)的作用"""
#函數(shù)體
return 表達(dá)式
注釋的作用:說(shuō)明函數(shù)是做什么的,函數(shù)有什么功能。
③遇到冒號(hào)要縮進(jìn),冒號(hào)后面所有的縮進(jìn)的代碼塊構(gòu)成了函數(shù)體,描述了函數(shù)是做什么的,即函數(shù)的功能是什么。Python函數(shù)的本質(zhì)與數(shù)學(xué)中的函數(shù)的本質(zhì)是一致的。
2、函數(shù)調(diào)用
①函數(shù)必須先定義,才能調(diào)用,否則會(huì)報(bào)錯(cuò)。
②無(wú)參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(),有參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(參數(shù)1.參數(shù)2.……)
③不要在定義函數(shù)的時(shí)候在函數(shù)體里面調(diào)用本身,否則會(huì)出不來(lái),陷入循環(huán)調(diào)用。
④函數(shù)需要調(diào)用函數(shù)體才會(huì)被執(zhí)行,單純的只是定義函數(shù)是不會(huì)被執(zhí)行的。
⑤Debug工具中Step into進(jìn)入到調(diào)用的函數(shù)里,Step Into My Code進(jìn)入到調(diào)用的模塊里函數(shù)。
【常見(jiàn)的內(nèi)置函數(shù)】
1、enumerate(iterable,start=0)
是python的內(nèi)置函數(shù),是枚舉、列舉的意思,對(duì)于一個(gè)可迭代的(iterable)/可遍歷的對(duì)象(如列表、字符串),enumerate將其組成一個(gè)索引序列,利用它可以同時(shí)獲得索引和值。
2、zip(*iterables,strict=False)
用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表。如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同,利用*號(hào)操作符,可以將元組解壓為列表。
3、filter(function,iterable)
filter是將一個(gè)序列進(jìn)行過(guò)濾,返回迭代器的對(duì)象,去除不滿足條件的序列。
4、isinstance(object,classinfo)
是用來(lái)判斷某一個(gè)變量或者是對(duì)象是不是屬于某種類型的一個(gè)函數(shù),如果參數(shù)object是classinfo的實(shí)例,或者object是classinfo類的子類的一個(gè)實(shí)例,
返回True。如果object不是一個(gè)給定類型的的對(duì)象, 則返回結(jié)果總是False
5、eval(expression[,globals[,locals]])
用來(lái)將字符串str當(dāng)成有效的表達(dá)式來(lái)求值并返回計(jì)算結(jié)果,表達(dá)式解析參數(shù)expression并作為Python表達(dá)式進(jìn)行求值(從技術(shù)上說(shuō)是一個(gè)條件列表),采用globals和locals字典作為全局和局部命名空間。
【常用的句式】
1、format字符串格式化
format把字符串當(dāng)成一個(gè)模板,通過(guò)傳入的參數(shù)進(jìn)行格式化,非常實(shí)用且強(qiáng)大。
2、連接字符串
常使用+連接兩個(gè)字符串。
3、if...else條件語(yǔ)句
Python條件語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True或者False)來(lái)決定執(zhí)行的代碼塊。其中if...else語(yǔ)句用來(lái)執(zhí)行需要判斷的情形。
4、for...in、while循環(huán)語(yǔ)句
循環(huán)語(yǔ)句就是遍歷一個(gè)序列,循環(huán)去執(zhí)行某個(gè)操作,Python中的循環(huán)語(yǔ)句有for和while。
5、import導(dǎo)入其他腳本的功能
有時(shí)需要使用另一個(gè)python文件中的腳本,這其實(shí)很簡(jiǎn)單,就像使用import關(guān)鍵字導(dǎo)入任何模塊一樣。
Python——Lambda表達(dá)式是一個(gè)匿名函數(shù),Lambda 表達(dá)式基于數(shù)學(xué)中的lambda演算得名,直接對(duì)應(yīng)于其中的 lambda 抽象,是一個(gè)匿名函數(shù),即沒(méi)有函數(shù)名的函數(shù)。
Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的Guido van Rossum 于1990 年代初設(shè)計(jì),作為一門(mén)叫做ABC語(yǔ)言的替代品。Python提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊獭?/p>
Python語(yǔ)法和動(dòng)態(tài)類型,以及解釋型語(yǔ)言的本質(zhì),使它成為多數(shù)平臺(tái)上寫(xiě)腳本和快速開(kāi)發(fā)應(yīng)用的編程語(yǔ)言,隨著版本的不斷更新和語(yǔ)言新功能的添加,逐漸被用于獨(dú)立的、大型項(xiàng)目的開(kāi)發(fā)。
Python解釋器易于擴(kuò)展,可以使用C或C++(或者其他可以通過(guò)C調(diào)用的語(yǔ)言)擴(kuò)展新的功能和數(shù)據(jù)類型。Python 也可用于可定制化軟件中的擴(kuò)展程序語(yǔ)言。Python豐富的標(biāo)準(zhǔn)庫(kù),提供了適用于各個(gè)主要系統(tǒng)平臺(tái)的源碼或機(jī)器碼。
擴(kuò)展資料:
python的發(fā)展歷程:
自從20世紀(jì)90年代初Python語(yǔ)言誕生至今,它已被逐漸廣泛應(yīng)用于系統(tǒng)管理任務(wù)的處理和Web編程。
Python的創(chuàng)始人為荷蘭人吉多·范羅蘇姆。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無(wú)趣,決心開(kāi)發(fā)一個(gè)新的腳本解釋程序,作為ABC語(yǔ)言的一種繼承。之所以選中Python(作為該編程語(yǔ)言的名字,是取自英國(guó)20世紀(jì)70年代首播的電視喜劇《蒙提·派森的飛行馬戲團(tuán)》。
ABC是由Guido參加設(shè)計(jì)的一種教學(xué)語(yǔ)言。就Guido本人看來(lái),ABC這種語(yǔ)言非常優(yōu)美和強(qiáng)大,是專門(mén)為非專業(yè)程序員設(shè)計(jì)的。但是ABC語(yǔ)言并沒(méi)有成功,究其原因,Guido認(rèn)為是其非開(kāi)放造成的。Guido決心在Python中避免這一錯(cuò)誤。同時(shí),他還想實(shí)現(xiàn)在ABC中閃現(xiàn)過(guò)但未曾實(shí)現(xiàn)的東西。
就這樣,Python在Guido手中誕生了??梢哉f(shuō),Python是從ABC發(fā)展起來(lái),主要受到了Modula-3(另一種相當(dāng)優(yōu)美且強(qiáng)大的語(yǔ)言,為小型團(tuán)體所設(shè)計(jì)的)的影響。并且結(jié)合了Unix shell和C的習(xí)慣。