python基础数据类型
AI-摘要
KunKunYu GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
python基础数据类型
数值
[TOC]
分成3种
- 整数
- 浮点数(小数)
- 复数
1 整数
- 所有整数都是int类型
- python中整数大小没有限制,可以是一个无限大的整数
C = 9999999999999999999999999999 ** 100
- 如果数字长度过大,可以使用下划线作为分隔符
c = 123_456_789
d = 0123 10进制的数字不能以0开头
其他进制的整数,只要是数字打印时一定是以十进制形式显示的
- 二进制 0b开头
c = 0b10 #二进制的10
- 八进制0o开头
c = 0o10
- 十六进制 0x开头
c = 0x10
- 也可以通过运算符来对数字进行运算,并且可以保证整数运算的精确
c = 100
c = c + 3
2 浮点数 (小数),所有的小数float类型
c = 1.23
c = 4.56
对浮点数进行运算时,可能得到一个不精确的结果
c = 0.1 + 0.2 ## 0.300000000004
字符串
[TOC]
1 普通字符串
表示一段文本的信息,字符串是程序中使用的最多的数据类型
- 使用引号引起来
s = 'HELLO'
s = ABC ##不使用不是字符串
- 引号可以是双引号,也可以是单引号,不能混合使用
s = 'hello'
s = "hello"
- 相同的引号之间不能嵌套
s = '子曰:,"学而时习之,123!"'
2 长字符串
- 单引号和双引号不能跨行使用
s = '锄禾日当午,\
汗滴禾下土'
- 使用三重引号表示一个长字符串 ‘’’ “”""
- 三重引号可以换行,并且会保留字符串中的格式
s = '''锄禾日当午,\
汗滴禾下土'''
3 转义字符
- 可以使用反斜杠\作为转义字符,通过转义字符,可以在字符串中使用一些特殊内容
例子:
s = "子曰:,\"学而时习之,123!\""
\' 表示'
\" 表示""
\t 表示制表符
\n 表示换行符
\\ 2个斜杠代表一个
\uxxxx 表示Unicode编码 打印特殊符号
s = "子曰:,\"学而时习之,\n123!\""
S = '\U16a1'
特殊符号参考表(打印需要电脑支持字体 否则打印失败)
4 格式化字符串
- 字符串之间也可以进行加法运算
- 如果2个字符串进行相加,则会自动将2个字符串拼接为一个
a = 'hello' + 'haha' + '123'
print{a}
- 这种写法在python中不常见
- 字符串不能和其他的类型进行加法运算,否则会出现异常
a = 'hello' + 'haha' + '123'
print{"a = "+a}
- 正确写法
a = 123
print{'a = ',a}
- 创建字符串时,可以在字符串中指定占位符
- %s 在字符串中表示任意字符串
- %f 浮点数占位符
- %d 整数占位符
b = 'hello %s'%'测试呀'
b = 'hello %s 你好 %s'%('tom','测试呀')
b = 'hello %3.5s'%'sadasfg' ## %3.5字符串的长度限制在3-5之间
b = 'hello %s'%123.456
b = 'hello %.2f'%123.567
b = 'hello %d'%123.95
或者
print('a = %s'%a)
在或者
- python 3版本中格式化字符串,可以通过字符串钱添加一个f创建一个格式化字符串
- 格式化字符串中可以嵌入变量
- 格式化字符串必须是有限的,否则报错
a = 123
b = '呵呵'
c = f'hello {a} {b}'
print(f'a = {a}')
实例:
name = '孙悟空'
# 拼串
print('欢迎' + name+' 光临! ')
# 多个参数
print('欢迎' ,name,'光临!')
# 占位符
print('欢迎 %s 光临!' %name)
# 格式化字符串
print(f'欢迎 {name} 光临!')
5 字符串的复制(将字符串和数字相乘)
a = 'abc'
# 在语音中表示惩罚
# 如果将字符串和数字相乘,则解释器将字符串重复指定次数并返回
a = a * 20
print(a)
布尔值和空值
[TOC]
1 布尔值(bool)
- 布尔值主要用来做逻辑判断
- 布尔值一共有两个 True 和 False
- True表示真 False表示假
a = True
a = False
print('a =',a)
- 布尔值实际上也属于整型,True就相当于1,False就相当于0
print(1 + False)
2 空值(None)
- None专门用来表示不存在,是个空值字面意思
b = None
print(b)
类型检查
[TOC]
数值
- 整型
布尔值 - 浮点数
- 复数
- 字符串
- 空值
1 类型检查
-
通过类型检查,可以检查指定值(变量)的类型
a = 123 #数值
b = ‘123’ # 字符串
print(a)
print(b) -
type()用来检查值得类型
-
该函数会将检查的结果作为返回值返回,可以通过变量来接收函数的返回值
c = type('123')
#c = type(a)
print(c)
print(type(1))
print(type(1.5))
print(type(True))
print(type('hello'))
print(type(None))
<class 'int'>
<class 'float'>
<class 'bool'>
<class 'str'>
<class 'NoneType'>
***Repl Closed***
对象
[TOC]
1 对象介绍(object)
- python 是一门面向对象的语音
- 一切皆对象!
- 程序运行中,所有数据都是存储到内存当中然后在运行
- 对象就是内存中专门用来存储指定数据的一块区域
- 对象实际上就是一个容器,专门用来存储数据
- 像我们之前学习数值,字符串,布尔值,None都是对象
2 对象结构
- 每个对象都要保存三种数据
- id (标识)
id用来表示对象的唯一性,每个对象都有一个唯一id 类似身份证号
可以通过id()函数
来查看对象id
id是由解析器生产,在cpython中,id就是对象的内存地址
对象一旦创建,则永远不会改变 - type(类型)
类型用来表示当前对象的属性
比如: int str float bool
类型觉得了对象有哪些功能
python是一门强类型语言,对象一旦创建类型便不能更改
通过typpe()函数
查看对象类型 - value(值)
值就是对象中存储具体数据
对于游戏对象值可以改变
对象分成两大类,可变对象,不可变对象
- 可变对象值可以改变
- 不可变对象值不可改变,之前学习对象都是不可变对象
- id (标识)
3 变量和对象
- 对象并没有直接存储到变量中,在python中变量更像是给对象个取了一个别名
- 变量中存储不是对象的值,而是对象的id(内存地址值)
- 当我们使用变量时,实际上就是通过对象id在查找对象
- 变量中保存对象,只有在为变量重新赋值时才会改变
- 变量和变量之间是相互独立,修改一个不会影响另外一个变量
4 类型转换
- 将一个类型的对象转换为其他对象
- 类型转换不是改变对象本身的类型,而是将对象的值转换为新的对象
a = 'HELLO'
b = 123
print(a + b)
类型转换的四个函数
- int() 可以将其他对象转换为整数
- 规则
- 布尔值: True -> 1 false -> 0
- 浮点数: 直接取证,省略小数点后的内容
- 字符串: 合法的整数字符串,直接转换为对于的数字
如果不是一个合法整数字符串,则报错 - 对于其他不可转换为整数的对象,直接抛出异常 value
- 调用int()来讲a转换为整型
- int()函数不会对原来的变量产生影响,他是对象转换为指定类型并将其作为返回值返回
- 如果希望修改原来的变量 则需要对变量进行重新赋值
- 规则
a = True
a = init(a)
a = False
a= int(a)
a = '123'
a = int(a)
a = 11.6
a = int(a)
a = 11.6
a = init(a)
a = '11.5'
# a == init(a)
- float()
- str()
- bool()
运算符
[TOC]
1 运算符(操作符)
- 运算符可以对一个值或多个值进行运算或各种操作
- 比如+ - = 都属于运算符
- 运算符的分类:
1 算数运算符
2 赋值运算符
3 比较运算符(关系运算符)
4 逻辑运算符
5 条件运算符(三元运算符)
2 算数运算符
- +加法运算符 (如果是两个字符串之间进行加法运算,则会进行拼串操作)
- -减法运算符
- *乘法运算符 (如果将字符串和数字相乘,则会对字符串进行赋值操作,将字符串重复指定次数)
- /除法运算符(运算时结果总会返回一个浮点类型)
- //整除,只会保留计算后的整位数,总会返回一个整型
- ** 幂的运算 ,求一个值的次幂
- % 取模,求两个数相除的余数
a = 10 + 5 #计算
a = 'hello' + '' + 'world' #拼串
a = 10 - 5
a = 5 - True #True等于1
a = a - 2 #用变量a的值减去2,然后在赋值给a
a = 5 * 5
a = 10/5
#a = 5/0 #除数不能为0
a = 10/3
a = 10 // 3
a = 5 // 2
a = 2 ** 2
a = 10 ** 5
a = 16 ** 0.5 # 求16的平方根
a = 10 % 5 #0
a = 10 % 4 #2
a = 10 % 3 #1
a = 10 % 2 #0
print("a = ",a)
3 赋值运算符
- 可以将等号右侧的值赋值给左侧的变量
- += a +=5 相当于a = a + 5
- -= a +=5 相当于a = a - 5
- *= a +=5 相当于a = a * 5
- **= a +=5 相当于a = a ** 5
- /= a +=5 相当于a = a / 5
- //= a +=5 相当于a = a // 5
- %= a +=5 相当于a = a % 5
a = 10
a = 30
a += 5
a -= 5
a *= 5
a **= 2
a /= 25
a = 25.0 #在对浮点数做算数运算时,结果也会返回一个浮点数
a //=5
a = 5
a %= 4
print('a = ',a)
4 关系运算符
- 比较两个值之间的关系,总会返回一个布尔值
- 如果关系成立,返回True。否则返回False
-
比较左侧值大于右侧值
-
== 比较左侧的值是否大于或等于右侧的值
- < 比较左侧值是否小于右侧的值
- <== 比较左侧的值是否小于或等于右侧的值
- == 比较两个对象的值是否相等
- != 比较两个对象的值是否不相等
- 相等和不等比较的是对象的值,而不是id
- is 比较两个对象是否是同一个对象,比较时对象的id
- is not 比较两个对象是否不是同一个对象,比较的是对象的id
result = 10 > 20 #False
result = 30 > 20 # True
result = 30 < 20 # False
result = 10 >= 10 # True
result = 2 > True # True
# result = 2 > '1' ##报错
result = '2' > '1' # True
result = '2' > '11' # True
##python中可以对两个字符串进行大于(等于)或小于(等于)的运算
## 当对字符串进行比较时,实际上估计的是字符串的Unicode编码
## 比较两个字符串的Unicode编码是诸位比较的
## 利用该特性可以对字符串按照字符顺序进行排序,但是对于中文来说意义不是特别大
## 注意:如果不希望比较两个字符串的Unicode编码,则需要将其转换为数字然后在比较
## 0061 > 0062
result = 'a' > 'b' # False
result = 'c' > 'd' # True
result = 'ab' > 'b' # False
## print('reslut =',result)
result = 1 == 1
result = 'hello' == 'hello' # True
result = 'abc' == 'bcd' # False
result = 'abc' != 'bcd' # True
result = 1 == True # True
result = 1 is True # False
result = 1 is not True # True
print(int('2') > result)
print(id(1),id(True))
5 逻辑运算符
-
主要用来做一些逻辑判断
-
not 逻辑非
可以对符号右侧的值进行非运算
对于布尔值,非运算会对其进行取反操作,True变False,False变True
对于非布尔值,非运算会先将其转换为布尔值,然后在取反 -
and 逻辑与
可以对符号两侧的值进行与运算
只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
与运算是找False的
python中的与运算时短路的与,如果第一个值为False,则不堪第二个值 -
or 逻辑或
-
两个值中只要有一个True,就会返回True
-
是找True的
-
python中的或运算是短路的或,如果第一个值True,则不再看第二个
a = True
not a # 对a进行非运算
a = 1
a = not a
print('a =',a)
result = True and True # True
result = True and False # False
result = False and True # False
result = False and False # True
## print(result)
## True and print('你猜我出来吗?') # 第一个值是True,会看第二个值,所以print()会执行
## False and print('你猜我出来吗?') # 第一个值是False,不会看第二个值,所以print()不会执行
result = True or True # True
result = True or False # True
result = False or True # True
result = False or False # False
# print(result)
## False or print('你猜我出来吗?') # 第一个值是False,继续看第二个值,所以print()语句执行
## True and print('你猜我出来吗?') # 第一个值是True,则不会看第二个值
variables变量
[TOC]
python基础03 变量
1例子
x = 3
y = 4
print("x乘以y=", x*y )
print("z=", z )
2 例子 引用上个变量结果
x = 3
y = 4
z = x * y
print("x乘以y=", z )
print("z=", z )
3 写法规范
- shutdent_number = 30 ##官网写法
- studentNumberPython = 30 ##驼峰体
4 变量命名规则
- 1.具有描述性
- 2.变量名只能_,数字,字母组成 不可以是特殊字符(#?<.,&$!*~)
- 3.不能以中文为变量名
- 4.不用数字开头
- 5.保留字符不能被使用 (如print 打印则会报错)
5 常量(python不区分)
不变的量 类似圆周率
pie = 3.14…
在py里面所有量都是可变的,所以用全部大写的变量名代表变量为常量
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
作者编辑不易,如有转载请注明出处。完整转载来自https://wangairui.com 网站名称:猫扑linux
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果