Python基礎 型別和運算

2021-09-25 18:34:49 字數 2042 閱讀 9710

python中型別是在執行過程中自動決定的

執行a = 3後,先建立乙個物件來代表值3,建立乙個變數a(如果還沒有建立的話),變數a變成3物件3的乙個引用,在內部實際上變數是到物件記憶體空間的乙個指標。

與c++不同,c++變數是一塊記憶體區域,改變變數值是改變相應記憶體內的值。

在python中,變數名沒有型別,而每個變數都包含了乙個頭部資訊,標記了這個物件的型別。(還有乙個頭部資訊是引用計數器)

每個物件中的計數器記錄了當前指向該物件的引用的數目,一旦這個計數器被設定為零,這個物件的記憶體空間就會自動**。每當乙個變數名被賦予乙個新值,原來數值物件的的引用值會減一。

當物件引用自身,或引用了另乙個引用自身的物件時,引用計數器不會清除為0,必須特別對待。

不可變性:建立後就不能改變,只能重新賦值。

可變性:可以自由改變

dir(x)   help(x.function)可以檢視物件的屬性和方法詳情

a = 1.1   a=3+4j  

0o117 八進位制 0x9ff 十六進製制 0b10101 二進位制 ,內建函式hex(i)、oct(i)、bin(i)可以把整數轉換為這三種進製表示的字串

int函式可以將數字的字串轉換為乙個整數,int('64')   int('117', 8)  int('ff', 16)  int('1000000', 2)。   eval函式,可以把字串作為python**,也有類似的效果  eval('0o117')   eval('0xff')   eval('0b1000000'),但是比int要慢

python可以把多個比較連續起來執行,如az

小數型別:(有固定精度的浮點值,解決了浮點數的缺乏精確度)(可以設定全域性精度)

from decimal import deecimal

decimal('0.1') + decimal('0.01')

分數型別:(明確保留分子和分母,避免了浮點數的不精確性和侷限性)

from fractions import fraction

x = fraction(1, 3)

a = 'spam'  a="ggg's"   a=b'a\xolc'

可以對字串進行索引、切片等序列操作

看上去改變了字串的操作都是建立了乙個新的字串賦給原變數

"""aaabbb''''cdcddgga"""可以在三個引號中包含多行字串

單引號和雙引號是一樣的,可以互換

與c++不同,python沒有單個字元的型別,只有字串。

[123, 'spam', 1.23]   [123, [1, 2, 3], ['a', 'b', 'c']]

可以對列表進行索引、切片等序列操作(相當於其他語言中的無固定型別的陣列),並且可以巢狀

}dict(name = 'mel', age = 45)

dict([('name', 'mel'), ('age', 45)])

dict.fromkeys(['a', 'b'], 0) #傳入乙個鍵列表和初始值

無序的集合, 一種鍵值對對映,可以使用任何不可變物件作為鍵。

(0, 'ni', ('a', 'b'))

像不可變的列表,是任意物件的有序集合

python 布林型別,基礎運算和基礎流程

1.布林型 1 空元組,列表,字典,字串,none都屬於flase 2 非零,非空列表,字典,字串,元組 1.0,空元組,列表,字典,字串,none都屬於flase print bool 0 整型 print bool 列表 print bool 元組 print bool 字典和集合 print ...

Python型別和運算 數字

在python中,數字並不是乙個真正的物件型別,而是一組相似型別的分類。不僅包括通常的數字型別 整數和浮點數 黑包括數字表示式,以及高階的數字程式設計。基本數字常量 數字 常量 1234,24 整數 無窮大小 1.23,3.14e10 浮點數 0177,0x9ff,0b1010 python2.6中...

零基礎學Python 數值型別和運算子

在 python 中定義變數是 不需要指定型別 在其他很多高階語言中都需要 整形,也被稱之為整數。整數就是數學中的數字。整形在python中不受長度限制大小範圍 使用 type 函式可以檢視乙個變數的型別 小數型別 小數 運算 運算子優先順序與整形是一樣。浮點數轉化為整形 顯示轉化 隱式轉化,系統背...