- 博客(6)
- 收藏
- 关注
原创 Python居然可以定义两个同名通参数的函数
一个意外的场景,我发现Python模块中是可以定义相同的名称和参数的函数的,虽然在eclipse中报错了,但是执行时没有问题的,这个是IDE的问题。其中的含义是因为第一个函数原本由test指向,然后解释器解析到第二个test函数时,相当于test指向了第二个函数,那么调用test()时,执行的是第二个函数内容。最近发现python更加灵活和自由,但是需要知道其中的原理,不然会输出莫名其妙的结果。...
2018-03-29 13:48:24 10718
原创 Python对象的命名和私有化
在Python中常见的变量和方法等命名通常是这样的:name:一般变量,在类中,类外都可以使用,对象直接可以访问__name:双下划线私有变量,在类中可以访问,类外不能直接访问_name:单下划线的变量,与双下划线有点类似也是私有变量,区别在于from 模块 import *时不能导入,类和对象能直接访问__init__:类似这样的两边都有的双下划线的方法时系统具有特殊功能的方法,一般不要这样...
2018-03-28 15:55:04 807
原创 Python浅拷贝和深拷贝的思考
简而言之,浅拷贝就是只是复制了引用,并没有复制引用指向地址的内容,可以看做是同一个对象,使用is操作符时返回true,而深拷贝刚好相反,不管变量或者对象包含多少其他的引用都原模原样复制一份,即在内存中开辟了新的空间。 1、Python的浅拷贝: 浅拷贝内存示意图: 2、Python的深拷贝 深拷贝内存示意图: 在copy包...
2018-03-28 11:28:01 256
原创 Python模块导入时全局变量"__all__"的作用
Python中一个py文件就是一个模块,“__all__”变量是一个特殊的变量,可以在py文件中,也可以在包的__init__.py中出现。1、在普通模块中使用时,表示一个模块中允许哪些属性可以被导入到别的模块中, 如:全局变量,函数,类。如下,test1.py和main.py test1.py__all__=["test"]def test(): print('----tes...
2018-03-26 10:49:26 7266 1
原创 Python模块导入与__name__变量的使用
我有以下三个python文件:在python中每一个py文件都是一个模块,不管里面写了什么。现在main.py调用test1模块,那么导入的方式可以是:import test1导入test1包,在使用其中的类或者方法时,需要指定,如:test1.test()from test1 import * 导入test1模块所有的内容,在main中可以直接test()from test1 impo...
2018-03-24 23:39:20 746
原创 Python获取对象的应用个数
在Python中获取对象的应用个数是使用sys模块。如下:In [1]: class Myclass: ...: pass ...:In [2]: c = MyClass()------------------------------------------------NameError Traceb&l...
2018-03-21 20:11:29 2038
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人