1. 程式人生 > >[Python入門及進階筆記]Python-基礎-數字小結

[Python入門及進階筆記]Python-基礎-數字小結

<style> <!-- h1, h2, h3, h4, h5, h6, p, blockquote {margin:0; padding:0} body {font-family:"Helvetica Neue",Helvetica,"Hiragino Sans GB",Arial,sans-serif; font-size:13px; line-height:18px; color:#737373; background-color:white; margin:10px 13px 10px 13px} table {margin:10px 0 15px 0; border-collapse:collapse} td, th {border:1px solid #ddd; padding:3px 10px} th {padding:5px 10px} a {color:#0069d6} a:hover {color:#0050a3; text-decoration:none} a img {border:none} p {margin-bottom:9px} h1, h2, h3, h4, h5, h6 {color:#404040; line-height:36px} h1 {margin-bottom:18px; font-size:30px} h2 {font-size:24px} h3 {font-size:18px} h4 {font-size:16px} h5 {font-size:14px} h6 {font-size:13px} hr {margin:0 0 19px; border:0; border-bottom:1px solid #ccc} blockquote {padding:13px 13px 21px 15px; margin-bottom:18px; font-family:georgia,serif; font-style:italic} blockquote:before {content:"\201C"; font-size:40px; margin-left:-10px; font-family:georgia,serif; color:#eee} blockquote p {font-size:14px; font-weight:300; line-height:18px; margin-bottom:0; font-style:italic} code, pre {font-family:Monaco,Andale Mono,Courier New,monospace} pre {display:block; padding:14px; margin:0 0 18px; line-height:16px; font-size:11px; border:1px solid #d9d9d9; white-space:pre-wrap; word-wrap:break-word} pre code {background-color:#fff; color:#737373; font-size:11px; padding:0} --> </style>

部落格遷往:新地址(點選直達)

新部落格使用markdown維護,線下有版本庫,自己寫的所以會定時更新同步,同時提供更好的導航和閱讀體驗 csdn對markdown支援不好,所以舊版不會花時間進行同步修訂,抱歉
---------------------

數字

python中的數字型別完整工具:整數&浮點數,複數,固定精度十進位制數,有理分數,集合,布林型別,無窮的整數精度,各種數字內建函式和模組

數型別

Python中有四種類型的數

整數:一般意義上的數,包含十進位制(無字首),八進位制(0開頭),十六進位制(0x開頭),二進位制(0b開頭)
eg.  2

長整數:無限大小的數,表示範圍和記憶體有關                
eg.   2012121200

浮點數:小數或用e/E(10的冪)表示的冪,預設,浮點數學缺乏精確性,可以使用decimal         
eg.   3.23      50.2E2

複數:複數的虛部以字母J 或 j結尾     
eg.    2+3i

1.分數

from fractions import Fraction
x = Fraction(1,3)
y = Fraction(4,6)

浮點數和分數轉換:

(2.5).as_integer_ratio()  #返回元組(5,2)
或者Fraction.from_float(1.75)

2.複數

a = 實數 + 虛數j
a.real  #實部
a.imag  #虛部
a.conjugate()  #共軛複數

虛數不能單獨存在, 總是和一個值為0.0的實數部分一起構成一個複數

實數部分和虛數部分都是浮點數

運算子

+加法
-減法
*乘法
**冪次(也可以使用內建的pow()函式來進行冪運算) 
/除法(2.x中是整除,3.x是浮點除)
//取整,商的整數部分強制整除(浮點數也會做整除運算)
%取餘(可以使用內建的divmod()函式獲得結果和餘數的元組)
&位與
|位或
^位異或
~位翻轉 x -> -(x+1)
<<左移
>>右移
值不相等 a != b

運算子優先順序,同級從左到右

BP:良好的做法是隨時根據優先順序需要加入括號,而不是依賴預設優先順序

內建函式

最常用round

1.abs(number)

返回數字的絕對值,

如果是複數, 返回math.sqrt(num.real2 + num.imag2)

2.coerce(number1, number2)

按照型別轉換規則,將num1和num2轉為同一型別,以元組形式返回

3.divmod(number1, number2)

返回一個包含商和餘數的元組

整數返回地板除和取餘操作結果

浮點數返回的商部分是math.floor(number1/number2)

複數的商部分是ath.floor((number1/number2).real)

4.pow(num1,num2,mod=1)

同**操作符

第三個為可選引數,即一個餘數操作,若存在這個引數,先指數,後與第三個引數取餘,效能比pow(x,y)%z更高

5.round(number[, base])

對浮點數進行四捨五入運算,base引數是小數位引數,決定了精確到小數點後幾位

6.其他

其他內建及工廠函式在後面型別轉換和進位制轉換中說明

型別轉換

轉換工廠函式主要在型別轉換和進位制轉換中用到

int(str, base=10) 轉換為整型數,base為相應的進位制;base的範圍是2~32,base預設十進位制

long(obj,base=10),  轉長整型


float(obj),轉浮點數


complex(str),complex(real, imag=0.0), 轉複數

bool(obj) 返回obj物件的布林值,即obj.__nonzero__()方法返回值,沒有__nonzero__()方法的物件預設值是True

string(),轉字串  

chr(num) ASCII數字值轉為字元

ord(chr) 字元轉對應ASCII/Unicode值

unichr(num) 接收Unicode碼值

進位制轉換

八進位制:0o1

十六進位制:0x10

二進位制0b1

1.十進位制到其他

oct(64)  #->8  
hex(64)  #->16
bin(64)  #->2

接收一個整型物件(任意進位制),返回對應值的字串

2.其他到十進位制

int(‘64’) 
int(‘100’,8)
int(‘40’,16)
int(‘1000000’,2)
#或者  
eval(‘64’)
eval(‘0o100’)
eval(‘0x40’)
eval(‘0b1000’)

其他

1.小整數快取

>>> a = -5
>>> b = -5
>>> a  is b
True
>>> a = -6
>>> b = -6
>>> a is b
False
>>> a = -6
>>> b = -6
>>> a is b
False
>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a  is b
False

看python原始碼可知,下限-5,上限256被設定為快取範圍。

2.除法關於傳統除法/真正除法/地板除傳統除法

>>> 1/2
0
>>> 1.0/2.0
0.5

真正除法

>>> from __future__ import division
>>> 1/2
0.5
>>> 1.0/2.0
0.5

地板除

>>> 1//2
0
>>> 1.0//2.0
0.0
>>> -1//2
-1

常用模組

math
random
decimal
operator  

下一篇數學常用模組中說明

The end!

To be continue

wklken

Email: [email protected]

Blog: http://blog.csdn.net/wklken

2013-03-09

轉載請註明出處,謝謝

相關推薦

[Python入門筆記]Python-基礎-字串小結

部落格遷往:新地址 (點選直達) 新部落格使用markdown維護,線下有版本庫,自己寫的所以會定時更新同步,同時提供更好的導航和閱讀體驗 csdn對markdown支援不好,所以舊版不會花時間進行同步修訂,抱歉 ------------------------ 字串 簡

[Python入門筆記]Python-基礎-集合小結

<style> <!-- h1, h2, h3, h4, h5, h6, p, blockquote {margin:0; padding:0} body {font-family:"Helvet

[Python入門筆記]Python-基礎-數字小結

<style> <!-- h1, h2, h3, h4, h5, h6, p, blockquote {margin:0; padding:0} body {font-family:"Helvet

[Python入門筆記]Python-基礎-函式小結

部落格遷往:新地址 (點選直達) 新部落格使用markdown維護,線下有版本庫,自己寫的所以會定時更新同步,同時提供更好的導航和閱讀體驗 csdn對markdown支援不好,所以舊版不會花時間進行同步修訂,抱歉 ----------------- 函式 簡介及定義 簡介

[Python入門筆記]Python-基礎-字典小結

部落格遷往:新地址(點選直達) 新部落格使用markdown維護,線下有版本庫,自己寫的所以會定時更新同步,同時提供更好的導航和閱讀體驗 csdn對markdown支援不好,所以舊版不會花時間進行同步修訂,抱歉 ----------------------- 字典 定義

[Python入門筆記00]-寫在前面(目錄/書籍/學習路線/其他)

最新系列在 入口 =============================================    學習Python有一段時間了,需要來一個階段性總結了     個人看書的模式是,一邊看書,一邊敲程式碼,一遍記筆記(record for search

標號(11):python(就業階段)——javascript入門

<1>javascript介紹 1、JavaScript是執行在瀏覽器端的指令碼語言 2、JavaScript主要解決的是前端與使用者互動的問題,包括使用互動與資料互動,JavaScript是瀏覽器解釋執行的。 3、瀏覽器彈窗 <script> alert(

python前端JavaScript入門

知識點預習 1、js基本使用2、js變數定義及型別 3、js函式定義及預解析 4、js獲取標籤 5、js讀寫標籤屬性 00-JavaScript簡介 JavaScript是執行在瀏覽器端的腳步語言,JavaScript主要解決的是前端與使用者互動的問題,包括使用互動與資料互動。 JavaScri

python入門篇(六)之高階語法用法

    高階知識針對包、類庫的開發者,函式只是一段可執行的程式碼 並不是物件,閉包、函數語言程式設計 閉包=函式+環境變數 a=10 def outer(): a=25 def inner(x): print(a*x*x) retu

限時領取 | 人工智慧入門必讀Python書籍PDF!

Python是一門簡單易學,功能強大的程式語言。它具有高效的高階資料結構和簡單而有效的面向物件程式設計方法。Python優雅的語法和動態型別以及其解釋性的性質,使它在許多領域和大多數平臺成為編寫指令碼和快速應用程式開發的理想語言。今天小編就給大家推薦3本Python相關的書籍。(想獲取本書電子版可以

python入門篇(二)之變數和運算子

變數 變數的命名規則:    字母、數字、下劃線組成,   系統關鍵字不能在變數名中 如and、if、import   變數名區分大小寫   變數沒有型別限制 同js   系統方法名建議不用來做變數名,避免造成衝突 如type print   Int str t

python入門篇(四)之包、模組、函式與變數作用域

python專案的組織結構 包(資料夾)-->模組(檔案)-->類-->函式和變數   seven.c4、six.c4:(seven)包名.模組名(c4) 構成名稱空間 seven包的結構: seven    --t(子包)        --

Python入門,這本書有什麼不同?

人們常說Python語言簡單,編寫簡單程式時好像也確實如此。但實際上Python絕不簡單,它也是一種很複雜的語言,其功能特徵非常豐富,能支援多種程式設計風格,在幾乎所有方面都能深度定製。要想用好Python,用它解決複雜問題,開發功能正確的、效率高的程式,需要很好地理解上面說

Python如何賺錢? python爬蟲如何python就業? 如何快速入門python? .....

1、如何快速入門 Python ? 我之前給大家說過,速成一門技能是不可能的,你需要花很多時間才能真正的掌握一門技能,但是快速入

全面解讀JavaScript入門,100%基礎知識掌握!

isnan cookies dom 事件 document 動態 情況 blue tint mat 一、JavaScript 簡介 1、JavaScript 是 Web 的編程語言,是前端開發必須掌握的三門語言之一,即: HTML 定義了網頁的內容 CSS

最新玩轉資料結構從入門 資料結構基礎

第1章 歡迎學習《玩轉資料結構》歡迎大家學習《玩轉資料結構》課程。在這個課程中,我們將從底層實現諸多資料結構,從簡單,到複雜,並且探索他們的應用。在這一章,我們將來看一看資料結構的具體作用,學習資料結構的誤區,學習這個課程的注意事項,和課程環境的基本搭建:) ...第2章 不要小瞧陣列陣列,看似是最

程式語言入門、設計模式、面向物件書籍

1. Python Python 基礎教程 Automate the Boring Stuff with Python(繁瑣工作自動化) 前六章,python 語言基礎; 其後便是一些自動化實現

System.Web.Routing入門 下篇

上面介紹的是最簡單的一種定義方式。當然我們可以建立更復雜的規則。其中就包括設定規則的預設值以及設定規則的正則表示式。 UrlRouting高階應用 預計效果: 當我訪問/a/b.aspx時就會轉到Default.aspx?category=a&action=b在頁面上顯示 cate

System.Web.Routing入門 上篇

System.Web.Routing已經作為一個程式集包含在.net3.5sp1中釋出了。雖然我們並沒有在3.5sp1中發現Asp.net Mvc的蹤跡,但是亦以感覺到它離我們不遠了。 System.Web.Routing用於在Asp.net的Web應用程式中進行URLRouting。 所謂UrlRo

Python3入門筆記(三):迴圈

表示式的優先順序:    例:        a=1        b=2        c=2        not a or b + 2 == c + 2 結果為 True,等價於 ( ( not a ) or ( b + 2 ) ) == ( c + 2 )迴圈