数字类型
Python 中的数字类型支持哪几种数值?
整型:可正可负,不带小数点。在Python3中,整型没有大小限制,所以也可以存储长整型
浮点型:可正可负,带小数点,可以使用科学计数法表示 1.1e2 = 110
复数:复数由实数部分和虚数部分构成,可以用 a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型,因用的较少,不做过多阐述,有兴趣可自行拓展。
数字类型有什么特点
数字类型这种类型是不可变的,如果改变数字数据类型的值,将重新分配内存空间
这里的不可变,指的是数字类型的值,一旦确认,其地址对应的值不可变,如果变量的值改变了,则将变量指向新的地址
如何证明数字类型是不可变的
我们可以使用id()函数,看改变值前后的id
a = 1b= 1
print(id(a))print(id(b))
二进制、八进制、十进制、十六进制以及各个进制之间的转换
二进制:它的基数为2,进位规则是“逢二进一”
八进制:它的基数为8,进位规则是“逢八进一”
十进制:日常中使用的最多的就是10进制
十六进制:它的基数为16,进位规则是“逢十六进一”,跟其他几个进制不同的地方是该进制大于十的时候,会使用A-F进行表示
十进制快速转换为其他进制的转换规则:用十进制数,每次除与对应的数,记下余数,直到最终结果为0,之后将余数倒过来写,如果是16进制,余数大于10,转换成字母即可
将十进制的21,转换成二进制表示
将余数倒过来写一起,就是该数字的二进制表示方式,即10101
既然在计算机的世界里有那么多种进制,如果输入10,Python如何进行分辨?各种进制之间如何进行转换?
在Python,如果没有显式指定进制,那么所有的数字默认是按10进制算
使用如下方式显式指定进制
进制之间的转换
布尔类型及bool函数
什么是布尔类型?
对与错、是与非、0和1、正与反,都是传统意义上的布尔类型,在Python中,统一使用True和False来表示布尔类型在布尔类型一般用于表示条件是否成立,成立用True,不成立用False
布尔类型是数字类型的一个子集
在Python中,bool函数可以用来测试一个表达式的布尔值结果
bool(0)
bool(-1)
bool(0b10)
bool('')
字符串及其编码
字符串的定义:字符串是由数字、字母、符号组成的一串字符。它是编程语言中表示文本的数据类型。
在Python中,使用双引号、单引号、三引号括起来的一系列字符就是字符串,无论是使用单引号还是双引号,都必须成对出现
Python 3版本中,所有的字符串都是使用Unicode编码的字符串序列
字符串的特性:不可变,如果改变字符串的值,相当于重新分配了空间
计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。通俗的说,按照何种规则将字符存储在计算机中,如'a'用什么表示,称为"编码";反之,将存储在计算机中的二进制数解析显示出来,称为"解码"
单引号、双引号、三引号与转义字符串
单引号、双引号的使用场景
一般情况下,如果我们要表示字符串,使用单引号或双引号括起来基本没啥区别,但是,当字符串中带有单引号或双引号时,我们可能需要使用转义字符。但是,此时字符串看起来并不优雅,此时可以考虑如下情况
当字符串中有单引号时,使用双引号括起来
当字符串中有双引号时,使用单引号括起来
在Python中,当输入的字符串比较多,需要换行的时候怎么办?
我们可以使用成对出现的三个单引号,将字符串括起来即可
在Python中,如果某些字符本身有特殊含义或无法使用ASCII码进行表示的时候,需要对其进行转义操作,一般用单一反斜杠 \ 进行转义
常见的转义字符
字符串常见的操作
获取字符串中的某一部分
a = "my name is wiggin"
print(a[-2])print(a[0:2])print(a[0:-1])print(a[0:])print(a[:3])
输出以下内容
i
my
my nameiswiggi
my nameiswiggin
my
字符串的格式化
在字符串中,可以将一个值插入到有格式化符号的地方
print("my name is %s and my cat name %s" % ("wiggin", "tomcat"))print("my name is", "wiggin", "mycat name", "tomcat")
输出以下内容
my name is wiggin andmy cat name tomcat
my nameis wiggin mycat name tomcat
常用的格式化符号