Python 学习第一课——变量与数据类型
变量 (变量由标识、类型、值组成)
name = 'builing' #声明变量
print(name) #输出变量的值
print('标识', id(name)) #id()获得变量的标识(地址)
print('类型', type(name)) #type()获得变量的类型
print('值', name) #输出变量的值
输出结果: builing 标识 2200283587248 类型 <class ‘str’> 值 builing
变量赋值 (变量多次赋值后,变量名会指向新的空间)
name = 'Oyang'
print(name, id(name))
输出结果: Oyang 1968561419248 标识即变量指向的地址改变
数据类型
'''
常用数据类型:
整型 ->int->88
浮点型 ->foat->3.14
布尔型 ->bool->Ture,False
字符串型 ->str->builing好帅啊
'''
整型
n1 = 88
n2 = -88
n3 = 0
print(n1, type(n1))
print(n2, type(n2))
print(n3, type(n3))
输出结果: 88 <class ‘int’> -88 <class ‘int’> 0 <class ‘int’>
# 二进制(以0b开头)、十进制(默认)、八进制(以0o开头)、十六进制(以0x开头)
print('二进制', 0b101101)
print('十进制', 88)
print('八进制', 0o115)
print('十六进制', 0x888)
输出结果: 二进制 45 十进制 88 八进制 77 十六进制 2184
浮点型
'''
浮点型由整数部分与小数部分组成
浮点数存储不精确
可能出现小数位数不确定的情况(1.1+2.2=3.0000000000000003,1.1+2.1=3.2)
解决方案:导入模块decimal
'''
n4 = 1.1
n5 = 2.2
n6 = 2.1
print(n4 + n5)
print(n6 + n4)
输出结果: 3.3000000000000003 3.2
出现小数位不确定的情况 解决方案:导入模块decimal
from decimal import Decimal
print(Decimal('1.1') + Decimal('2.2'))
输出结果: 3.3
布尔类型(bool) true为真(1) False为假(0)
f1 = True
f2 = False
print(f1, type(f1))
print(f2, type(f2))
输出结果: True <class ‘bool’> False <class ‘bool’>
布尔值可以转化为整数计算
print(f1 + 1) # 2
print(f2 + 1) # 1
输出结果: 2 1
字符串型(不可变的字符类型)‘单行’,“单行”,’’‘多行’’’,""“多行”""
str1 = 'builing好帅'
str2 = "Builing好帅"
str3 = '''
Builing
好帅
'''
str4 = """
Builing
好帅
"""
print(str1, type(str1))
print(str2, type(str2))
print(str3, type(str3))
print(str4, type(str4))
输出结果: builing好帅 <class ‘str’> Builing好帅 <class ‘str’> Builing 好帅 <class ‘str’> Builing 好帅 <class ‘str’>
类型转换
数据类型不同不可进行连接
str()将其他类型转字符串型
age = 20
print(type(age))
# print('我是' + name + ',今年' + age + '岁') # 运行报错
age=str(age)
print('我是' + name + ',今年' + age+ '岁')
print(type(age))
输出结果: <class ‘int’> 我是Oyang,今年20岁 <class ‘str’> age的数据类型改变
int()将其他类型转为整型
s1 = '123'
f4 = 99.9
ff = False
s3 = 'hello'
print(type(s1), type(f1), type(s2), type(ff), type(s3))
print(int(s1), type(int(s1))) # 将str转为整型
print(int(f4), type(int(f4))) # 将float转为int型
# print(int(s2), type(int(s2))) # 将str转为int类型,报错,字符串为小数串
print(int(ff), type(int(ff)))
# print(int(s3), type(int(s3))) # 报错,将str转为int型,字符串必须为整数串
输出结果: <class ‘str’> <class ‘bool’> <class ‘str’> <class ‘bool’> <class ‘str’> 123 <class ‘int’> 99 <class ‘int’> 0 <class ‘int’>
float()将其他类型转为float型
print(type(s1), type(f4), type(s2), type(ff), type(s3))
print(float(s1), type(float(s1)))
print(float(f4), type(float(f4)))
print(float(s2), type(float(s2)))
# print(float(s3), type(s3)) # 字符串中的数据如果是非数字,则不允许转换
输出结果: <class ‘str’> <class ‘float’> <class ‘str’> <class ‘bool’> <class ‘str’> 123.0 <class ‘float’> 99.9 <class ‘float’> 66.66 <class ‘float’>
|