python decimal 转 float_python教程之二python数学运算
存儲數(shù)據(jù)變量
#兩個(gè)變量交換值,通過第三個(gè)參數(shù)實(shí)現(xiàn)
print('兩個(gè)變量交換值,通過第三個(gè)參數(shù)實(shí)現(xiàn)'); #第一種方法是通過第三個(gè)參數(shù)實(shí)現(xiàn)
x=5;#變量賦值
y=11; #變量賦值
print('交換前',x,y);
temp=x;
x=y;
y=temp;
print('交換后',x,y);
#兩個(gè)變量交換值,更便捷的方法
print('兩個(gè)變量交換值,更便捷的方法');
x,y=100,200;
print('交換前',x,y);
x,y=y,x;
print('交換后',x,y);
Python整數(shù)類型
number=int(input('請輸入一個(gè)數(shù)值->'));#界面手動(dòng)輸入數(shù)值,賦值給number
print('類型:',type(number));#輸出number類型
print('二進(jìn)制:',bin(number));#函數(shù)bin將number轉(zhuǎn)換成二進(jìn)制
print('八進(jìn)制:',oct(number));#函數(shù)oct將number轉(zhuǎn)換成八進(jìn)制
print('十六進(jìn)制:',hex(number));#函數(shù)hex將number轉(zhuǎn)換成十六進(jìn)制
print('十進(jìn)制:',number);#本身輸入的值就是十進(jìn)制
print('使用format函數(shù)刪除前綴字符:');
print('二進(jìn)制:',format(number,'b'));#函數(shù)format打印二進(jìn)制number去掉前綴Ob
print('八進(jìn)制:',format(number,'o'));
print('十六進(jìn)制:',format(number,'x'));
Python浮點(diǎn)數(shù)類型
1、浮點(diǎn)數(shù)例子
import math #導(dǎo)入math庫,即可以使用math里面的函數(shù)
#正負(fù)無窮:float("inf"), float("-inf")
a=1E309
print('a=1E309,輸出',a) #a輸出inf
print('is NaN?',math.isnan(float(a/a))) # not-a-number非數(shù)值類型
b=-1E309
print('b=-1E309,輸出',b) #b輸出-inf
print('is inf?',math.isinf(float(b))) #輸出true
#decimal模塊:decimal意思為十進(jìn)制,這個(gè)模塊提供了十進(jìn)制浮點(diǎn)運(yùn)算支持
from decimal import Decimal
num1=Decimal('0.5534')
num2=Decimal('0.427')
num3=Decimal('0.37')
print('相加',num1+num2+num3)
print('相減',num1-num2-num3)
print('相乘',num1*num2*num3)
print('相除',num1/num2)
復(fù)數(shù)類型
復(fù)數(shù)由實(shí)部(real)和虛部(imag)構(gòu)成,在 Python 中,復(fù)數(shù)的虛部以j或者J作為后綴,具體格式為:a + bj 或 a + bJ,例子如下:
>>> a=13+5j #復(fù)數(shù)a變量賦值
>>> a.real #復(fù)數(shù)a的實(shí)部
13.0
>>> a.imag #復(fù)數(shù)a的虛部
5.0
>>> a.conjugate() #獲取復(fù)數(shù)a的共軛復(fù)數(shù)
(13-5j)
>>> type(a) #復(fù)數(shù)類型
1、基本加減乘除
num1=3+5j
num2=2-4j
print('num1',num1) #打印數(shù)值num1
print('num2',num2) #打印數(shù)值num2
resultAdd = num1 + num2 #兩數(shù)相加
print('num1+num2',resultAdd) #打印兩數(shù)相加結(jié)果
resultSub = num1-num2#兩數(shù)相減
print('num1-num2',resultSub) #打印兩數(shù)相減結(jié)果
resultMul = num1 * num2#兩數(shù)相乘
print('num1*num2',resultMul) #打印兩數(shù)相乘結(jié)果
resultDiv = num1/num2#兩數(shù)相除
print('num1/num2',resultDiv) #打印兩數(shù)相除
有理數(shù)
python中進(jìn)行分?jǐn)?shù)(fraction)運(yùn)算
分?jǐn)?shù)運(yùn)算是python中的一個(gè)模塊(module)。模塊是由別人寫的,并且可以被拿來直接使用的代碼程序,包括類、函數(shù)以及標(biāo)簽的定義,是python標(biāo)準(zhǔn)函數(shù)庫的一部分。使用是必須先插入模塊。
>>> from fractions import Fraction #插入模塊
>>> f =Fraction(1,2) #創(chuàng)建Fraction 類,并初始化為1/2
>>> f #輸出分?jǐn)?shù)類對象
Fraction(1, 2)
#輸入分?jǐn)?shù)Fraction開頭字母必須大寫,否則會報(bào)錯(cuò)。
#對分?jǐn)?shù)進(jìn)行運(yùn)算
>>> Fraction(2,8)+1+1.5
2.75
運(yùn)算中如果出現(xiàn)float數(shù)據(jù)類型,最終的結(jié)果將是float類型數(shù)據(jù)。如果運(yùn)算式中只有integer類型和fraction類型,輸出結(jié)果將是fraction類型。
>>> Fraction(2,8)+Fraction(2,5)+3
Fraction(73, 20)
Fraction()方法可以直接接收分?jǐn)?shù)字符串變成輸入,注意輸入的分?jǐn)?shù)要加引號
>>> a = Fraction('1/5')
>>> a
Fraction(1, 5)
>>> Fraction('0.3') #直接輸入小數(shù),Fraction方法直接把小數(shù)變成分?jǐn)?shù)
Fraction(3, 10)
>>> from decimal import Decimal
>>> Fraction(1.1)
Fraction(11, 10)
把字符串變成小數(shù),需要用到decimal類,然后把小數(shù)變成分?jǐn)?shù)。
>>> from decimal import Decimal
>>> Fraction(Decimal('1.1'))
Fraction(11, 10)
先把1.1字符串變成小數(shù),然后再變成分?jǐn)?shù)。
表達(dá)式
python表達(dá)式是值,變量和操作符(或叫運(yùn)算符)的組合。單獨(dú)的一個(gè)值是一個(gè)表達(dá)式,單獨(dú)的變量也是一個(gè)表達(dá)式。運(yùn)算符和操作數(shù)一起構(gòu)成表達(dá)式,操作數(shù)可以使用標(biāo)識符表示,如a=3;b=2;c=a*b,表達(dá)式是python程序最常見的代碼
import math
num1,num2=eval(input('請輸入兩個(gè)數(shù)值,逗號分隔->'))#輸入兩個(gè)值,分別賦值給num1和num2
print(num1,'平方根:',math.sqrt(num1))#計(jì)算num1的平方根
print(num2,'平方根:',num2**0.5)#計(jì)算num2的平方根
print('數(shù)值',num1,'的3次方:',math.pow(num1,3))#計(jì)算num1的3次方
print('數(shù)值',num2,'的立方根:',math.pow(num1,1.0/3))#計(jì)算num2的立方根
print('余數(shù):',math.fmod(num1,num2))#計(jì)算num1對num2取余
print('兩數(shù)平方后相加再開根號:',math.hypot(num1,num2)) # (num1^2 + num2^2)**0.5
print('指數(shù)函數(shù):',math.e)
print('方法exp(4)=',math.exp(4))#計(jì)算4的指數(shù)
總結(jié)
1由于python是面向?qū)ο蟮恼Z言,可以用對象來表達(dá)數(shù)據(jù),所以每個(gè)對象都具有標(biāo)識符,類型和值
2標(biāo)識符命名規(guī)則必須遵循的第一個(gè)字符必須是英文字母或下劃線;其余字符可以搭配其他英文字母或數(shù)字;不能使用python關(guān)鍵字。
3python的數(shù)據(jù)類型中較常用的有整數(shù)、浮點(diǎn)數(shù)、字符串,他們都擁有不可變的特性。
4將十進(jìn)制數(shù)值轉(zhuǎn)換成其他進(jìn)制時(shí),bin()函數(shù)用于將其轉(zhuǎn)換成二進(jìn)制,oct()函數(shù)用于將其轉(zhuǎn)換成八進(jìn)制,hex()函數(shù)用于將其轉(zhuǎn)換成16進(jìn)制。
4bool()類型只有兩個(gè)值true和fasle,常在控制流中進(jìn)行邏輯判斷。需要注意的事,python采用數(shù)值1和0來代表true和false。
5浮點(diǎn)數(shù)就是含有小數(shù)的數(shù)值,在python的程序語言中,浮點(diǎn)數(shù)有三種:float精度浮點(diǎn)數(shù)、Complex復(fù)數(shù)。decimal表達(dá)數(shù)值更精確的小數(shù)位數(shù)。
6復(fù)數(shù)由實(shí)部和虛部組成。虛數(shù)的部分必須加上字符j或J,可以使用內(nèi)置函數(shù)complex()將數(shù)值類型轉(zhuǎn)化為復(fù)數(shù)類型。
7表達(dá)式由操作數(shù)與運(yùn)算符組成。操作數(shù)包含變量、數(shù)值和字符。運(yùn)算符包括算術(shù)運(yùn)算符、賦值運(yùn)算符、邏輯運(yùn)算符和比較運(yùn)算符。
總結(jié)
以上是生活随笔為你收集整理的python decimal 转 float_python教程之二python数学运算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 失物招领小程序_通知 | 保卫部拟设置失
- 下一篇: 微服务 注册中心_4.微服务架构的第二个