Python的基本数据类型

数字类型

表示数字或数值的数据类型称为数字类型。
Python提供3种数字类型:整数、浮点数和复数。

整数类型

整数类型概念与数学中整数的概念一致,理论上的取值范围是[-∞,+∞]。实际上 Python 支持任意大的数字,只受计算机内存大小限制。
整数类型有 4 种进制表示:十进制、二进制、八进制和十六进制

进制只是整数值表示的展现形式,用于辅助程序员更好地开发程序,计算机处理时,只要数值相同就无区别。
整数的不同进制之间可以相互转化
bin(x):将 x 转换为二进制整数
oct(x):将 x 转换为八进制整数
int(x):将 x 转换为十进制整数
hex(x):将 x 转换为十六进制整数
不同数据类型之间可以相互转化
type(x):对 x 变量进行类型判断,适用于任何数据类型。
int(x):将 x 转换为整数类型
float(x):将 x 转换为浮点数类型
str(x):将 x 转换为字符串类型

#整数的不同进制之间的转化
a = 10
print(hex(a))
print(oct(a))
print(bin(a))
print("-------------")
#不同数据类型之间的转化
y = 10
print(type(y))
print(float(y))
print(str(y))

浮点数类型

浮点数类型与数学中实数的概念一致,表示带有小数的数值。Python 语言中要求浮点数类型必须带有小数部分,小数部分可以是 0。有两种表示方法:一般表示法和科学计数法。
1.整数的运算精度比浮点数高。
pow()函数
pow(x,n)=xn
2.存在不确定尾数问题
受限于计算机表示浮点数使用的存储宽度,计算的二进制数并不是 0.1 和 0.2 而是计算机内部最接近 0.1 和 0.2 的二进制数。求得的数反映到十进制表示上,就会产生一个不确定尾数,至于尾数是多少,计算机内部会根据二进制运算确定产生。
浮点数大都是一个近似的值,为解决不确定尾数问题,我们可以使用round()函数保留几位小数。
round(x,n):对数值 x 保留 n 位

#整数的运算精度比浮点数高。这里使用 pow()函数进行一个示例
print(pow(10,3))
print(pow(1010,0.25))
print("---------------")
#存在不确定尾数
print(0.1+0.2)
print("---------------")
# round()函数保留几位小数
print(round(0.300000000000000014,2))

复数类型

复数类型表示数学中的复数。复数有一个基本单位元素 j,被定义为j= −1。含有虚数单位 j的数被称为复数。Python 中,复数被看为二元有序实数对(a,b),表示 a+bj,虚部通过 j 或J 表示。例如:3+4j,-2+5.6j … …需要注意的是,如果一个复数的虚部 b 为 1,那么 1 也是不能省略的,即 1j 表示虚部。
虚部可以在前也可以在后,只要是带J或j的都是虚部,一个复数里面可以有多个虚部,虚部b最低为1,0的话会报错
复数类型中实部和虚部都是浮点类型,对于复数 z,可以用 z.real 和 z.imag 分别获得实数部分和虚数部分。

#用 z.real 和 z.imag 分别获得实数部分和虚数部分
print((3+4j).real)
print((3+4j).imag)
print("-----------------")
print((3j+4j).imag)
print((3j+4).imag)
print((3+j).imag)

数字类型的运算

数值运算操作符

基本规则:
整数之间运算,产生结果类型与操作符相关;
整数和浮点数混合运算,输出结果浮点数;
整数或浮点数与复数运算,输出结果是复数。

x = 2
y = 3
#求和
print(x + y)
#求差
print(x - y)
#求积
print(x * y)
#求商,结果为浮点数
print(x / y)
#商后取整
print(x // y)
#商后取余
print(x % y)
#x的y次幂
print(x ** y)
#数的负数
print(-x)
#数的本身
print(+x)

数值运算函数

x = 6
y = 3
n = 0.2356556694
d = 2
#x的绝对值
print(abs(x))
#(x//y,x%y),输出为二元组(商,余数)  商:x除以y
print(divmod(x,y))
#对n的值保留d位小数
print(round(n,d))
print(round(n))
#取最大值
print(max(x,y))
#取最小值
print(min(x,y))

其他操作符

逻辑操作符

比较操作符

逻辑运算符与比较运算符可以作为判断条件。使用 bool()函数来判断真假,True 代表真,False 代表假。

print(1<0)
print(1<=0)
print(1>0)
print(1>=0)
print(1==0)
print(1!=0)
print(bool(0))
print(bool([]))
print(bool("python"))
print(bool(0 and 1))
print(bool(0 or 1))
print(bool(not 0))

真值表

位运算操作符
位运算符与二进制有关

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011

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

字符串类型

计算机程序经常用于处理文本信息,文本信息在程序中使用字符串类型表示。字符串是字符的序列,用一对双引号(“”)或者一对单引号(‘’)括起来。
字符串属于不可变有序序列,包括两种序列体系:正向递增和反向递减。

判断是否为字符串及编码

1.判断一个变量是否为字符串,可以使用内置函数 type()或 isinstance()。
type(字符串)——>返回类型
isinstance(字符串,类型)——>返回“True”或者“False”
2.Python 除了支持 Unicode 编码的字符串类型(str)还支持字节串类型(bytes)。字符串类型可以通过 encode()方法使之编码成为字节串类型,而字节串类型则可以通过decode()方法使之解码成为字符串类型。

#判断变量是否为字符串
print(type("Python程序设计语言"))
print(isinstance("北京",str))
print("-----------------------------")
#encode()方法使之编码成为字节串类型
a = "Python程序设计语言".encode()
print(a)
#decode()方法使之解码成为字符串类型
print(a.decode())
print(type("Python程序设计语言"))
print(type("程序设计语言".encode()))

转意字符

print("hello\nworld")
print("\x41")
print("\101")
print("\\")
print("\'")
print("\"")
print("\n")
print(r"\n")

为避免对字符串中的转义字符进行转义,可以在字符串前面加上字母 r 或 R 表示原始字符串

字符串索引

字符串利用方括号([ ])通过索引值得到对应位置的字符。Python 中索引有两种访问方式:
从前往后的正向索引,n 个字符串,索引值从 0 到 n-1;
从后往前的反向索引,n 个字符串,索引值从 -1 到-n。

s = "世界那么大,我想去看看"
print(s[3])
print(s[0])

字符串切片

切片的格式一般为:<字符串或字符串变量>[N:M:step],参数 N 是切片的起始索引序号,参数 M 是切片的结束索引序号,参数 step 是切片的步长(可省略)。
其中 N 值包括在切片中,M 值不包括在切片中。

s = "世界那么大,我想去看看"
print(s[0:4])
print(s[0:6:4])
print(s[::-1])

字符串的操作

字符串的操作符

a = "我今天"
b = "学习"
print(a + b)
print(a in b)

字符串处理函数

字符串处理方法

print("Python".lower())
print("Python".upper())
print("------------------")
#默认是以空格分隔
print("Sushine always comes after the rain".split())
print("姓名,年龄,性别,电话,住址".split(","))
print("------------------")
#统计"i"出现的次数
print("Everything will be ok".count("i"))
print("------------------")
#把原来的""替换为","
print("Sunshine always comes after the rain".replace("",","))
print("--------------------")
#字符串居中,用*号填充空余
print("Python".center(15,"*"))
print("Python".center(3,"*"))
print("--------------------")
#去掉字符串中左右出现的"#"字符
print("###brave###".strip("#"))
print("--------------------")
#每一个元素后面都加一个"**"
ls = ["Python","Java","C++"]
print("**".join(ls))
print(",".join("123456"))

format()方法的基本使用

字符串使用方式:<模板字符串>.format(<逗号分隔的参数>)
其中模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果

print("{}那么大,{}想去看看。".format("世界","我"))

1.format()方法参数的使用顺序

2.format()方法的格式控制
format()的槽不仅包括参数序号还包括格式控制信息,语法格式为:
{<参数序号>:<格式控制标记>}

格式控制标记总共 6 个字段,这些字段均为可选,可以组合使用

#左对齐,*号填充,宽度20
s = "python"
print("{:*<20}".format("python"))
print("{:*<20}".format("python"))
print("--------------------------")
#使用千位分隔符,宽度5
print("{:5,}".format(13543256452135))
print("-------------------------------")
#输入的整数对应转成不同的格式
print("{0:b},{0:c},{0:d},{0:o},{0:X}".format(520))
print("--------------------------------------------")
#输入的浮点数对应转成不同的格式
print("{0:e},{0:E},{0:f},{0:%}".format(3.14159))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值