Python笔记002——变量与数据类型(转换)

Posted 蓝Builing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python笔记002——变量与数据类型(转换)相关的知识,希望对你有一定的参考价值。

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’>

以上是关于Python笔记002——变量与数据类型(转换)的主要内容,如果未能解决你的问题,请参考以下文章

python的学习笔记/002-2(2018-5-19)

002.变量类型转换运算符

python的学习笔记/002-3(2018-5-20)

Python学习笔记系列之002:变量 注释 输入 输出

php学习笔记--类型转换

Python基础笔记:input()输入与数据类型转换