数据类型
Posted wenrouduidai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型相关的知识,希望对你有一定的参考价值。
#1.整型
number = int(input(‘请输入一个整数:‘))
print("十进制为:",number)
# bin() 将十进制整数转换为二进制字符串
print(‘二进制为:‘,bin(number))
# oct() 将十进制整数转换为八进制字符串
print(‘八进制为:‘,oct(number))
# hex() 将十进制整数转换为十六进制字符串
print(‘十六进制为:‘,hex(number))
# int()接受一个符合整型规范的字符串,并将该字符串转换为整型
string_24 = ‘24‘
print(type(string_24))
print(‘字符串转换为整型‘,type(int(string_24)))
#2.浮点型
#双精度,可输出17位数,但计算机只能保证15个数字的精度,超过了之后会被截断。
#decimal提供了一个更精准的数字类型
#使用getcontext().prec自定义浮点数精度的位数
import decimal
float_a = decimal.Decimal(‘3.1234567891011‘)
float_b = decimal.Decimal(‘3.13215162312323333‘)
decimal.getcontext().prec = 30 #设置浮点数的精度为30位
print(float_a*float_b)
#3.复数类型
#3+2j、3.1+4.9j的数据被称为数据
#复数由"实部"和"虚部"两部分组成
#"实部"是一个实数,"虚部"是一个实数与j或J的组合
‘‘‘
特点:
(1)虚部不能单独存在,它总是和一个值为0.0的实数部分构成一个复数
(2)实数部分和虚数部分都是浮点型
(3)虚数部分后面必须有j或J
‘‘‘
complex_a = 3+2j
print(complex_a)
#使用内置函数complex(real<实数>,imag<虚数>)定义复数
complex_b = complex(3,5)
print(complex_b)
print(complex(5))
#分别获取复数的"实部"和"虚部"
print(complex_a.real)
print(complex_a.imag)
#共轭复数:两个实部相等、虚部互为相反的复数
#复数可以通过conjugate()方法返回它的共轭复数
complex_a.conjugate()
#4.布尔类型
#使用bool()函数查看
‘‘‘
以下数据的布尔值都是Flase:
(1)None:
bool(None)
(2)Flase
(3)任何为0的数字类型:
bool(0)
bool(0.0)
bool(0j)
(4)任何空序列:
bool(())
bool({})
bool([])
(5)空字典:
bool({})
(6)用户定义的类实例返回0或者Flase
‘‘‘
bool(None)
bool(0)
bool(0.0)
bool(0j)
bool(())
bool({})
bool([])
bool({})
#5.算术运算符
‘‘‘
+
-
*
/ 使两个操作数相除,获取操作数的商
// 使两个操作数相除,获取商的整数部分
% 取余
** 幂:使两个操作数进行幂运算,获取a的b次幂
‘‘‘
#混合运算时,Python会进行强制的临时类型转换
‘‘‘
Python强制临时类型转换原则:
(1)布尔类型进行算术运算时,将其视为数值0和1
(2)整型与浮点型进行混合运算时,将整型转化为浮点型
(3)其他类型与复数运算时,将其他类型转换为复数型
‘‘‘
print(10+True)
print(10/2.0)
print(10-(3+5j))
#除法操作符可能会改变操作数的类型
a = 10/2
print(a)
type(a)
#6.赋值运算符
‘‘‘
=
+=
-=
*=
/=
//=
%=
**=
‘‘‘
#7.比较运算符
‘‘‘
==
!=
>
<
>=
<=
‘‘‘
#8.逻辑运算符
‘‘‘
or 或
and 与
nod 非
‘‘‘
#9.成员运算符
‘‘‘
用于测试给定值是否在序列(列表、字符串等)中
成员运算符有in和not in
(1)in:如果指定元素在序列中,返回True,否则返回Flase
(2)not in:如果指定元素不在序列中,返回True,否则返回Flase
‘‘‘
#10.身份运算符
#PYthon的一切数据都可用视为对象
#身份就是内存地址,它是每一个对象的唯一标识
#对象被创建以后身份不会再发生任何变化
#is和is not用于判断两个对象的内存地址是否相同
‘‘‘
(1)is:测试两个对象的内存地址是否相同,相同返回True,否则返回Flase
(2)not is:测试两个对象的内存地址是否不同,不同返回True,否则返回Flase
‘‘‘
id_a = 10
id_b = id_a
print(id_a is id_b)
#通过id()函数查看内存地址
id(id_a)
id(id_b)
#11.数字类型转换
‘‘‘
int() 转换为整型
float() 换为浮点型
complex() 转换为复数类型
bool() 转换为布尔类型
‘‘‘
以上是关于数据类型的主要内容,如果未能解决你的问题,请参考以下文章
1.19.6.数据类型数据类型列表结构化的数据类型其他数据类型数据类型注解