數(shù)字日期和時(shí)間(cookbook筆記)

數(shù)字日期和時(shí)間

數(shù)字的四舍五入

  • 簡單的四舍五入使用round()
  • 當(dāng)一個(gè)值剛好在兩個(gè)邊界的中間的時(shí)候昼扛, round 函數(shù)返回離它最近的偶數(shù)。 也就是說,對1.5或者2.5的舍入運(yùn)算都會(huì)得到2疫稿。
  • 傳給 round() 函數(shù)的 ndigits 參數(shù)可以是負(fù)數(shù)蟋定,這種情況下粉臊, 舍入運(yùn)算會(huì)作用在十位、百位驶兜、千位等上面扼仲。比如
>>> round(1.23, 1)
1.2
>>> round(1.27, 1)
1.3
>>> round(1.25361,3)
1.254
>>> a = 1627731
#個(gè)位
>>> round(a, -1)
1627730
#十位
>>> round(a, -2)
1627700
#百位
>>> round(a, -3)
1628000
>>>

精確的浮點(diǎn)數(shù)運(yùn)算使用decimal

>>> from decimal import Decimal
>>> a = Decimal('4.2')
>>> b = Decimal('2.1')
>>> a + b
Decimal('6.3')
>>> print(a + b)
6.3
>>> (a + b) == Decimal('6.3')

復(fù)數(shù)運(yùn)算

>>> a = complex(2, 4)
>>> b = 3 - 5j
>>> a
(2+4j)
>>> b
(3-5j)
#對應(yīng)的實(shí)部、虛部和共軛復(fù)數(shù)可以很容易的獲取
>>> a.real
2.0
>>> a.imag
4.0
>>> a.conjugate()
(2-4j)
  • 如果要執(zhí)行其他的復(fù)數(shù)函數(shù)比如正弦抄淑、余弦或平方根屠凶,使用 cmath 模塊
>>> import cmath
>>> cmath.sin(a)
(24.83130584894638-11.356612711218174j)
>>> cmath.cos(a)
(-11.36423470640106-24.814651485634187j)
>>> cmath.exp(a)
(-4.829809383269385-5.5920560936409816j)
>>>

分?jǐn)?shù)運(yùn)算

>>> from fractions import Fraction
>>> a = Fraction(5, 4)
>>> b = Fraction(7, 16)
>>> print(a + b)
27/16
>>> print(a * b)
35/64

大型數(shù)組運(yùn)算

>>> import numpy as np
>>> x = [1, 2, 3, 4]
>>> y = [5, 6, 7, 8]
>>> x * 2
[1, 2, 3, 4, 1, 2, 3, 4]
>>> x + 10
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    TypeError: can only concatenate list (not "int") to list
>>> x + y
[1, 2, 3, 4, 5, 6, 7, 8]
>>> import numpy as np
>>> ax = np.array([1, 2, 3, 4])
>>> ay = np.array([5, 6, 7, 8])
>>> ax * 2
array([2, 4, 6, 8])
>>> ax + 10
array([11, 12, 13, 14])
>>> ax + ay
array([ 6, 8, 10, 12])
>>> ax * ay
array([ 5, 12, 21, 32])

隨機(jī)選擇

  • 從一個(gè)序列中隨機(jī)抽取若干元素
>>> import random
>>> values = [1, 2, 3, 4, 5, 6]
>>> random.choice(values)
2
>>> random.choice(values)
3
  • 提取出N個(gè)不同元素的樣本用來做進(jìn)一步的操作
>>> random.sample(values, 2)
[6, 2]
  • 如果你僅僅只是想打亂序列中元素的順序,可以使用 random.shuffle()
>>> random.shuffle(values)
>>> values
[2, 4, 6, 5, 3, 1]
  • 生成隨機(jī)整數(shù)肆资,請使用 random.randint()
>>> random.randint(0,10)
2
>>> random.randint(0,10)
5
  • 生成0到1范圍內(nèi)均勻分布的浮點(diǎn)數(shù)
>>> random.random()
0.9406677561675867

基本的日期與時(shí)間轉(zhuǎn)換

  • 為了執(zhí)行不同時(shí)間單位的轉(zhuǎn)換和計(jì)算矗愧,請使用 datetime 模塊。
>>> from datetime import timedelta
>>> from datetime import datetime
>>> a = timedelta(days=2, hours=6)
>>> b = timedelta(hours=4.5)
>>> c = a + b
>>> c.days
2
>>> c.seconds
37800
>>> c.seconds / 3600
10.5
>>> a = datetime(2012, 9, 23)
>>> print(a + timedelta(days=10))
2012-10-03 00:00:00
>>> b = datetime(2012, 12, 21)
>>> d = b - a
>>> d.days
89
>>> now = datetime.today()
>>> print(now)
2012-12-21 14:54:43.094063
>>> print(now + timedelta(minutes=10))
2012-12-21 15:04:43.094063
>>>

字符串轉(zhuǎn)換為日期

>>> from datetime import datetime
>>> text = '2012-09-20'
>>> y = datetime.strptime(text, '%Y-%m-%d')
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末郑原,一起剝皮案震驚了整個(gè)濱河市唉韭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌犯犁,老刑警劉巖属愤,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異酸役,居然都是意外死亡住诸,警方通過查閱死者的電腦和手機(jī)驾胆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贱呐,“玉大人丧诺,你說我怎么就攤上這事⊙俎保” “怎么了锅必?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惕艳。 經(jīng)常有香客問我搞隐,道長,這世上最難降的妖魔是什么远搪? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任劣纲,我火速辦了婚禮,結(jié)果婚禮上谁鳍,老公的妹妹穿的比我還像新娘癞季。我一直安慰自己,他們只是感情好倘潜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布绷柒。 她就那樣靜靜地躺著,像睡著了一般涮因。 火紅的嫁衣襯著肌膚如雪废睦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天养泡,我揣著相機(jī)與錄音嗜湃,去河邊找鬼澜掩。 笑死购披,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肩榕。 我是一名探鬼主播刚陡,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼株汉!你這毒婦竟也來了筐乳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤郎逃,失蹤者是張志新(化名)和其女友劉穎哥童,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褒翰,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了优训。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朵你。...
    茶點(diǎn)故事閱讀 39,764評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖揣非,靈堂內(nèi)的尸體忽然破棺而出抡医,到底是詐尸還是另有隱情,我是刑警寧澤早敬,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布忌傻,位于F島的核電站,受9級特大地震影響搞监,放射性物質(zhì)發(fā)生泄漏水孩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一琐驴、第九天 我趴在偏房一處隱蔽的房頂上張望俘种。 院中可真熱鬧,春花似錦绝淡、人聲如沸宙刘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悬包。三九已至,卻和暖如春馍乙,著一層夾襖步出監(jiān)牢的瞬間玉罐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工潘拨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吊输,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓铁追,卻偏偏與公主長得像季蚂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子琅束,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容