溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python變量數(shù)據(jù)類型和運算符怎么使用

發(fā)布時間:2022-07-13 10:38:12 來源:億速云 閱讀:122 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下python變量數(shù)據(jù)類型和運算符怎么使用的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

1 數(shù)據(jù)類型

不同類型的變量可以進行的運算是不同的,所以必須理解變量的類型,python中數(shù)據(jù)類型可以分為:

內(nèi)置類型:

  • 數(shù)值類型:整型int,浮點型float,復(fù)數(shù)(complex) 3+5j

  • str:字符串

  • bool:布爾值【True,F(xiàn)alse】

  • None:空值,表示變量沒有確定的值

  • list:列表

  • tuple:元組

  • dict:字典

  • set:集合

自定義類型:

  • class :

1.1 基礎(chǔ)類型

數(shù)值類型:

  • 整型(int): python3中只有int一種,可以表示整數(shù),例如:10,-5,10000

  • 浮點型(float): 表示帶小數(shù)點的實數(shù),有兩種表示法:

    • 小數(shù)表示: 1.9 .23

    • 科學(xué)計數(shù)法: 用e來表示10的指數(shù),1e2就代表了100,注意e前面必須有數(shù)值,e后面必須為整數(shù)

  • 復(fù)數(shù)(complex):表示數(shù)學(xué)上的無理數(shù),形如:a+bj

  • 布爾型(bool):表示事務(wù)的兩種狀態(tài),男女、陰晴、亮暗等,它只有兩個值:True,F(xiàn)alse

  • None:表示空對象,一般用于判斷,不同于0和空字符

  • 字符串(str):在python中,用引號(單引號、雙引號、三引號)表示字符串

字符串的表示:

# 用單引號表示: 'hello'
# 用雙引號表示:"我用python"
# 用3個單引號表示:可以表示多行文本,例如:
'''偉大

祖國
'''
# 用3個雙引號表示:可以表示多行文本,例如:
"""生死看淡,
不服就干"""

  • 轉(zhuǎn)義字符:有些特殊字符無法從鍵盤輸入,可以使用轉(zhuǎn)義字符表示,另外,無論是單引號、雙引號還是三引號字符串,其中引號是字符串界定符,引號并不是字符串的內(nèi)容,那么如何在單引號字符串中表示一個單引號呢,這也可以使用轉(zhuǎn)義字符表示。常見的轉(zhuǎn)義字符

轉(zhuǎn)義字符

描述

轉(zhuǎn)義字符

描述

\'

表示一個普通字符單引號

\n

換行

\"

表示一個普通字符雙引號

\r

回車

\'''

一個普通的三單引號

\\

一個普通的字符\

\"""

一個普通的三雙引號

\a

響鈴

\t

tab鍵

\b

回刪一個字符

  • 字符串編碼:計算機只能識別二進制,那么字符串如何存儲到計算機里呢

計算機不能直接存儲字符串,但我們可以將字符編碼,例如用65表示大寫字符A,66表示大寫字符B....等這種表示方式就是美國類的ASCII碼,只能表示127個字符,但對于美國人來說已經(jīng)足夠了。一但能用整數(shù)表示字符,我們可以很方便的把整數(shù)用二進制表示,那么字符串也就和容易存儲到計算機了。
但還有很多其他國家的語言是不能用ASCII表示的,所有ISO組織就推出了unicode碼,用來表示任何一種語言的字符,unicode碼也稱之為萬國碼,通用碼,可以表示任何一種語言的任何一個字符。unicdoe碼有多中表示方式,例如:utf-8、utf-16、utf-32等。一般使用較多的是utf-8,utf-8是一種變長的編碼,表示一個字符可能用一個字節(jié),也可能是三個字節(jié)
中文常用編碼一般用GBK編碼,用2個字節(jié)表示一個漢字

1.2 類型判斷

我們可以使用type和isinstance來測試和判斷數(shù)據(jù)類型

#type用法:
type(obj)
功能:返回obj的數(shù)據(jù)類型
參數(shù):obj是你要測試變量或數(shù)值
示例:
age = 10
name = 'hello'
print(type(name),type(age))
#判斷變量是否是指定類型
if type(age) is int:
print('是')
else:
print('否')

#isinstance用法:
isinstance(obj,typename)
功能:判斷obj是否是指定類型,是返回True,否返回False
參數(shù): objobj是你要判斷的變量或數(shù)值
typename是指定數(shù)據(jù)類型,可以是int,float,str等。也可是一個
類型的元組,例如:(int,float)
示例:
age = 10
name = 'hello'
print(isinstance(age,int))
print(isinstance(name,(str,int)) #只要name是str或int的一種就返回True

if isinstance(age,int):
print('是')
else:
print('否')

#type和isinstance的區(qū)別
type判斷基本類型是沒問題的,但無法判斷子類對象是父類的一種
isinstance可以判斷子類對象是父類的一種
class A:
pass
class B(A):
pass

objA = A()
objB = B()

#輸出否
if type(objB) is A:
print('是')
else:
print('否')
print(isinstance(objB,A)) #True

結(jié)論:優(yōu)先使用isinstance

2. 運算符和表達式

在數(shù)學(xué)上為了計算結(jié)果,我們會寫一些式子計算,例如:

30 + 5

這是數(shù)學(xué)中的計算式,python中為了計算也有類似的式子,叫表達式。在表達式中30和5稱作操作數(shù),+稱之運算符。表達式的目的在于計算結(jié)果。表達式構(gòu)成:

  • 最基本的表達式就是一些數(shù)值,變量、函數(shù),例如: 3, a(變量) print(‘hello’)

  • 由基本表達式加上適當(dāng)?shù)倪\算符構(gòu)成復(fù)雜的表達式: 3 + a

綜合上述,所謂表達式就是由操作數(shù)和運算符組成?符合python語法的式子。要寫表達式首先要學(xué)習(xí)運算符。關(guān)于運算符要知道兩件事情

  • 計算順序 : 是從左向右算還是從右向左算

  • 優(yōu)先級 : 比如先乘除后加減

2.1 算術(shù)運算符

a = 20
b = 10

運算符

說明

示例

-

負號,取原數(shù)的相反數(shù)

a = 10 print(-a) #-10

+ - * /

加減乘除,同數(shù)學(xué)上一樣

a + b = 30 a - b = 10 a * b = 200 a / b = 2

%

模運算,即求 a整除以b的余數(shù)

a % 10 = 0

//

整除

a // b = 2

**

對運算符進行指數(shù)(冪)計算

a ** b 表示20的10次方

2.2 模運算說明

  • 模運算的符號取決于第二個操作數(shù)(右操作數(shù))

  • 模運算的計算公式:r = a % b = a - n * b,其中n是小于a/b的最大整數(shù)

  • 整除(//)運算如果有一個操作數(shù)是浮點數(shù),結(jié)果是浮點數(shù)

  • 用途:判斷奇偶、判斷是否能夠整除、最大公約數(shù)、水仙花數(shù)

2.3 數(shù)學(xué)函數(shù)

函數(shù)名

函數(shù)的說明

示例

abs

取絕對值

abs(-10)

pow(x,y)

x的y次方

pow(10,2)求10的平方

round(x,[n])

浮點數(shù)的4舍5入, n代表保留小數(shù)的位數(shù)

round(3.456)

max()

求給定參數(shù)的最大值

max(21,43,65,75,86,32,3,45)

min()

求給定參數(shù)的最小值

min(21,43,65,75,86,32,3,45)

math.ceil()

需要導(dǎo)入import math庫 向上取整

math.ceil(18.1) #19

math.floor()

需要導(dǎo)入import math庫 向下取整

math.floor(18.1) #18

math.sqrt

需要導(dǎo)入import math庫 求平方根

math.sqrt(100)

 python3.5.2中文幫助文檔

  

2.4 隨機函數(shù)

獲取隨機數(shù),需要引入random庫。

import random

函數(shù)名

函數(shù)說明

random.randrange(start,stop,step)

start 指定范圍的起始值 包含本身,默認是0;stop 指定范圍的結(jié)束值 不包含本身; step 步長,默認步長是1。該函數(shù)返回一個整數(shù)

random.randint(start,end)

返回[start end]之間的一個隨機整數(shù),start必須小于end

random.random()

返回一個[0.0,1.0)之間的隨機小數(shù)

注意:

  • 優(yōu)先級: ** >正負號 > // % * / > + -

  • 從左向右算

  • 在冪運算和一元運算符聯(lián)合計算時,從右向左算,例如: -1 ** 2 = -1

2.5 賦值運算符

a = 5; b = 10; c = 20

運算符

說明

示例

=

簡單賦值, 將b+c的結(jié)果賦給a

a = b +c #a=30

+=

a += b等價于 a = a +b

a = 15

-=

a -= b等價于 a = a - b

a = -5

*=

a *= b等價于 a = a * b

a = 50

/=

a /= b 等價于a = a / b

a = 0.5

%=

a %= b等價于a = a % b

a = 5

//=

a //= b等價于 a = a // b

a = 0

**=

a **= b等價于a = a ** b

 

注意:

  • 賦值運算符左邊必須是變量

  • 從右向左算

  • 沒有賦值表達式

  • 所有賦值運算符優(yōu)先級相同,賦值運算符優(yōu)先級非常低,僅高于成員運算符和身份運算符、邏輯運算符

  • 注意在復(fù)合賦值中

a = 2
b = 3
a *= b + 2 #等價于 a = a * (b + 2)
print(a) # a = 10

2.6 關(guān)系運算

關(guān)系運算就是比較運算,如果表達式成立,返回True,否則返回False。關(guān)系運算的結(jié)果是布爾值。

運算符

示例

說明

==

a == b

a和b值相等,結(jié)果是True,a和b值不相等結(jié)果為False

!=

a != b

a不等于b 結(jié)果為True,否則結(jié)果為True

>

a > b

a大于b結(jié)果為True,否則為False

>=

a >= b

a大于等于b結(jié)果為True,否則為False

<

a < b

a小于b結(jié)果為True,否則為False

<=

a <= b

a小于等于b結(jié)果為True,否則為False

注意

  • 優(yōu)先級: 比較運算符優(yōu)先級相同

  • 從左向右算

  • 可以這樣算:1 < a < 3 等價于 a > 1 and a < 3

2.7 邏輯運算

邏輯運算符可以用于構(gòu)造復(fù)雜條件。邏輯運算符包括:

  • 邏輯與 and 對應(yīng)漢語的意思是“并且” 、 “同時”

  • 邏輯或 or 對應(yīng)漢語意思為"或者"

  • 邏輯非 not 對應(yīng)漢語意思為”相反“

在邏輯運算中,F(xiàn)alse、None、0、0.0、&lsquo;&rsquo;(空字符串)被看做假(False),其它的看做真(True)

2.7.1 邏輯與

a

b

a and b

任意值

b的值

任意值

a的值

  • 表達式 a and b的值為: 如果a為真,結(jié)果為b的值,否則結(jié)果是a的值

2.7.2 邏輯或

a

b

a or b

任意值

a的值

任意值

b的值

  • 表達式a or b的值為:如果a為真結(jié)果為a的值,否則結(jié)果是b的值

2.7.3 邏輯非

a

not a

False

True

小結(jié):a為真則表達式為False,否則表達式為True

2.8 短路計算

  • 對于邏輯與表達式 a and b,如果a為假,則不計算b

  • 對于邏輯或表達式 a or b ,如果a為真,則不計算b

2.9 注意事項

  • 優(yōu)先級 not > and >or

2.10 身份運算符

is: 判斷兩個標(biāo)識符是否引用自同一個實體【對象】,比較的是兩個對象的id是否一樣,如果相同為真,否則為假

is not:判斷兩個標(biāo)識符是不是引用自不同的實體【對象】如果兩個對象的id不同結(jié)果為真,否則為假

id()函數(shù)獲取實體的id(地址)

注意:is和==的區(qū)別

  • is用于判斷兩個變量引用實體是否為同一個【id】

  • ==用于判斷兩個變量的值是否相同,但id不一定相同

2.11 成員運算符

主要應(yīng)用在序列中

in:如果在指定的序列中找到指定的值,則返回True,否則返回False

not in:如果在指定的序列中未找到指定的值,則返回True,否則返回False

2.12 if-else表達式

表達式1 if 條件 else 表達式2,如果條件為真假結(jié)果是表達式1的值,否則結(jié)果是表達式2的值

以上就是“python變量數(shù)據(jù)類型和運算符怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI