Python基础之四:Python3 基础数据类型

Python基础之三:Python3 基础数据类型一、数据类型简介我们人类作为高级生物,可以很容易区分数据类型,但是计算机不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,什么是数字,什么是字符串,否则它是分不清数据之间的区别的,因此,在每个编程语言里都会有一个叫数据类型的东西,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给它。二、Python3中的基础数据类型简介Python3中的基础数据类型共6种,分别
摘要由CSDN通过智能技术生成

Python基础之四:Python3 基础数据类型

一、数据类型简介

我们人类作为高级生物,可以很容易区分数据类型,但是计算机不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,什么是数字,什么是字符串,否则它是分不清数据之间的区别的,因此,在每个编程语言里都会有一个叫数据类型的东西,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给它。

二、Python3中的基础数据类型简介

Python3中的基础数据类型共6种,分别是:
1.Number(数字): int(整数)、float(浮点数)、bool(布尔值)、complex(复数)

2.String(字符串):用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符

3.List(列表):写在方括号 [] 之间、用逗号分隔开

4.Tuple(元组):写在方括号 ()之间、用逗号分隔开

5.Set(集合):由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员,写在大括号{ }之间、用逗号分隔开
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典

6.Dictionary(字典):是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合

三、Python3中的基础数据类型详解

1.Number(数字)

Python3 支持 int、float、bool、complex(复数)

1.int(整数类型)

通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。

1.1 十进制数转换为二进制数

十进制整数转换为二进制整数:采用"除2取余,逆序排列"法。

具体做法是:
用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

# 将十进制数25转换成二进制数:
# 25/2=12---余数1
# 12/2=6---余数0
# 6/2=3---余数0
# 3/2=1---余数1
# 1/2=0---余数1
# 最终结果:10011

十进制小数转换为二进制小数:采用"乘2取整,顺序排列"法。

具体做法是:
用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止;
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

#将十进制数0.625转换成二进制数:
#0.625*2=1.25======取出整数部分1
#0.25*2=0.5========取出整数部分0
#0.5*2=1==========取出整数部分1
#结果:(0.101)B
1.2 二进制数转换为十进制数

要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右

例如:二进制数1101.01转化成十进制

1101.01(2)=1*2^0+0*2^1+1*2^2+1*2^3 +0*2^-1+1*2^-2=1+0+4+8+0+0.25=13.25(十进制数)

所以总结起来通用公式为:

abcd.efg(2)=d*2^0+c*2^1+b*2^2+a*2^3+e*2^-1+f*2^-2+g*2^-3(十进制数)
1.3 int操作

计算整数在内存中占用的二进制码的长度,使用bit_length()方法:

# 将十进制数25转换成二进制数:
# 25/2=12---余数1
# 12/2=6---余数0
# 6/2=3---余数0
# 3/2=1---余数1
# 1/2=0---余数1
# 最终结果:10011
m = 25
print(m.bit_length())
#运行结果:5
2.bool(布尔类型)

布尔值只有两个:True(1)、False(0)

2.1 int str bool 三者数据类型之间的转换

str => int    int(str)

int => str    str(int)

int => bool   bool(int) 0是 False, 非0 就是 True

str = > bool   bool(str) 空字符串 就是 False , 非空就是 True

bool => str   str(bool) 把 bool 值转换成相对应的 “值”

# int ---> bool
i = 100
print(bool(i))  # True  # 非零即True(1)
i1 = 0
print(bool(i1))  # False 零即False(0)

# bool ---> int
t = True
print(int(t))  # 1  True --> 1
t = False
print(int(t))  # 0  False --> 0

# int ---> str
i1 = 100
print(str(i1))  # '100'

# str ---> int  # 全部由数字组成的字符串才可以转化成数字
s1 = '90'
print(int(s1))  # 90

# str ---> bool
s1 = '晴朗'
s2 = ''
print(bool(s1))  # True 非空即True
print(bool(s2))  # False
# bool ---> str
t1 = True
print(str(True))  # 'True'
3.float(浮点数类型)

浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

m = 55.7
print(float(m))#55.5
print(int(m))#55
4.complex(复数)

复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

5.数字类型转换

int(x) 将x转换为一个整数。

float(x) 将x转换到一个浮点数。

complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

5.数字相关函数
5.1 数学函数
import math
print(abs(-10))	#返回数字的绝对值,结果:10
print(math.ceil(3.2))	#返回数字的上入整数,结果:4
print(math.exp(1))	#返回e的x次幂(ex),结果:2.718281828459045
print(math.fabs(-10))	#返回数字的绝对值,结果:10.0
print(math.floor(4.9))	#返回数字的下舍整数,结果:4
print(math.log(100, 10))# log函数,结果:2.0
print(math.log10(100))# 返回以10为基数的x的对数,结果: 2.0
print(max(1,5,3,6,4,8))	#返回给定参数的最大值,结果:8。
print(min(1,5,3,6,4,8))	#返回给定参数的最小值,结果:1。
print(math.modf(3.88))	#返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。,结果:(0.8799999999999999, 3.0)
print(pow(2, 4))	#x**y 运算后的值,即x的y次幂。结果:16
print(round(10.8765,2))#返回浮点数 x 的四舍五入值,如给出n值,则代表舍入到小数点后的位数。其实准确的说是保留值将保留到离上一位更近的一端。结果:10.88
print(math.sqrt(16))	#返回数字x的平方根。结果:4.0
5.2 随机数函数
import random
print(random.choice(range(10)))#从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
print(random.randrange(1, 100, 2))#从指定范围内,按指定基数递增的集合中获取一个随机数。1-100随机一个奇数
print(random.random())	#随机生成下一个实数,它在[0,1)范围内。
random.seed(10)	#改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
print(random.shuffle([]))	#将序列的所有元素随机排序
print(random.uniform(0, 10))	#随机生成下一个实数,它在[0,10]范围内。
5.3三角函数
# acos(x)	返回x的反余弦弧度值。
# asin(x)	返回x的反正弦弧度值。
# atan(x)	返回x的反正切弧度值。
# atan2(y, x)	返回给定的 X 及 Y 坐标值的反正切值。
# cos(x)	返回x的弧度的余弦值。
# hypot(x, y)	返回欧几里德范数 sqrt(x*x + y*y)。
# sin(x)	返回的x弧度的正弦值。
# tan(x)	返回x弧度的正切值。
# degrees(x)	将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
# radians(x)	将角度转换为弧度
5.3数字常量

pi 数学常量 pi(圆周率,一般以π来表示)

e 数学常量 e,e即自然常数(自然常数)

2.String(字符串)

凡是用引号引起来的数据可以称为字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号起来就是字符串。

2.1 字符串的索引与切片

索引:即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推
在这里插入图片描述

st = 'ABCDEFG'
print(st[0])#A
print(st[2])#C
print(st[6])#G

切片:就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)

2.2 字符串的访问

按索引:s1[index]
按照切片: s1[start_index: end_index+1]
按照切片步长: s1[start_index: end_index+1:2]
反向按照切片步长: s1[start_index: end_index后延一位:2]

st = 'ABCDEFG'
print(st[0:6:2])#ACE,A到F范围内(不包括F),每隔2取一个值
print(st[0:6:3])#AD,A到F范围内(不包括F),每隔3取一个值
print(st[:7])#ABCDEFG,A到G范围内(包括G),每隔1取一个值
print(st[-2:1:-1])#FEDC,F到B范围内(不包括B),每隔-1取一个值
print(st[-3:0:-2])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值