日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

c++用一级运算比较大小_1.1.2 python基本数据类型与运算符

發布時間:2025/3/15 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++用一级运算比较大小_1.1.2 python基本数据类型与运算符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本章引言

?????? ?任何計算機語言的學習都離不開其基礎中的基礎,即數據類型和運算;所以要學好一門語言必須具有扎實的基礎,后期是否能夠靈活使用就取決于第二章、第三章內容是否深而透。

變量含義

  • 用來存儲一些之后可能會變化的值

  • 對科比投籃ID為 1 的一次投籃進行分析,那么我們就可以創建一個名稱為 shot_id 的變量,并且將 1 值儲存在變量 shot_id 中

  • 如果之后我們想要分析科比的另外一次投籃,比如投籃ID為 2 的投籃,我們只需要修改變量 shot_id 的賦值,將 shot_id 賦值為 2 即可

變量賦值

? ? ? ?通過賦值運算符 = 變量名和想要賦予變量的值連接起來,變量的賦值操作就完成了聲明和定義的的過程,在其他語言中需要制定類型;同一變量可以反復賦值,而且可以是不同類型的變量,這也是Python語言稱之為動態語言的原因

示例:
>>>short_id=1
>>>print(short_id)
1
>>>type(short_id)
>>>short_>>>print(short_id)
1
>>>type(short_id)

變量名的命名規范

? ? ? ?在第一章節中提到基本語法中的命名規則要素,命名規范主要有駝峰式和蛇形式,在python中變量名習慣一般遵守蛇形命名法(snake case):

  • 一般變量名,wood_id、wood_program_id;

  • 類名首字符為大寫,如Python內置模塊collections.abc中的Iterable類

  • 類方法名:get_wood_id();

  • 其他特殊變量,會全部大寫,例如常量,MY_PI、MY_COUNT;

多個變量賦值

  • python允許同時為多個變量賦值。

    表現形式為:number1=number2=number3....=值
    例如:a = b = c = 1

  • python還可以實現多個變量賦值使用一個語句完成

    表現形式:number1,numbe2,numbe3=1,2,3

說明:

多個變量賦值中涉及非常重要的兩個概念:解包、封包

解包:實際就是將一組數據(元組)進行一一對應的賦值給每個變量,此種表示形式實際就是解包操作;
封包:如果一個變量進行賦予多個值的話,則表示的是該變量實際就是一個元組類型,該過程稱之為封包操作;

因為此處涉及元組的概念,所以在元組中還會詳細舉例,請理解概念。

常量

? ? ? ?常量表示“不能變”的變量Python中是沒有常量的關鍵字的,只是我們常常約定使用大寫字母組合的變量名表示常量,也有不要對其進行賦值”的提醒作用
PI=3.14159265

python數據類型

? ? ? ? python語言的數據類型包括整型、浮點型、字符串、布爾型和空值整型(int)整型的取值為整數,有正有負,如 2,-666,666 等。在科比投籃數據集中,shot_id是整型變量

Python有五個標準的數據類型:

  • Numbers(數字)

  • String(字符串)

  • List(列表)

  • Tuple(元組)

  • Dictionary(字典)

本章主要講以下幾種基本類型:數值型、布爾型和空值特殊類型

數值型

a1.整型:在python中其默認的數據類型就是int類型;

>>>number=10
>>>type(number)
擴展說明:并且在python3.X中不存在long類型(已經舍去),理論上在python3.X版本中的int類型為無窮存儲(最大的數值范圍是2的六十四次方,可以通過sys模塊中maxsize;在python2.X版本中則獲取int的范圍是通過sys.maxint)

a2.浮點型:其數據類型是float類型;

>>>number=1.1
>>>type(number)
擴展說明:
1.整形與浮點型之間可以實現數據類型的轉換;轉換使用函數int、float
2.在python中所有的值默認都是以十進制的形式進行表示;如果需要實現數值的進制轉換的話,則可以分別調用與之對應的函數或者使用int類對象進行完成;例如:int(第一個參數必須是str類型的值,base=可以是2,8,10,16)還可以使用0b表示二進制數據進行轉換成十進制,0o表示八進制轉換成十進制,0x表示十六進制轉換成十進制(對應的函數分別是:bin、oct、hex)
3.在計算機中都是以固定的多少位進行處理數據,如果一個數其轉換成二進制不足指定的位的話,則其對應的高位會采取補位補0操作;

a3.復數類型:表示形式是由實部+虛部 (z=a+bi);在python中表示的虛部的單位必須是j;

>>>number=1+1j
>>>type(number)
擴展說明:number=2+3j可以通過復數對象中的real和imag兩個屬性分別獲取復數的實部和虛部的值注意:在python中同樣存在對應的ASCII碼轉換;分別使用的函數是ord、chr;例如:ord(需要傳入轉換成整型的一個字符)、chr(需要傳入整型數字)
bool類型

? ? ?布爾值可以進行 and 、 or 和 not 運算, and 和 or 運算分別用 & 和 | 表示not 運算為非運算,即把 True 變成 False , False 變成 True
邏輯判定型;只存在兩個值:True、False;常用的false的值有:""、0、[]、None、()、{}

>>>type(True)
空值類型

? ? ? ?空值是Python里一個特殊的值,用 None 表示,一般用 None 填充表格中的缺失值使用 type() 函數來獲取某值的類型

>>>type(None)
類型轉換

? ? ? 函數 int()、float()、str() 和 bool() 分別用于將變量轉換成整型、浮點型、字符串和布爾型變量

>>>number1=1.2
>>>int(number1)
1
>>>number2=2
>>>float(number2)
2.0
>>>number3=3
>>>str(number3)
'3'
>>>bool(number3)
True
思考:如果存在一個變量str1="hello",然后強制轉換成int,即int(str1),其結果是?
isinstance用法

????通過幫助查看如下:

作用:來判斷一個對象是否是一個已知的類型;

其第一個參數(object)為對象,第二個參數為類型名(int...)或類型名的一個列表((int,list,float)是一個列表)。其返回值為布爾型(True or flase)。

若對象的類型與參數二的類型相同則返回True。若參數二為一個元組,則若對象類型與元組中類型名之一相同即返回True。

簡單來說就是判斷object是否與第二個參數的類型相同,舉例如下:

# -*- coding: utf-8 -*-test_str?=?'123'print(isinstance(test_str,str))#判斷test_str是否是字符串類型test_int?=?123print(isinstance(test_int,int))?#判斷ttest_int是否是int類型test_float = 1.23print(isinstance(test_float,float))#判斷test_float是否是float類型test_bool = Trueprint(isinstance(test_bool,bool))#判斷test_bool是否是bool類型
ASCII碼獲取

? ? ? ?實現ASCII碼與字符相互轉換:其中ord()與chr()函數均為Python內置函數。ord()函數接受一個字符類型參數,并返回一個十進制整數chr()函數則為ord()函數的配對函數,其接受一個整型參數,并返回一個與其ASCII碼相對應的字符。

>>> ord('A')
65
>>> chr(65)
'A'

運算符

? ? ? ?運算符和操作對象是計算機中比較常見的,任何的計算,都涉及到運算符和操作對象。數學學習的加(+)、減(-)、乘(*)、除(/)等都是運算符。操作對象就是由運算符連接起來的對象。以下為python常用運算符說明以及操作。

算術運算符

以下變量a為10,變量b為5:

運算符描述實例
+加:兩個對象相加a+b輸出結果15
-減:得到復數或者是一個數減去另一個數a-b輸出結果5
*乘:兩個數相乘或者是返回一個被重復若干次的字符串a* b輸出結果是50
/除:x除以ya/b輸出結果2
%取模:返回除法的余數b%a 輸出結果0
**冪:返回x的y次冪a** b 為10的5次方,輸出結果100000
//取整除(地板除):返回商的整數部分9//2輸出結果4,9.0//2.0輸出結果4.0
比較運算符

以下變量a為10,變量b為20:

運算符描述實例
==等于:比較對象是否相等(a==b) 返回False
!=不等于:比較兩個對象是否不相等(a!=b) 返回True
>大于:返回x是否大于y(a>b) 返回False
<小于:返回x是否小于y(a
>=大于等于:返回x是否大于等于y(a>=b) 返回False
<=小于等于:返回x是否小于等于y(a<=b) 返回True
賦值運算符

以下變量a為10,變量b為20:

運算符描述實例
-=減法賦值運算符c-=a等價于c=c-a
* =乘法賦值運算符c*=a等價于c=c* a
/=除法賦值運算符c/=a等價于c=c/a
%=取模賦值運算符c%=a等價于c=c%a
** =冪賦值運算符c**=a等價于c=c** a
//=取整除賦值運算符c//=a等價于c=c//a
邏輯運算符

Python語言支持邏輯運算符,以下變量a為10,變量b為20:

運算符邏輯表達式描述實例
Andx and y布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y的計算值(a and b) 返回 20
Orx or y布爾“或” - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值(a or b) 返回 10
Notnot x布爾“非” - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 Truenot(a and b)返回False
位運算符
運算符描述實例
&按位與運算符(a&b)輸出結果是12 二進制解釋:0000 1100
|按位或運算符(a|b)輸出結果四61 二進制解釋:0011 1101
^按位異或運算符(a^b)輸出結果是49 二進制解釋:0011 0001
~按位取反運算符(~a)輸出結果是-61 二進制解釋:1100 0011 在一個有符號二進制數的補碼形式
<<左移動運算符:<a << 2 輸出結果 240 ,二進制解釋:1111 0000
>>右移動運算符a >> 2 輸出結果 15 ,二進制解釋:0000 1111

擴展內容:原碼、反碼、補碼

數字在自然界中抽象出來的時候,一棵樹,兩只豬,是沒有正數和負數的概念的

計算機保存最原始的數字,也是沒有正和負的數字,叫沒符號數字

如果我們在內存分配4位(bit)去存放無符號數字,是下面這樣子的

后來在生活中為了表示“欠別人錢”這個概念,就從無符號數中,劃分出了“正數”和“負數”

正如上帝一揮手,從混沌中劃分了“白天”與“黑夜”

為了表示正與負,人們發明了"原碼",把生活應該有的正負概念,原原本本的表示出來

把左邊第一位騰出位置,存放符號,正用0來表示,負用1來表示

但使用“原碼”儲存的方式,方便了看的人類,卻苦了計算機

我們希望 (+1)和(-1)相加是0,但計算機只能算出0001+1001=1010 (-2)

這不是我們想要的結果!!

另外一個問題,這里有一個(+0)和(-0)

為了解決“正負相加等于0”的問題,在“原碼”的基礎上,人們發明了“反碼”

“反碼”表示方式是用來處理負數的,符號位置不變,其余位置相反

當“原碼”變成“反碼”時,完美的解決了“正負相加等于0”的問題

過去的(+1)和(-1)相加,變成了0001+1101=1111,剛好反碼表示方式中,1111象征-0

人們總是進益求精,歷史遺留下來的問題—— ?有兩個零存在,+0 和 -0

我們希望只有一個0,所以發明了"補碼",同樣是針對"負數"做處理的

"補碼"的意思是,從原來"反碼"的基礎上,補充一個新的代碼,(+1)

我們的目標是,沒有蛀牙(-0)

有得必有失,在補一位1的時候,要丟掉最高位

我們要處理"反碼"中的"-0",當1111再補上一個1之后,變成了10000,丟掉最高位就是0000,剛好和左邊正數的0,完美融合掉了

這樣就解決了+0和-0同時存在的問題

另外"正負數相加等于0"的問題,同樣得到滿足

舉例,3和(-3)相加,0011 + 1101 =10000,丟掉最高位,就是0000(0)

同樣有失必有得,我們失去了(-0) , 收獲了(-8)

以上就是"補碼"的存在方式

結論:保存正負數,不斷改進方案后,選擇了最好的"補碼"方案

參考信息:運算符優先級
運算符描述
**指數(最高優先級)
~+-按位反轉,一元加號、減號(最后兩個方法名為+@和-@)
* / % //乘、除、取模、取整除
+ -加法、減法
>> <<右移、左移動運算符
^ |位運算符
<= < >= >比較運算符
<> != ==等于運算符
= += -= * = /= ** =賦值運算符
is is not身份運算符
in not in成員運算符
not and or邏輯運算符

練一練

  • 下列各賦值語句,語法不正確的是? ( ?? )
    A. x+y=5????
    B. BiNumber =15????
    C. Labell.caption =time????
    D. s_Length =x+y

  • 下列給出的賦值表達式中正確的是( )
    A.4 = M?????
    B.-M = M?????????????????
    C.B = A – 3?????????????
    D.X + Y = 0

  • 下列程序運行后,變量x的值為(? ? )
    x=2
    print(x+l)
    print(x+2)
    A、2????????????
    B、3????????????????????????????
    C、4????????????????????????????????????
    D、5

  • 設a=2,b=3,c=4,d=5,下列表達式的值是(?? )。
    a<=c or 4* c==b ^2 and b+c==d
    A. -1?????
    B.0????
    C. True????
    D. False

  • 聲明兩個變量number1=”11”,number2=”22”計算上面兩個變量的位與運算結果、位取反運算結果(公式:-(a+1)=-12 實際就是取當前數值原碼所對應的反碼)、左移動運算結果;要求寫出其分析過程?

  • 小結

    Python第二章內容的學習,需要全面理解Python的基本數據類型的使用以及常用的運算符使用。

    咨詢了解更多請掃碼添加

    總結

    以上是生活随笔為你收集整理的c++用一级运算比较大小_1.1.2 python基本数据类型与运算符的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。