文章目录
- 数据类型
- 数值
- 字符串
- 格式化字符串
- 字符串复制(将字符串和数字相乘)
- 布尔值和空值
- 类型检查
- 对象(object)
- 对象的结构
- 变量和对象
- 类型转换
数据类型
数值
数值分成三种: 整数、浮点数、复数
(1)整数:在Python中整数都是int类型,无大小限制,可任意大小
如果数字长度过大可以使用下划线作为分隔符
如:a = 123_456_345 (a的值为123456345)
十进制的数字不能以0开头
其他进制的整数,只要是数字打印时一定是以十进制的形式显示
二进制0b开头 bin(2) ---> 将数字2转化为二进制数
八进制0o开头 oct(2) ---> 将数字2转化为八进制数
十六进制0x开头 hex(2) ---> 将数字2转化为十六进制数
(2)浮点数(小数):在python中所有小数都是float类型
对浮点数进行运算时,可能会得到一个不精确的结果,如:
0.1 + 0.2 = 0.3000000000000000004
(3)复数
不解释
字符串
使用引号引起来,可以是单引号,也可以是双引号,但相同的引号之间不能嵌套,如:
s = "我说: "我是最棒的!"" ----错误
s = '我说: "我是最棒的!"' ----正确
单引号和双引号不能跨行使用,因此要在行尾加上\来到下一行,如:
s = '飞流直下三千尺,
疑是银河落九天' -----错误
s = '飞流直下三千尺,\
疑是银河落九天' -----正确
三重引号可以用来表示一个长字符串,三重引号可以换行,并且会保留字符串中的格式
''' 或 """,如"""sdfasdfasdfasdfasdfgsdgafdha"""
转义字符:
可以使用\作为转义字符,通过\可以在字符串中使用一些特殊的内容,例如:
\' 表示 '
\" 表示 "
\t 表示 制表符
\n 表示 换行符
\\ 表示反斜杠\
\uxxxx 表示Unicode编码
格式化字符串
(1)(拼串)字符串之间可以进行加法运算,如:
a = 'fgh'
b = 'bnm'
c = a + b
则c是'fghbnm'
但是字符串不能和其他的数据类型相拼接,可以这么做:
a = 123
print('a=' + a),可是此方法不常用
(2)(多个参数)也可以使用print来格式化输出:
a = 123
b = 'sad'
print('a =', a, b)
(3)(占位符)在创建字符串时,可以在字符串中指定占位符%s,此占位符可辨识任意字符,如:
b = 'hello %s' % 'world' # 表示用world去填充占位符%s的位置
输出: hello world
当有多个占位符时,可以这么处理:
b = 'hello %s, 我是%s' %('小红', '小麦')
若占位符前面加了数字,如%3s,则表示代替的字符串至少有三个(不够则补位)
如%3.5s,则表示字符串长度在3-5之间
原则上%也可用于数字的占位符,但是在有效数字要求上不好处理,因此还有另外一个占位符
%f 浮点数占位符,%.4f 表示保留到小数点后四位
%d 整数占位符 直接把小数舍去
新的方法:
(4)格式化字符串
在字符串前添加一个f来创建一个格式化字符串,在其中可以直接嵌入变量,例子:
a = 'Mai'
b = 'SaSa'
c = f'{a} loves {b}'
则c的值是 'Mai loves SaSa'
也可以直接打印: print(f'{a} loves {b}')
字符串复制(将字符串和数字相乘)
如: a = 'abc'
c = a * 20 (字符串跟数字位置可以颠倒)
解释器会将字符串重复指定的次数并返回
布尔值和空值
(1)布尔值(boolean,简称bool)
布尔值主要用来做 逻辑判断
布尔值共有两个: True False
布尔值实际上也属于整型,True相当于1,False相当于0
- 用作布尔表达式时,下面的值都被解释器视为假:
False None 0 '' () [] {}
(2)None(空值)
专门用来表示不存在
类型检查
先回顾一下python的数据类型:
数值
整型
布尔值
浮点型
复数
字符串
空值
type() 用来检查值的类型,该函数会将检查的结果作为返回值返回,例如:
c = type(a)
对象(object)
- Python是一门面向对象的语言
- 一切皆对象!
- 程序运行当中,所有的数据都是存储到内存当中然后再运行的!
- 对象就是内存中专门用来存储指定数据的一块区域
- 对象实际上就是一个容器,专门用来存储数据
- 数值、字符串、布尔值、None等都是对象
对象的结构
- 每个对象中都要保存三种数据
(1)id(标识) -用来标识对象的唯一性,每个对象对应一个唯一的id,对象一旦创建,则永远不会改变
可通过id()查看,在CPython中,id就是对象的内存地址
(2)type(类型) -Python是一门强类型语言,因此对象一旦创建类型便不能改变
可通过type()查看类型
(3)value(值)
-对象分成两大类,可变对象和不可变对象
可变对象的值可以改变
不可变对象的值不可以改变(目前学的都是不可变对象)
变量和对象
实际上,对象并没有直接存储到变量中,在Python中变量更像是对象的一个别名,
变量中存储的不是对象的值,而是对象的id(内存地址),当我们使用变量时,实际上就是在通过对象id寻找对象
类型转换
- 将一个类型的对象转换为另一个类型的对象
- 类型转换不是改变原有对象本身的类型,而是将对象的值转换为新的对象(即根据当前对象的值创建一个新的对象)
类型转换函数:
(1) int()
-可以用来将其他对象转换为整型,将浮点数用int()转换后,小数直接被舍去
-合法的整数字符串,则可以直接转化为对应的数字,否则报错
-布尔值 True-->1 False-->0
-不能转化None类型
(2) float()
-和int()规则基本一致
-布尔值 True-->1.0 False-->0.0
(3) str()
-转为字符串
-布尔值 True-->'True' False-->'False'
(4) bool()
-在python中任何对象都能转化为布尔值
-规则:所有表示空性的对象都会转化为False,其余的转化为True,
如 0、None、''、""等等