Python变量与数据类型
# 1. Python 变量
# 1.1 变量的定义
基本语法:
变量名称 = 变量的值
注:等号的两边都要保留一个空格,其实Python中建议符号的两边尽量都要保留一个空格
# 1.2 变量的命令规则
标识符命名规则是Python中定义变量名称时一种命名规范,具体如下:
① 由数字、字母、下划线(_)组成
② 不能数字开头
③ 严格区分⼤小写
④ 不能使⽤内置关键字作为变量名称
下划线 => Shift + -减号
举个栗子:
① abc、abc123、_abc、hello(合理)
② 123abc、@abc、abc-123(不合理)
③ _(下划线) => 请问这可以是一个变量名称么?答:可以
for _ in range(10):
...
注意:在Python变量命名时,不建议使用_开头,因为其与后面要学习的私有属性想冲突
④ 变量abc和变量ABC是同一个变量么?答:不一样,这是两个完全不同的变量
⑤ 记不住Python关键字怎么办?答:借助于help()方法
>>> help('keywords')
# 1.3 推荐变量的命名规则
① 变量命名一定要做到见名知义。
② 大驼峰:即每个单词首字母都大写,例如: MyName 。
③ 小驼峰:第二个(含)以后的单词首字母大写,例如: myName 。
④ 下划线:例如: my_name 。
# 1.4 变量的定义与调用
在Python中,记住:变量一定要先定义,后使用,否则会报错。
定义:
name = 'xiaoming'
address = '中国'
调用:
print(name)
print(address)
或
print(name, address)
# 1.5 变量的定义与使用常见问题
① 变量与字符串如何区别:
在Python中,如果要赋值的内容添加了单引号或者双引号,其就是Python中的一种数据类型:叫做字符串(日常生活中的文本信息)
② print打印变量时,喜欢为其添加引号
print(name) # 输出变量name对应的值
与
print('name') # 输出'name'这个字符串
③ PyCharm快捷键 => Ctrl + Alt + L
=> 代码格式化
# 2. Python 变量的数据类型
为了应对不同的业务需求,也会把数据分为不同的类型,如下图所示:
问题:Python中的7种数据类型?
答:数值类型、布尔类型、字符串类型、列表类型、元组类型、集合类型、字典类型
问题:如何判断一个变量到底是什么类型?
答:① 使用type(变量名称)方法,返回变量的数据类型 ② isinstance(变量名称,数据类型),只能返回True或False(真的还是假的)
# 2.1 数值类型
数值类型就是我们日常生活中的数字,数字又分为两种形式:整数 与 小数(带小数点)
整数类型:int类型
小数类型:float类型
示例1:定义一个人的信息,姓名:小明、年龄18岁
name = '小明'
age = 18
print(type(age))
示例2:定义一个超市收银系统,写入一个名称:大白菜,价格:3.5
name = '大白菜'
price = 3.5
print(type(price))
# 2.2 布尔类型
布尔类型是与逻辑相关一种数据类型,只有两个值:True(真)与False(假)
示例1:手工定义一个flag变量,其值为True
flag = True
print(flag)
print(type(flag))
其实在Python中,很多程序的返回结果也可以是True或False,比如isinstance()
num = 10
print(isinstance(num, int)) # True
print(isinstance(num, bool)) # False
# 2.3 字符串类型
在Python变量定义中,如果其赋值的内容是通过单引号或双引号引起来的内容就是字符串str类型。
msg = '这家伙很懒,什么都没有留下...'
print(type(msg))
# 2.4 其他类型
# 1、list列表类型
list1 = [10, 20, 30, 40]
print(type(list1))
# 2、tuple元组类型
tuple1 = (10, 20, 30, 40)
print(type(tuple1))
# 3、set集合类型:去重
set1 = {10, 20, 30}
print(type(set1))
# 4、dict字典类型:查询、搜索
dict1 = {'name':'小明', 'age':18}
print(type(dict1))
# 3. Python 数据类型的转换方法
函数 | 说明 |
---|---|
int(x) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
complex(real [,imag ]) | 创建一个复数,real为实部,imag为虚部 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
chr(x) | 将一个整数转换为一个Unicode字符 |
ord(x) | 将一个字符转换为它的ASCII整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
bin(x) | 将一个整数转换为一个二进制字符串 |
示例1:把用户输入的幸运数字,转换为整型
num = input('请输入您的幸运数字:')
print(type(num))
# 数据类型转换,把str字符串类型转换为int类型
print('-' * 20)
num = int(num)
print(type(num))
以上代码还可以简写为:
num = int(input('请输入您的幸运数字:'))
print(type(num))
示例2:多种数据类型转换
# 1、整型转浮点类型 int => float
num1 = 10
print(float(num1))
print(type(float(num1)))
print('-' * 20)
# 2、浮点类型转换为整型 float => int,浮点转整型,其小数点后的数据会丢失!!!
num2 = 18.88
print(int(num2))
print('-' * 20)
# 3、把字符串类型转换为整型或浮点类型
str1 = '20'
str2 = '10.88'
print(type(int(str1)))
print(type(float(str2)))
示例3:eval()方法的使用,把字符串中的数字转换为原数据类型
price = input('请输入您购买商品的价格:')
print(eval(price))
print(type(eval(price)))
str1 = '10' 经过eval(str1) 转换为int类型
str2 = '10.88' 经过eval(str1) 转换为float类型
注意
① 如果一个字符串 * 数字,代表对这个字符串进行复制操作
② 当float浮点类型转换为int整型时,其小数点后面的数据会丢失,一定要记住这个特性。
③ 字符串转数值类型,字符串中的数据必须是有意义的数值