变量:含义
一个容器,计算机当中的存储空间。
可以理解为一个用于标识或引用数据的名字或标签。
作用:
可以通过定义一个变量来给需要使用多次的数据命名,就像一个标签一样。下次需要使用这个数据时,只需要通过这个变量名就可以直接提取,大大提高了效率。
基本格式:
变量=数据(值)
直接给变量赋值
# num = 100 # 将数据100保存到变量num中
# print(num)
将一个变量的值赋给另一个变量
# num2 = num
# print(num2)
将运算结果赋给变量
# result = num + num2
# print(result)
注意:print("xxx")和print(xxx)的区别
# print(num) # NameError: name 'num' is not defined. Did you mean: 'sum'?
不加引号,被识别为变量名。任何变量在使用之前都必须先被赋值,因为只有在赋值之后,该变量才会被创建,之后才能被程序识别和使用。
# print("num")
加上引号,会被视为字符串类型的数据,数据可以直接被输出或使用的。
同一个变量可以被反复赋值
# money = 100
# print(money) 结果是100
# money = money - 50
# print(money) 结果是50
# a = 1
# a = 5
# a = 10
# print(a) 结果是10
# 代码遵循自上而下逐行执行的顺序。
序列赋值
# 变量名1, 变量名2, 变量名3, ..., 变量名n = 值1, 值2, 值3, ..., 值n
标识符:含义
在Python中,标识符用于给变量、函数、类或其他对象命名。
标识符规定[必须遵守,否则会报错]
只能由数字、字母、_(下划线)组成
# user_name1 = "lzy"
# print(user_name1)
# user name = "lzy" # SyntaxError: invalid syntax 变量名中有空格
注意:
① Python允许使用中文命名标识符,但出于代码规范性和可读性的考虑,通常不推荐这样做
#姓名 = "lzy"
#print(姓名)
② 给标识符外加括号通常不会导致语法错误,因为括号本身不会对标识符产生直接影响
# (name) = "lzy"
# print((name)) 结果是lzy
# print(name) 结果是lzy
# (user)name = "lzy" # SyntaxError: invalid syntax
- 不能以数字开头
这确保了标识符的开头能够清晰的表明其是一个标识符,而不是一个具体的数据.
# _name1 = "lzy"
# print(_name1)
# 1stu = 1 # SyntaxError: invalid decimal literal
- 不能是关键字
关键字:已经预定义并赋予特殊功能和含义的标识符. 当在Pycharm中输入关键字时,它们的字体颜色通常会发生变化,以便于开发者识别和区分.
# False = 1 # SyntaxError: cannot assign to False
- 严格区分大小写
Python是大小写敏感的编程语言.
# myVar = 1
# MyVar = 2
# MYVAR = 3
# print(MyVar) 结果是1
# print(myVar) 结果是2
# print(MYVAR) 结果是3
# 在定义和使用标识符时,必须精确匹配其大小写.
变量的命名规范
[旨在提升代码的可读性\可维护性和团队协作的效率,不具备绝对的强制性,但是被视为一种良好的编程习惯,强烈推荐并尽量遵循]
1) 见名知意
变量名应具有描述性,能够清晰的表达变量的用途或所存储的数据类型.
# name = "lzy" #名字
# print(name)
# age = 18 #年龄
2) 下划线分割法(Python中常用的变量命名方式)
# 变量名中的每个单词都用_(下划线)来连接
# user_name = "lzy"
# employee_id = 1
3) 大驼峰命名法(Python中常用的类命名方式)
# 变量名中的每个单词首字母都大写,不使用下划线
# UserName = "lzy"
# EmployeeId = 1
4) 小驼峰命名法
# 变量名中的第一个单词首字母小写,从第二个单词开始每个单词的首字母大写,其余字母小写,不使用下划线.
# userName = "lzy"
# employeeId = 1
简单的数据类型
数值类型
1) 整型 int
用于存储任意大小的整数
# age = 18
# print(age)
检测数据的数据类型:type(要检测的数据)
# print(type(age)) <class 'int'>
整型可以表示非常大/小的数
# num = -1000
# print(num, type(num)) 结果-1000 <class 'int'>
2) 浮点型 float
用于存储带有小数部分的数值.
定义浮点型变量
# height = 1.83
# print(height, type(height)) 结果 1.83 <class 'float'>
浮点型可以非常大或非常小
# num = 1234567890123456789012345.0
# print(num, type(num))
结果1.2345678901234568e+24 表示1.2345678901234568乘以10的24次方
3) 布尔型 bool
只有两个明确且固定的值:True(真) False(假),它通常用于逻辑判断\条件控制等编程场景.
# v1 = True
# print(v1, type(v1)) 结果是 True <class 'bool'>
# v2 = False
# print(v2, type(v2)) 结果 False <class 'bool'>
注意:① 布尔类型的数据值True和False是严格区分大小写的.
# print(type(False)) # <class 'bool'>
# print(type(false)) # 标识符/变量名《====这里会报错
② 布尔值在需要时可以被隐式地转换为整型(int),其中True被当作整数1处理,而False被当作整数0处理,这种隐式转换在参与数学运算\进行条件判断以及循环控制等场景中非常有用.
# print(True + 2) # True 被当作 整数1 处理 结果是3
# print(False - 3) # False 被当作 整数0 处理 结果是-3
4) 复数型 complex --了解
是一个基础性的数学概念,由实部和虚部组成
广泛应用于数据计算领域.
定义复数型变量
# c = 2 + 3j # j(或J)在复数中作为固定地虚数单位,不可更改
# print(c, type(c)) 结果是(c=2+3j) <class 'complex'>
字符串 str
以单引号\双引号或三引号界定的数据,用于存储和表示文本信息,其中三引号特别适用于包含多行内容的字符串.
定义字符串类型的数据
(1)使用单引号
# s = 'Hello World'
# print(s, type(s)) 结果是Hello World <class 'str'>
(2)使用双引号
# s2 = "Hello World!"
# print(s2, type(s2)) 结果是Hello World! <class 'str'>
(3)使用三引号(多行字符串)
# s3 = '''这是一个
多行字符串'''
# print(s3, type(s3)) 结果是 这是一个
多行字符串 <class 'str'>
使用三引号(另一种形式)
# s4 = """这也是一个
多行字符串"""
# print(s4, type(s4)) 结果是 这也是一个
多行字符串 <class 'str'>
格式化输出:含义
通过将值插入字符串占位符来生成格式化的字符串,让数据更加清晰\易读,并符合特定格式.
实现方式
1) % 操作符
# name = "lzy"
# age = 18
# 输出: lzy今年18岁了!
# print(name, "今年", age, "岁了!", sep="")
# print("%s今年%d岁了!" % (name, age))
2) str.format()
# name = "lzy"
# age = 18
# print("{}今年{}岁了!".format(name, age))
3) f-string
# f-string是Python 3.6版本中引入的一种新的字符串格式化方法.它们提供了一种简洁\直观且性能优异的方式来嵌入变量和表达式的值到字符串中,该方法简单易读.
① 基本使用
# f-string通过在字符串前加上f或F来标识,并允许在字符串中直接嵌入表达式.
表达式被大括号{}包围,其计算结果将被转换为字符串并插入到相应的位置.
# name = "lzy"
# age = 18
# 输出:lzy今年18岁了!
# print(f"{name}今年{age}岁了!")
# print(F"{name}今年{age}岁了!")
② 支持表达式
# f-string支持在字符串中嵌入任意的Python表达式,包含函数调用\算术运算\属性访问等.
# n1 = 3
# n2 = 4
# 输出:3 * 4 = 12 3 + 4 = 12
# print(f"{n1} * {n2} = {n1 * n2}")
# print(f"{n1} + {n2} = {n1 + n2}")
③ 设置整数位数
# 对于整数,可以设置其显示的最小宽度,并使用0或空格作为填充字符来达到这个宽度.
# sid = 1
# 输出:我的学号:001
# print(f"我的学号:{sid:3d}") # 3d:表示3位数,不足默认前面补空格 我的学号: 1
# print(f"我的学号:{sid:03d}") # 03d:表示3位数,不足默认前面补0 我的学号:001
④ 保留小数精度
# 对于浮点数,可以通过指定小数点后的位数来保留精度.
# pi = 3.141592653589793
# print(f"pi保留两位小数:{pi:.2f}") # .2f:保留2位小数,超出2位小数则遵循四舍五入规则 pi保留两位小数:3.14
# num = 3.14
# print(f"num保留4位小数:{num:.4f}") # .4f:保留4位小数,不足4位小数则后面补0 num保留4位小数:3.1400