Python[基础]笔记回顾(二)

Python[基础]笔记回顾(二) By:XLY23333

第二章 基本数据类型

一.数字类型

Pyhthon提供3种数字类型:整数(int)、浮点数(float)、复数

(一)整数类型< int >
1.整型的四个进制

十进制、二进制、八进制、十六进制

进制种类引导符号描述
进制0b0B由字符0和1组成0b1010
进制0o0O由字符0 ~ 7组成0o12
进制None默认情况10
十六进制0x0X由字符0~9 ,a~f 或A~F组成0xa
2.整型进制间的相互转换

bin(x) 将x转换为进制整型

oct(x) 将x转换为进制整型

int(x) 将x转换为进制整型

hex(x) 将x转换为十六进制整型

a=b=c=d=10
print(bin(a))#二进制
print(oct(b))#八进制
print(int(c))#十进制
print(hex(d))#十六进制

ouput

0b1010
0o12
10
0xa
3.不同数据类型间的转换

type(x) 对x变量类型进行判断

int(x) 将x转换整型

float(x) 将x转换浮点型

str(x) 将x转换字符串型

ps:除法(/)浮点数输入自动 < int > → \rightarrow < float >,其他eval进的变量均为**< int >,未eval进的为< str >**

a=b=c=d=10#均为int
a=type(a)#判断类型
print(type(a))
b=int(b)#整型→整型
print(type(b))
c=float(c)#整型→浮点型
print(type(c))
d=str(d)#整型→字符串型
print(type(d))

output

<class 'type'>
<class 'int'>
<class 'float'>
<class 'str'>
(二)浮点数类型< float >
1.浮点型的小数要求

Python语言中要求浮点型必须带有小数部分

2.浮点型的表示方式

两种方式:一般表示法科学计数法

表示法结构解释
一般表示法同一般的小数同一般的小数114.514
科学计数法< A >e< B >A$\times$10B1.14514e+2
3.运算精度属性

整型的运算精度比浮点型

4.不确定尾数问题

受限于计算机表示浮点数使用的存储宽度,计算的二进制数并不是0.1和0.2,而是计算机内部最接近0.1和0.2的二进制数。求得的数反映到十进制表示上,就会产生一个不确定的尾数,至于尾数的多少,计算机内部会根据二进制运算确定产生,浮点数大都是一个近似的值。

print(0.1+0.2)
#output:0.30000000000000004
if 0.1+0.2==0.3:
    print("True")
else:
    print("False")
#output:False
#0.1+0.2=0.30000000000000004≠0.3

同样的情况c/c++也存在

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{float a,b,c;
cin>>a>>b;
c=a+b;
cout<<"数据测试:c=a+b"<<endl; 
cout<<"常规cout输出:c="<<c<<endl;
cout<<"cout-20位小数输出:c="<<setprecision(20)<<c<<endl;
printf("printf默认输出:c=%f\n",c);
cout<<"测试c是否等于0.3:"; 
if(c==0.3) cout<<"YES!";
	else cout<<"NO!";
return 0;}

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.四舍五入函数 round()
(1)round() 函数

round(<Number$>)

round(< Number >,< 保留位数 >)

(2)四舍五入到整数位数

round(< Number >)

print(round(2.7))
#output:3
print(round(2.4))
#output:2
(3)四舍五入到指定小数位数
round(< Number >,<正整数>)

保留<正整数>位的小数

print(round(114.514,1))#保留一位小数
#output:114.5
print(round(114.514,2))#保留两位小数
#output:114.51
(4)四舍五入到指定整数位数

round(< Number >,<负整数>)

保留到10|<负整数>|

print(round(121212,-2))#保留到10的二次方[100]位(百位)
#output:121200
print(round(121212,-3))#保留到10的三次方[1000]位(千位)
#output:121000
(5)*银行家舍入法 ROUND HALF EVEN

“5入"情况遵循"银行家舍入法”(ROUND HALF EVEN):

如果数字与两边(相同位数)的数字相等,就向偶数方向舍入,如果不相等,就是就近舍入。

(Round to nearest with ties going to nearest even integer.)

即:"5入"情况要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即"5入"后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位

print(round(1.4))#不进位
#ouput:1
print(round(1.5))#舍‘5’位
#output:1
print(round(2.5))#进位
#output:2
print(round(2.51))#一定进位
#output:3
(三)复数类型
1.基本定义

基本单位元素: j,定义j2=-1

2.复数表示

a+bj

abjbj
实数&实部复部复数单位复数

ps:若b=1,则1不可省略

复数中的实虚部都是浮点型< float >

3.获取复数的实虚部

< Plural >.real

< Plural >.imag

z=3+2j;
print(z.real)#取实部
print(z.imag)#取虚部

output

3.0
2.0
(四)数字类型的运算
1.数值运算操作符

output-type:

int之间 → \rightarrow 操作符有关

intfloat → \rightarrow float

int/floatPlural → \rightarrow Plural

操作符及运算描述操作符及运算描述
x+y求和x-y求差
x*y求积x/y求商(output:< float >)
x//y商后取整(整除)x%y商后取余(取余)
x**yx的y次幂
-x一个数的负数+x一个数的本身
2.数值运算函数
运算函数描述
abs(x)x的绝对值
divmod(x,y)(x//y,x%y),输出为二元组
pow(x,y)pow(x,y,z)x**y或**(x**y)%z**
round(x)round(x,d)对x的值保留d位小/整数
max(x1,x2, ⋯ \cdots ,xn)取最
min(x1,x2, ⋯ \cdots ,xn)取最
3.其他操作符
(1)逻辑
操作符描述
and布尔“
or布尔“
not布尔“
(2)比较
操作符描述操作符描述
<小于<=小于等于
>大于>=大于等于
==等于!=不等于
(3)bool判断
对象/常量对象/常量
“”Flase“python”Ture
0Flase1Ture
>=1Ture<=1Ture
[]空列表Flase()空元组Flase
{}空字典FlaseNoneFlase
(4)位运算操作(二进制)
操作符操作含义示例操作符操作含义示例
&按位a&b|按位a|b
~按位取反~a^按位异或a^b
<<a<<b>>带符号右a>>b

这里额外补充-下怎么将十进制转换为=进制:
将一个十进制正整数转换为二进制数的时候,只需要通过除2取余的方法即可;将1个十进制负整数转换为二进制数需要以补码的形式表示,其转换方式,简单的一句话就是:先按正数转换,然后取反加1
按位与(&):都是1,才取1,否则为0。
按位或(|):存在1,就取1,均不为1,即为0。
按位取反(~):每个位上都取相反值,1变成0, 0变成1。
按位异或(^):存在两个二进制数,当相应位上的数字不相同时,才取1,若相同,即为0。
左移(<<n):将-个数各二进制位全部向左移动若干位。(就相当于在右边加n个0)
右移(>>n):将-个数各二进制位全部向右移动若干位。(就相当于在左边加n个0)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值