摘要:,可以用十進制十六進制八進制二進制來表示。由實數虛數組成。,在中,八進制可以以開頭,但是在中,不能以開頭,一定要以或者開頭,位的運算表示位向左移動表示位向右移動表示或運算表示運算表示異或運算兩者不同為,相同為可以用方法計算二進制數有多少位。
1, 在Python 2.x 中。Python的integer,有兩種類型,normal和long。Normal通常是32位的。Long表示無限精度,由計算機決定。如果數字后面有l或者L,這會強制將該數字轉換為long類型。但其實,用戶不必這樣做,因為Python會在數值溢出的情況下自動將normal的類型轉換為long類型。
然而,在Python 3.x中,normal和long合并了,沒有區別了。此時不可再在數字尾部加入l或者L了。
2,integer可以用十進制(decimal)、十六進制(hexadecimal)、八進制(octal)、二進制(binary)來表示。后面三種在編程領域很常見。
十六進制(hexadecimal):以0x或者0X開頭,接0~9或者A~F,大小寫沒有關系;
八進制(octal):以0o或者0O開頭,接0~7;
二進制(binary):以0b或者0B開頭,接0~1.
想要將數字轉換為十進制的,可以用int(數值)方法:如int(0o100)=64;
想要將數字轉換為八進制的,可以用oct(數值)方法,如oct(0x40)= 0o100;
想要將數字轉換為十六進制的,可以用hex(數值)方法,如hex(64)= 0x40;
想要將數字轉換為二進制的,可以用bin(數值)方法,如bin(64)= 0b1000000;
3,使用如下的方法可以將integer I 轉換為十六進制數、八進制數、二進制數:
hex(I)、oct(I)、bin(I)。
4,復數 complex numbers。由實數+虛數組成。其中,虛數要以j或者J結尾。復數可以沒有實數部分。
5, str()和repr()這兩個方法都是可以將數值轉換為字符串,不同的是,str()對用戶比較友好,repr()對Python比較友好。但通常情況下,它們都是相同的。
6,在Python中,除法分為三種:
6.1,true:表示真正的除法,返回值包含小數部分,屬于float型,而不管除數和被除數是什么類型的數據。跟數學里面的除法概念吻合;
6.2,classic:如果除數或被除數之一是float類型的數據,classic除法的商保留小數部分,為float型數據。而如果除數和被除數皆為integer,則商會去掉小數部分,往下取整(比如,本來是2.6,取整后為2。而本來是-2.7,取整后為-3)。
6.3,floor:這種除法的商會去掉小數部分,向小的方向靠攏。如果除數和被除數皆為integer 類型,這商也是integer。而如果除數和被除數之一是float型,則商也是float型。
7, 在Python 2.X中,/表示classic型除法,//表示floor型除法。
在Python 3.x中,/表示true型除法,//表示floor型除法。
Python 3.x已經沒有classic型除法了。
ps: 如果在Python2.x中想要用到3.x的除法,可以在開頭加入這樣的statement:
from __future__ import division
8,為了讓代碼在Python2.x和3.x中都兼容,如果需要取整的操作,總是用//比較好。
9,在math模塊中,提供了floor和trunc的方法。非常有用:
>>>import math >>>math.floor(2.5) # closest number below value 2 >>>math.floor(-2.5) -3 >>>math.trunc(2.5) # truncate fractional part 2 >>>math.trunc(-2.5) -2 注意:int(I)也有truncate的功能。
10, 在Python中,實部和虛部都是float型的,虛部以j或者J結尾。
11,在Python 2.x中,八進制可以以0開頭,但是在Python 3.x中,不能以0開頭,一定要以0o或者0O開頭!
12,位的運算bitwise operations
<<表示位向左移動 >>表示位向右移動 | 表示或運算 & 表示AND運算 ^ 表示異或運算(兩者不同為1,相同為0)
可以用bit_lenth()方法計算二進制數有多少位。或者len(bin())-2。因為len()會包含開頭的0b這兩位。
13,位的運算對Python這種高級語言不重要,如果需要做很多位運算,應該考慮低級語言如C語言。
14,round()方法可以做小數的四舍五入。如round(3.78)= 4.0, round(3,789, 2) = 3.79, round()里面的第二個參數表示的是保留多少位小數。
15,Python中的pow()函數用來計算指數。比如pow(2,4)=16, 和 2 ** 4一樣的結果。
16,Python中,有自帶的min和max()方法。min和max方法接受任意個多帶帶的參數。如min(3, 1, 2, 4)= 1.
17,Python中有sum方法,可以將一列數相加起來,但是這列數應該寫在括號內作為一個sequence,比如sum((1,2,3,4)) = 10,也可以是這樣的sum([1, 2, 3, 4])。
18,abs函數可以取絕對值。
19,在Python中,有三種方法可以計算平方根:
A, math.sqrt(144) #Module B, 144 ** .5 #Expression C, pow(144, .5) #Built-in
20, 在Python中,計算0.1 + 0.1 + 0.1 – 0.3 并不會得到0這個準確的值。這是由于計算機由于缺少精確度而無法精確地保存數據引起的。這個時候,decimal模塊很好的解決了這個問題,通過調用decimal模塊的Decimal構造函數,把數據轉換為str型傳入,再進行運算,結果就會返回精確的0,如下:
from decimal import Decimal print Decimal("0.1") + Decimal("0.1") + Decimal("0.1") - Decimal("0.3")
結果:0.0
如果傳入的參數仍然是float型,將無法獲得這個結果。
21,使用Decimal()函數的時候。也可以設定全局精確度:
decimal.getcontext().prec = 4 #設定全局精確度為4位小數。
22,使用Fraction()函數,也可以獲得和Decimal()一樣的精確效果。Fraction()函數位于fractions 模塊中,需要先import才可以使用。
Fraction(numerator, denominator),會自動的簡化分數。
Fraction()還可以將str參數轉換為分數,比如Fraction(‘.25’)=Fraction(1, 4)
23, 初始化一個空的set,使用S = set()。創建一個新的set并且賦值,使用 S = {1, 2, 3, 4}。后續若需再想set里面增加item,可以用S.add(‘…’)
24, set的運算,&表示交集,| 表示并集,- 表示差別,> 表示super set,返回布爾值。這些運算必須都是set類型。
25,union也可以用來創造出并集運算。Union里的參數可以是list,可以是set,還可以是tuple。
{1,2, 3}.union([3, 4])
{1,2, 3}.union({3, 4})
26,intersection也可以用來計算交集,參數可以是list,可以是set,還可以是tuple。
27,issubset()函數可以判斷某set是否是令一個set的子集
28,set和tuple的區別:
Set在后續可以增加值,減少值,但tuple不能 Set里面的值必須是互不相同的,但tuple可以接受相同的值。 Set可以內嵌tuple,不能內嵌list,dictionary。
http://blog.csdn.net/u0103675...
29,set comprehensions
{x ** 2 for x in [1, 2, 3, 4]} {16, 1, 4, 9}
30, set可以用來過濾掉重復的item:
>>> L = [1, 2, 1, 3, 2, 4, 5] >>> set(L) {1, 2, 3, 4, 5}
31,set的運算:
>>> engineers = {"bob", "sue", "ann", "vic"} >>> managers = {"tom", "sue"} >>> "bob" in engineers # Is bob an engineer? True >>> engineers & managers # Who is both engineer and manager? {"sue"} >>> engineers | managers # All people in either category {"bob", "tom", "sue", "vic", "ann"} >>> engineers - managers # Engineers who are not managers {"vic", "ann", "bob"} >>> managers - engineers # Managers who are not engineers {"tom"} >>> engineers > managers # Are all managers engineers? (superset) False >>> {"bob", "sue"} < engineers # Are both engineers? (subset) True >>> (managers | engineers) > managers # All people is a superset of managers True >>> managers ^ engineers # Who is in one but not both? {"tom", "vic", "ann", "bob"} >>> (managers | engineers) - (managers ^ engineers) # Intersection! {"sue"}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/38303.html
摘要:此時不要在這里面的右邊加入,否則會被當做。,這個式子可以將二進制數,轉換為十進制的。需要注意的是,需要加上,表示。下面,表示括號內的第一個參數,表示第二個參數。 1, 字符串的連接concatenate有兩種方式:A:直接寫在一起: >>> title = Meaning of Life # Implicit concatenation >>> title Meaning of L...
摘要:可以連接,可以重復可以將兩個連接在一起可以重復任意次數如中,號作用于表示連接,而作用于數字表示加法,操作符的作用會根據其作用的對象而有所適應。中的對象被分類為和。針對的核心類型,數字字符串和都是的。 1, >>> len(str(3)) 結果是1,len不能對數字求值,需要先將數字轉換為str 2, math模塊中,有許多工具可以用來計算數學問題。使用math模塊,先導入math: i...
摘要:,可以對對象進行自動地回收。如下,這種情況的發生表示隨改變了,應該意識到這個問題。代表引用相同則返回,否則,返回。這個判斷會更加嚴格。的值為的兩個量,其必定也是。,和指向了不同的。,由于會存儲一些小的和小的以方便重新利用。 1, 在Python中,類型永遠跟隨object,而非variable。Variable沒有類型。 2,在下面的三個式子中,a首先被賦予整形3,再被賦予字符串‘sp...
摘要:,如何一個方法一使用方法二使用方法方法三使用方法,按升序或降序排列表示升序表示降序和會返回。而僅能刪除一個。使用方法可以避免這樣的錯誤導致程序出現。,在中,的方法返回的不再是。不過可以使用強迫它們組成一個。 Chapter 8 Lists and Dictionaries1, list的concatenation 和 repetition 操作: >>> [1, 2, 3] + [4,...
閱讀 2636·2021-11-18 10:07
閱讀 1089·2021-08-03 14:04
閱讀 731·2019-08-30 13:08
閱讀 2585·2019-08-29 15:33
閱讀 1099·2019-08-29 14:07
閱讀 2997·2019-08-29 14:04
閱讀 1447·2019-08-29 11:19
閱讀 1152·2019-08-29 10:59