python集合类型的操作符_Python 语言学习 第一篇:数据类型(数字,集合,布尔类型,操作符)...
Python語言最常用的對象是變量和常量,常量的值是字面意思,變量的值是可變的,例如,123,"上海"是常量,而a=1,a=2,其中a是變量名。內置的核心數據類型有:數字、字符串、列表、字典、元組、文件、集合、None和布爾類型。Python是強類型的語言,變量的數據類型是由初始化的常量來指定的,其類型根據賦值是可變的,這就是Python的動態類型模型。
一,變量的動態類型
在Python中,類型是在運行過程中動態決定的,而不是通過代碼聲明的,這意味著沒有必要事先聲明變量。
當在Python中運行賦值語句:a = 3 時,Python自動把a作為整數對象來使用。變量名不和類型關聯,變量名只不過是對象的一個引用而已,數據類型是和對象相關聯的。當變量出現在表達式中時,它會馬上被當前引用的對象所代替。
總之,變量在賦值的時候創建,可以引用任何數據類型的對象,并且必須在初始化之后才能引用。
二,數字類型
Python的數字類型包括:整數、浮點數和復數
整數:在Python3.0中支持無窮精度的整數,可以通過內置函數int(n)來創建整數,整數是精確的,
浮點數:類似于C語言中的雙精度,可以通過內置函數float(n)來創建浮點數,浮點數可能存在誤差,
復數:虛部以j或J結尾,可以通過內置函數complex(real,image)來創建復數
二進制,八進制和十六進制:可以通過內置函數bin(n),oct(n),hex(n)來分別創建二進制數,八進制數和十六進制數
1,基數為2,8和16的整數
二進制,八進制和十六進制只能表示整數:
二進制(binary):以0b或0B開頭,后面接0-1的數字
八進制(octal):以0o或0O開頭,后面接0-7的數字,
十六進制(hex ):以0x或0X開頭,后面接十六進制的數字0-9和A-F,字符編寫成大寫或小寫都行
各個進制的常量表示:
常量0o10 是指十進制的8,使用oct(8)來表示
常量0b10是指十進制的2,使用bin(2)來表示
常量ox10是指十進制的16,使用hex(16)來表示
2,除法
Floor除法是指:把結果向小舍入到最近的整數,例如,小于2.5最小的整數是2,小于-2.5最小的整數是-3
>>>import math>>> math.floor(2.5)2
>>> math.floor(-2.5)-3
在Python 2.6 版本中:
/ 表示傳統除法:如果兩個操作數都是整數類型,執行截斷的整數除法,返回的結果是整數;如果任意一個操作數是浮點數,則返回小數。
// 表示Floor除法:總是截斷余數,當兩個操作數都是整數時,結果是整數(n);如果有任何一個操作數是浮點類型,則返回一個浮點數(n.0)。
在Python 3.0 版本中:
/ 表示真除法:不管操作數的類型,都返回包含小數的結果;
// 表示Floor除法:對于整數執行截斷除法,對于浮點數執行浮點除法。
例如,在Python 3.0 版本中:
>>> 5//2.0
2.0
>>> 5//-2.0
-3.0
3,位操作
把整數當作二進制位串來對待,使用位操作符進行位移操作
>>> x=1 #0b0001
>>> x<<2
4
>>> x|2
3
>>> x&1
1
4,內置的數學工具
導入內置的math模塊,常用的數學工具:
pow(a,b),求a的b次冪
round(seed):求隨機數
math.sqrt(x),求x的平方根
math.floor(x):向下取最小的整數
math.trunc(x):截斷小數點,保留整數
5,精確小數
精確小數是有固定精度的浮點數,通常情況下,浮點數缺乏精確性,這是因為用來存儲數值的空間有限,例如,下面的計算應該得到0,但是結果卻沒有等于0,而是結果接近于0:
>>> 0.1+0.1+0.1-0.3
5.551115123125783e-17
不過使用精確小數,結果能夠修正:
>>> from decimalimport Decimal>>> Decimal('0.1') + Decimal('0.1') - Decimal('0.2')
Decimal('0.0')
設置精確小數對象的精度:
decimal.getcontext().prec = 4
6,分數
分數是指帶有分子和分母的表達式,分數 1/2的表示方法是:
>>> fromfractions import Fraction>>> x=Fraction(1,2)
三,集合
集合(set)是一些唯一的、不可變的對象的無序集合,這些對象支持集合操作。集合的特點是:
根據定義,一個項(元素,item)在集合中只能出現一次,不管把它添加多少次。
集合是無序的
1,創建集合
集合的三種定義方式,使用內置函數set創建集合
>>> set([1,2,3,4])
{1, 2, 3, 4}>>> set('abcd')
{'d', 'b', 'a', 'c'}
或者使用大括號創建集合:
>>> {1,2,3,4}
{1, 2, 3, 4}
2,集合操作
in :項是否存在于集合中
>>> x={1,2,3,4}>>> 1 inx
True
- :集合的差集
>>> y={2,3,4,5}>>> x-y
{1}
|:集合的交集,等價于x.union(y)
>>> x|y # x.union(y)
{1, 2, 3, 4, 5}
&:集合的并集,等價于 x.intersection(y)
>>> x&y # x.intersection(y)
{2, 3, 4}
^:集合的異或
>>> x ^y
{1, 5}
>, < :集合的子集,等價于x.issubset(y)
>>> xy #x.issubset(y), y.issubset(x)
(False, False)
3,集合的修改
add()用于添加集合元素,remove()用于移除集合元素,update()用于歸并集合元素
>>> x.add(6)>>>x
{1, 2, 3, 4, 6}>>> x.remove(1)>>>x
{2, 3, 4, 6}>>> x.update({2,5})>>>x
{2, 3, 4, 5, 6}
四,布爾類型
bool數據類型的值是:True和False,顯示的是True和False,其行為跟整數1和0是相同的。
布爾類型常用于條件表達式中,用于控制循環結構和分支結構。
五,操作符
特殊的操作符
=? :賦值
==? :相等
!=? :不等
is? ?:檢查對象的同一性,如果兩個變量名指向同一個對象,返回True
1,邏輯運算符
and? :邏輯與
or? :邏輯或
not? :邏輯非
2,邏輯表達式
>,=,<=? :大于,小于,大于或等于,小于或等于
3,算術操作符
+? :加
-? :減
*? :乘
**? :冪乘,例如,a**b,是指a的b次方
/? :除,在Python3.0中,是真除法,無論任何類型都會保持小數部分
//? :Floor除法,省略掉結果的小數部分
%? :求模
4,位運算符
&? :按位與
|? :按位或
^? :異或
5,移位符
<
>>? :向右移位
總結
以上是生活随笔為你收集整理的python集合类型的操作符_Python 语言学习 第一篇:数据类型(数字,集合,布尔类型,操作符)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数组元素的修改会影响到转换过来的结合_数
- 下一篇: python非递归前序遍历二叉树_Lin