python的class和import中各种变量的使用

test1.py

#!/usr/bin/python
#encoding:utf-8
 
global_variable_1 = 'global_variable'    # define global variable
 
class MyClass():

    class_var_1 = 'class_val_1' # define class variable 
    
    def __init__(self, param):
        self.object_var_1 = param # define object variable 
        self.object_var_2 = 'object_val_2' 
        self.object_func3()
 
    def object_func1(self, param):
        print(global_variable_1)
        local_var_1 = param # define lcoal variable 
        local_var_2 = 'local_val_2' 
        self.internal_var_1 = 'internal_val_1' # define internal variable 
        print(local_var_1) 
        print(local_var_2) 
        print(MyClass.class_var_1) 
        print(self.class_var_1)
        print(self.object_var_1) 
        print(self.object_var_2)
        print(self.internal_var_1) 
        #print(local_var_3) # we can't use local variable in another function         
 
    def object_func2(self, param='func_val_1'):
        local_var_3 = param 
        print(local_var_3) 
 
    def object_func3(self, param='func_val_1'):
        self.object_var_3 = param 
        self.object_var_4 = 'object_val_4'         
            
    # define class function
    def class_func4():
        print(global_variable_1) 
        print(MyClass.class_var_1)        
 
if __name__ == '__main__':

    myObject = MyClass('object_val_1')
        
    print(global_variable_1)    
    print(MyClass.class_var_1) 
    #print(MyClass.object_var_1) # we can't use object variable here
    print(myObject.object_var_1) 
    print(myObject.object_var_2) 
    print(myObject.object_var_3)
    print(myObject.object_var_4)  
    #print(myObject.internal_var_1) # we can't use internal_var_1 untill object_func1 is executed
    
    myObject.object_func1('local_var_1') 
    myObject.object_func2('local_var_3') 
    #MyClass.object_func2(myObject, 'local_var_3') # internal variable can't be used in this function
    MyClass.class_func4() 
    #myObject.class_func4()  #we can't use object function here    
    
  1. 类变量:能够通过类名或者object的self来访问到,在类的内部和外部均可达,如class_var_1

  2. 对象变量:可以通过对象的self来使用的变量,如object_var_1, object_var_2, object_var_3, object_var_4

  3. 内部变量:可以在函数中定义,并加上self前缀,在初次调用过定义的函数后,就可以在后面的对象的函数中被使用,如internal_var_1

  4. 局部变量:在函数内部定义并使用的变量,在使用完之后就会被回收,对类及object不可见,如local_var_3

  5. 全局变量:定义在类或者函数外部,作用域在变量被定义之后的任意代码段,如global_var_1

test2.py

# encoding=gbk
import test1

print(test1.global_variable_1 )
print(test1.MyClass.class_var_1)
#print(test1.MyClass.object_func2.local_var_3 ) # we can't use local variable here
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonimport()函数是用于导入其他Python模块的函数。通过导入其他模块,我们可以在当前的Python程序使用该模块的功能和变量使用import()函数的基本语法是:import 模块名。模块名可以是Python标准库的模块,也可以是自己编写的模块或第三方库的模块。 除了基本的导入语法之外,还有一些高级用法,例如使用import ... as ...来给导入的模块起别名,或者使用from ... import ...语句来只导入模块的部分函数或变量。 需要注意的是,在Python,模块是一种可重用的代码单元,它可以包含变量、函数、类和其他模块。通过模块化的编程,我们可以更好地组织我们的代码,使得代码更加可读和易于维护。是的,您理解得非常正确。import()函数是Python常用的用于导入其他模块的函数,它使得我们可以在当前的Python程序使用其他模块的功能和变量。 在Python,模块是组织代码的基本单元,可以包含变量、函数、类和其他模块。使用模块化的编程方法可以更好地组织代码,使代码更加易读和易于维护。通过import语句,我们可以轻松地导入其他模块,以便在当前代码使用它们的功能。除了基本的import语法之外,我们还可以使用import ... as ...给导入的模块指定别名,或使用from ... import ...语句只导入模块的部分函数或变量import()函数可以用来加载Python模块,它可以从本地文件系统或其他位置导入模块。在Pythonimport()函数是用于导入其他Python模块或者脚本的。当Python解释器遇到一个import语句时,它会在sys.path指定的路径搜索指定的模块文件,并加载它。 import语句的基本语法如下: ``` import module_name ``` 其,module_name是要导入的模块名,可以是Python标准库的模块,也可以是第三方库或者用户自定义的模块。在导入模块时,Python会执行该模块的代码,因此可以在该模块定义变量、函数、类等。 除了直接导入整个模块之外,还可以从模块导入指定的函数、类、变量等。这可以通过以下方式实现: ``` from module_name import function_name, class_name, variable_name ``` 其,function_name、class_name和variable_name是要导入的函数、类和变量的名称。 另外,还可以使用as关键字给导入的模块、函数、类或变量指定别名,这可以通过以下方式实现: ``` import module_name as alias_name from module_name import function_name as alias_name ``` 其,alias_name是指定的别名。通过指定别名,可以避免名称冲突,同时使代码更易读和理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值