希望今兒晚上的大風可以趕走霧霾~~~
轉入正題:
數字是不可更改型別,也就是說變更數字會生成新的物件,可以通過id(a)醬紫的函式證明~
變更數字其實是生成了新的數值物件並且得到它的引用。
python中的主要數字型別:
整形:布林型別+標準整形+長整形:
布林整形只有兩個值
標準整形:八進位制整形以0開始,十六進製制則以0x開始。
長整形在末尾加l(例如:1234567890l)
雙精度浮點型:
浮點型值通常都有乙個小數點和乙個可選的字尾e(大寫或小寫,表示科學計數,例如96e3*1.0,表示96000.0)
另外還有複數,簡單介紹一下複數的內建屬性們~
acomplex = -8.356-1.5j
print acomplex.real
print acomplex.imag
print acomplex.conjugate()
功能分別是取得實數部分,複數部分和共軛複數。
數字操作符:
在數字運算時,首先要保證運算元是相同型別,因此,python有自動資料型別轉換:
如果有乙個運算元是複數,另乙個運算元被轉換為複數
否則,如果有乙個運算元是浮點型,另乙個運算元轉換為浮點型
否則,如果有乙個運算元是長整形,另乙個運算元轉換為長整形
否則,兩個必然都是普通整形,無需轉換
算數操作符:重點說一下除法咯:
print 1/2
print 1.0/2.0
的輸出結果為:
>>>
00.5
>>>
可見,整形除法會自動捨去小數部分,返回乙個整形(地板除)
真正的除法:
from __future__ import division
print 1/2
print 1.0/2.0
醬紫就可以使輸出結果成為:
>>>
0.50.5
>>>
下面說一下冪運算的優先順序:
print 3**2
print -3**2
print 4.0**-1.0
冪運算操作符比其左側運算元的一元操作符優先順序低,比其右側運算元的一元操作符優先順序高:
因此輸出結果為:
>>> 9-9
0.25
另外,位操作符~(取反)、<< >>(左右移位)、&(與)、^(異或)、|(按位或)都只適用於整型。
內建函式與工廠函式:
轉換工廠函式:int() long() float() complex()可以用來將其他數值型別轉換為相應數字型別
功能函式:
divmod()把除法和取餘運算結合,返回乙個包含商和餘數的元組;
pow()可以進行指數運算
round()用於對浮點型進行四捨五入運算,它有乙個可選的小數字數引數。
import math
print divmod(10,3)
print pow(2,5)
print round(math.pi,10)
輸出結果:
>>>
(3, 1)
323.1415926536
>>>
函式int() round() math.floor()不同之處
int函式直接擷取小數部分,返回整型
floor函式得到最接近原始數字但是小於原始數字的整型,返回浮點型
round得到最接近原始數字的整數,返回型別為浮點型
僅適用於整型的內建函式:
hex(num):將數字轉化為16進製制並以字串形式返回
oct(num):將數字轉化為8進製並以字串形式返回
chr(num):將ascii值的數字轉化成ascii字元
布林「數」
class c:
def __nonzero__(self):
return false
c = c()
print bool(c)
print bool(c)
輸出結果:
>>>
false
true
>>>
數字章節就到這裡啦~大家晚安~~
生成唯一碼
根據年月日 隨機數獲取19位的資料序列 public static long getrandomid 根據年月日 隨機數獲取19位的資料序列 public static long gethashcodeid var num 19 s.length var f datetime.now.tostrin...
python 基於 uuid 生成唯一碼
一 概述 uuid是128位的全域性唯一識別符號,通常由32位元組的字串表示。它可以保證時間和空間的唯一性,也稱為guid,全稱為 uuid universally unique identifier python 中叫 uuid guid globally unique identifier c ...
獲取裝置唯一碼
有些企業內部程式需要對訪問程式的真機做白名單限制,對於裝置唯一碼,蘋果做出了如下限制 1.從ios7之後,獲取mac位址會返回固定值 02 00 00 00 00 00 2.試圖獲取udid 裝置唯一碼 的程式不會通過蘋果的審核。我們可以在程式第一次啟動時生成這個id並儲存起來,但是,如果使用者刪除...