Python 篇章(四)
一、常量概述
1、常量的定义:常量即指不变的量,如 P 3.141592653..., 或在程序运行过程中不会改变的量
2、在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量,比如:NAME = 'cc'
二、变量概述
作用:将不同类型的数据存储到内存
-
程序可操作的储存空间的名称
-
程序运行期间能改变数据
-
每个变量都有特定的数据类型
-
定义变量格式
- 变量名 = 初始值
- 可以使用
print
函数来打印输出变量的初始值
-
初始值是什么?
- 为了确定变量的类型
- 在
Python
中定义变量是不需要指定类型的Python
可以根据=
等号右侧的值,自动推导出变量中存储数据的类型- 可以使用
type
函数可以查看一个变量的数据类型
-
例如:
a1 = "lemon"
print(type(a1),a1)
<class 'str'> lemon
a2,a3 = "very","good"
print(type(a2),type(a3),a2, a3)
<class 'str'> <class 'str'> very good
a4 = a1 + a2 + a3
print(type(a4),a4)
<class 'str'> lemonverygood
a5 = input('输入:')
print(type(a5),a5)
输入:hello world
<class 'str'> hello world
三、变量的作用域(重点)
-
作用域的概念:
- 变量可以使用的范围,程序的变量并不是在所有位置都能使用的,访问的权限决定于变量在哪里定义的
-
作用域的分类:
- 局部变量
- 全局变量
1. 局部变量概念
- 概述:
- 是在函数内部定义的变量,只能在函数内部使用;不同的函数可以定义相同名字的局部变量,各用各的,彼此不会产生影响。
- 局部变量的作用:
- 在函数内部使用,临时保存函数内部需要使用的数据
- 局部变量的生命周期如下四点:局部变量的生命周期就是从定义开始到函数执行结束
- 所谓生命周期就是变量从创建到被系统回收的过程;出生--->死亡
- 局部变量在函数执行是才会被创建
- 函数执行结束后,局部变量被系统回收
- 局部变量只能在生命周期内来存储函数内部临时使用到的数据
- 示例:
def demo1():
# 定义一个变量
# 1>出生:执行了下方{num = 10}代码之后,才会被创建
# 2>死亡:函数执行完成之后这个变量就死亡了
num = 10
print("这是一个局部变量%d" % (num))
def demo2():
# print(num) # 不是自身函数内部定义的变量,不能为己使用
pass
# print(num) # 在函数内部定义的变量,不能在其他位置使用
demo1()
demo2()
2. 全局变量概念
-
全局变量:
- 是在函数外部定义的变量(而不是定义在某一个函数内),所有函数内部都可以使用这个变量
-
python全局变量引用的要求:
- 在函数内部可以通过全局变量的引用获取对应的数据值,但是,不允许直接修改全局变量的数据值。
-
全局变量的位置:
- 注意--> 在开发时,应该把所有的全局变量定义到函数上方,这样就可以保证所有函数都能够正常的访问到每一个全局变量
-
全局变量命名建议:
- 为了避免局部变量和全局变量出现混淆,在定义全局变量时,全局变量名前应该增加
g_
或gl_
的前缀
- 为了避免局部变量和全局变量出现混淆,在定义全局变量时,全局变量名前应该增加
-
示例
num = 10
def demo1():
# {num = 100}希望修改全局变量的值
# 但是,在python中是不允许在函数内部直接修改全局变量值的
# 如果直接使用赋值语句,仅会在函数内部定义一个和全局变量相同名字的局部变量
num = 100
print("demo1 == %d" % (num), id(num))
demo1()
print(f"num = {num}", id(num))
- 那怎么才能在函数内部修改全局变量的值呢?
- 示例
num = 10
def demo2():
#{num = 100}希望修改全局变量的值 -> 使用global声明一下变量即可
#global关键字会告诉解释器后面的变量是一个全局变量,随后再使用赋值语句是,就不会创建局部变量,而是修改全局变量的值
global num
num = 100
print("demo2 == %d" % (num),id(num))
demo2()
print(f"num = {num}", id(num))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律