python 函数外面的变量能在里面使用吗? 查看变量类型的python的内置函数
- Python变量可以只定义不赋值吗?
- Python 怎么从定义的函数之外调用其中的变量
- Python 内部函数对于外部函数的调用
- python 有些函数是在参数函数外面用,比如x.upper()。有些在括号里面用average(*args)。为什么会有2种使用
Python变量可以只定义不赋值吗?
题主你好,
答案肯定是不可以的.
我在官方文档上找了一段话,希望对你的理解有帮助:
先看第二个红框,说的是:
如果使用一个未被定义的变量, 解释器会报错.
关键是括号中粉底的那三个词assigned a value,用来解释python中怎么才叫定义一个变量,也就是说你想定义一个变量必须要给它赋值,只有给一个名称赋了值,才叫定义了一个变量. //有的语言中, 可以使用某个关键字先声明一个变量, 而赋值的操作可以后面做; 还有的语言,你可以只声明变量而不赋值, 后面使用该未赋值的变量时, 解释器会根据你声明的类型赋一个默认值,等等; 也就是说不同语言对变量的处理逻辑可能不同.而 python对变量的处理逻辑就是: 定义和赋值二者绑在一块了, 即赋值的过程同时完成了"定义+赋值", 不存在"只定义"这个过程.
而python中变量的赋值在第一个红框中也说明了,就是 使用等号连接变量和值, 左边变量右边值.
-----
希望可以帮到题主, 欢迎追问, 如果有啥错误欢迎指正.
Python 怎么从定义的函数之外调用其中的变量
# -*- coding:utf8 -*-
from Tkinter import *
from tkFileDialog import
askopenfilename
root = Tk()
root.title()
root.geometry()
def open_file():
file_path = askopenfilename(filetypes=(("files", "*.txt"),("All files", "*.*")))
t.insert(END, file_path +'\n')
print file_path
print file_path
t = Text()
t.pack()
Button(root, text="Open File",command=open_file).pack()
root.mainloop()
按你的思路来啊,首先说为什么会报错。。你发现你定义了一个open_file函数之后就直接print file_path了嘛,可是这个时候file_path还没定义诶。。然后你这个file_path是一个局部变量,想要在函数外部使用必须global。。
# -*- coding:utf8 -*-
from Tkinter import *
from tkFileDialog import askopenfilename
root = Tk()
root.title()
root.geometry()
file_path = askopenfilename(filetypes=(("files", "*.txt"),("All files", "*.*")))
def open_file():
global file_path
t.insert(END, file_path +'\n')
print file_path
print file_path
t = Text()
t.pack()
Button(root, text="Open File",command=open_file).pack()
root.mainloop()
所以代码就成了这样
Python 内部函数对于外部函数的调用
可以把变量设置为全局变量:def fun1(): global var1 ...def fun2(): global var1
python 有些函数是在参数函数外面用,比如x.upper()。有些在括号里面用average(*args)。为什么会有2种使用
面向对象和面向过程