python函数里面引用外部变量_Python 零基础知识学习

本文介绍了Python中全局变量和局部变量的概念。全局变量在整个文件中有效,直到程序结束;局部变量只在特定代码块中有效。通过示例代码解释了函数内部如何引用和修改全局变量,以及如果不正确引用会引发的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3bcd6fd71cb792ef1c6afd5bf54875d3.png3bcd6fd71cb792ef1c6afd5bf54875d3.png

cc828b789087d1bfd5e4394b23938c55.gif

在开始学习Python之前,首先进入python shell ,输入:import this 命令,如下图所示:

5321aa3a49fa869deafa9912d974eb6b.png

3bcd6fd71cb792ef1c6afd5bf54875d3.png

当你看见这段话的时候,说明你的python环境已经搭建完成,你所看见的内容是python之禅,这也是python设计的哲学,在以后的学习中,我们也将深刻体会。

1b54dfe1656854997c81657ebdced987.png

Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python的优点:易于学习,结构简单;易于阅读、维护,代码清晰;拥有一个广泛的标准模块,可跨平台;与 Linux 、Windows 和 OS兼容很好。

环境搭建

访问 Python 网站:https://www.Python.org

进入官网后下载最新版本的Python3,可以根据自己的平台选择版本,

对于windows用户来说,如果是32位操作系统则选择x86版本,

如果是64位,则选择64版本,下载完成进入安装界面默认

选择 Install Now,然后勾选 Add Python 3.x to PATH 完成安装。

等待安装完成之后,运行窗口输入cmd 进入命令行,输入:python,

如果看到版本信息,说明安装成功。

Pycharm的安装:下载Pycharm,选择社区版默认安装即可。

打开方式:

1)打开python自带的idle,就可以编写Python程序

2)windows命令提示符,输入:python,进入 python shell 模式

f7715b12c4db6b8e645a472366168eb0.png6afdc530e0c2b8bf6db29e149cbefe18.png

注意:当系统提示python不是内部或外部命令,别急,把python的安装目录添加在系统环境变量Path下面即可。右击电脑-属性-高级系统设置-环境变量-系统变量-变量名:Path 变量值:python安装目录,也可以在安装的过程中,勾选add python to path,在安装完成会自动配置好path变量。

0a99163c7304cea3bd911bdbe87d0c8c.png3cf9713460bfff44c7694ff1459b8835.png
语法规范

换行与缩进
1)一条代码为一行,例如:一个赋值、一个请求、一个运算

一个打印,结尾不需要添加任何标点符号


2)根据代码的执行逻辑进行区分,同一级别的代码需要保持对齐

对与不同级别的代码进行缩进即可

a=1b=2c=a+bprint(c)

运行结果:

958376e3c65d55d872c229bdce8eea5a.png

a=1if a<0:    print("负数")else:    if a==0:        print("零")    else:        print("整数")

运行结果:

d8de774ebb040c192a7c7d2fb09ef6de.png

模块引入

如果在python中需要调用其他方法,而这些方法又存在于python的标准模块或者第三方模块之中,那就需要对模块进行引入,只有引入模块,才能对其进行调用

import 模块名

import randoma= random.randint(0,1000)print(a)

运行结果:

834e165d5a3794bd3d89fc2025d5bd4b.png

代码说明:
1、需要引入random,才能使用里面的方法
2、调用random模块中的randint()函数,这个函数会随机生成一个0-1000以内的随机数,并将结果复制给变量a
3、打印变量a中的随机数

import 模块名(备注:模块.子模块.函数名)

import sysa= sys.modules.keys()print(a)

运行结果:

3a95e44062dcf8a7277f54ab6c5f6e3e.png

代码说明:
1、引入sys模块
2、调用模块中的moules子模块下的keys()函数,并将结果赋值给变量a
3、打印变量a中的数据

来自 模块 import 子模块

from sys import modulesa=modules.keys()print(a)

运行结果:

23bdf75a2824f3f9f3185e711833566e.png

代码说明:
1、直接从sys模块中引入modules子模块
2、直接调用modules子模块的keys()函数,并将结果赋值给变量a
3、打印变量a中的数据

只有modules模块下的方法可以调用,sys模块下的方法不可以调用

来自 模块 import 所有子模块

from sys import *a=modules.keys()print(a)

运行结果:

23bdf75a2824f3f9f3185e711833566e.png

代码说明:
1、直接从sys模块中引入modules子模块
2、直接调用modules子模块的keys()函数,并将结果赋值给变量a
3、打印变量a中的数据
三种方式运行结果一致,区别在与不单指某个子模块,*代表所有子模块,

可根据实际需要灵活运用

变量

变量 由字母、数字或者下划线任意组合而成,唯一约束就是变量的第一个字符必须是字母或者下划线,不可以是数字。

1、变量可以存储任何值,并不需要声明类型

2、变量在使用前必须赋值,赋值完成该变量才会被创建

3、变量名=变量值

a=100b="pangyongjuan"c=1.11print(type(a))print(type(b))print(type(c))

运行结果:

6c0a6998ec2a401b2b48f5d199248db6.png

代码说明:

1.给变量a赋值100 的整数,a就是整数类型

2.给变量b赋值pangyongjuan 字符串,b就是字符串

3.给变量c赋值1.11的浮点数,c就是浮点型

变量不仅可以赋值各种类型,而且还可以随意改变类型

局部变量:是对于部分代码有效,只要该部分代码结束变量将无法继续使用

def a():    b = 1if __name__=="__main__":    a()    print(b)

运行结果:

f2631a85b465bfa778916cc8b51f0150.png

代码说明:

1.定义一个函数a

2.定义变量b,并赋值1

3.主函数调用

4.调用自定义函数a

5.打印变量a

因为b在执行完第四行a函数就已经被回收了,执行第五行时发现a不存在a这个变量,所以报错,如果要打印需在a函数中执行

注意:当你敲这段代码练习的时候,你可能会遇到NameError: name '_name_' is not defined这样的错误,我在练习的时候同样也遇见了,在网上查了一番,原因很简单,其实name 前后是双下划线

0a99163c7304cea3bd911bdbe87d0c8c.png3cf9713460bfff44c7694ff1459b8835.png

全局变量:全局变量是对于整个文件有效,直到程序结束才会使用结束

全局变量一般定义在文件开头,不能放在某个函数之中,这样的话可以以作为全局变量被外部文件或者文件内其他函数调用,但是调用时需要通过一个 global + 变量的方式引用全局变量

a = 1def b():    global a    print(a)if __name__=="__main__":    b()    print(a)

运行结果:

eeda9066195f088722a0cca85d46c70c.png

代码说明:

1.定义全局变量a并赋值1

2.定义一个b函数

3.引用全局变量a,并打印a值

5.调用主函数

6.调用b函数

7.打印a值

因为a是全局变量,可以理解为公用变量,全局变量是可以被函数所改变的

a = 1def b():    global a    a=2if __name__=="__main__":    b()    print(a)
运行结果:

2e3cccc8b808bd1b04844fe60811cc58.png

可见全局变量也是可以被引用后改变的,并以最后一次改变的值作为最终的值

257bf85f9425133782b06c4183003f4f.gif

378e64ef73536db96d2de0d1ddf9df92.png

点击关注

等你来撩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值