变量、数据类型、数据类型转换
标识符
-
概念
标识符:给变量、函数、类、模块和其他对象起的名字就叫标识符 -
命名规则
(1)字母、数字、下划线组成
(2)不能以数字开头
(3)不能是保留字
(4)严格区分大小写
变量
注意:python中一切皆对象
变量由三部分组成
标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取(类似身份证号)
类型:表示的是对象的数据类型,似乎用内置函数type(obj)来获取
值:表示对象所存储的具体数据,使用print(obj)将值打 印出来
代码:
name ="你好"
# 值
print('值',name)
# 表示
print("标识",id(name))
# 类型
print('类型',type(name))
结果:
理解:
变量赋值
第二次赋值后,输出:世界
name='你好'
print(name)
print(id(name))
name='世界'
print(name)
print(id(name))
结果:
理解:
数据类型
整数类型
1. 概念:表示整数,负数,0
2. 例子:
n1=90
n2=76
n3=0
print(n1,type(n1))
print(n2,type(n2))
print(n3,type(n3))
** 结果:**
3. 可以表示二进制,十进制,八进制,十六进制
1.例子
print('十进制',118)
# 二进制以0b开头
print('二进制',0b1010111)
# 八进制以0o开头
print('八进制',0o45721)
# 十六进制0x开头
print('十六进制',0x89451e)
结果
浮点类型
概念:浮点数由整数部分和小数部分组成
存储可能不太精确
a1=3.14
print(a1,type(a1))
a2=1.1
a3=2.2
print(a2+a3)
结果
结果3.30000000000003与我们想的3.3不符合
需要进行处理:
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))
结果
布尔类型
概念:用来表示真或假的值
true表示真,false表示假
例子:
f1=True
f2=False
print(f1,type(f1))
print(f2,type(f2))
结果
例子:
# 布尔值可以转成整数计算
print(f1+1) # True表示1
print(f2+1) # False表示0
结果:
字符串类型
**概念:**不可变字符序列
单行和双引号必须放在一行,三引号可以多行
例子:
str1='生活就是如此'
print(str1,type(str1))
str2="如此残酷"
print(str2,type(str2))
str3="""开始
python"""
print(str3,type(str3))
结果
学习才能够让你进步,希望不会给自己留有太多的遗憾
数据类型转换
为什么要用到类型转换呢?
例子:
name ='你好'
age=21
# age与name数据类型不同
print(type(name),type(age))
# +连接符,将不同的数据类型连接时需要类型转换,否则会报错
# 利用str()函数将int类型转换成字符串
print('我的名字是'+name+'今年我'+str(age)+'岁')
上面的代码中用到了str()函数将int类型的数据转换成str类型的数据,
因为利用+将两个变量进行连接时,如果不将age转换成字符串类型的数据,就会出现报错
1. str()函数
print('-------str()将其他类型转换成str类型-------')
a1=10
b1=56.3
c1=False
print(type(a1),type(b1),type(c1))
print(str(a1),str(b1),str(c1),type(str(a1)),type(str(b1)),type(str(c1)))
其他类型转换成str类型,利用str()函数即可成功
2.int()函数
print('----int()将其他的类型转换成int类型----')
s1='123'
f1=98.1
s2='12.31'
ff=True
s3='hello'
print(type(s1),type(f1),type(s2),type(ff),type(s3))
print(int(s1),type(int(s1))) # 字符串为数字
print(int(f1),type(int(f1))) # 只截取整数部分,舍掉小鼠部分
print(int(ff),type(int(ff)))
# print(int(s2),type(int(s2)))
# print(int(s3),type(int(s3)))
# 字符串必须为数字串,非数值串不允许转换
print(int(s3),type(int(s3)))
1、如果字符串内容是纯的整数,那么转换后就是int类型
2、如果是小数,利用int()函数转换后会舍弃小数部分,只保留整数部分
3、如果是布尔类型,True经过int()函数转换后变为1,False变为0
4、如果是字符串转int类型,那么就会报错,如果是小数的字符串,也会报错
3.float()
print('-------float()类型转换-------')
q1='128.98'
q2='75'
q3=True
q4='haha'
q5=45
print(type(q1),type(q2),type(q3),type(q3),type(q4),type(q5))
print(float(q1),type(float(q1)))
print(float(q2),type(float(q2)))
print(float(q3),type(float(q3)))
# print(float(q4),type(float(q4)))
# print(float(q5),type(float(q5)))
print(float(3))
1、如果是小数的字符串,转换后直接变为小数
2、如果是整数的字符串,转换后需要在整数后面添加.0
3、如果是布尔类型,转换成1.0/0.0,如果是字符串,则会报错,如果是int类型数据,则直接在后面加.0