【python】class和module、import学习(二)

先说类(class)部分,声明一个类 Dino.py

class Dino(object):
	"""docstring for ClassName"""
	name = 'green dino'
	def __init__(self, name=''):
		super(Dino, self).__init__()
		self.name = name
		
	def getName(self):
		print(self.name)

再声明个模块 first.py

def getArrayKey(list, keyname):
	result = []
	for item in list:
		result.append(item[keyname])
	return result

def getName():
	print('mod name')

应用方式一:直接import文件,所有的方法和类都集成在变量下

import Dino
import first

dino = Dino.Dino(arguments)
dino.getName()
first.getName()

应用方式二:from name import * 所有的方法或者类直接可以使用

【注】如果导入的两个模块下有相同的方法以后导入的方法会覆盖前面导入的方法

from Dino import *
from first import *
from second import * //getName()

dino = Dino(arg)
getName() //执行的second里面的getName

应用方式三:from name import class or fun 导入指定的方法

把Dino.py加工下


class Dino(object):
	"""docstring for ClassName"""
	name = 'green dino'
	def __init__(self, name):
		super(Dino, self).__init__()
		self.name = name
		
	def getName(self):
		print(self.name)

	def getArrayKey():
		print('123')


class Dog(object):
	"""docstring for Hell"""
	def __init__(self, arg):
		super(Hell, self).__init__()
		self.arg = arg
		

这样可以只导入所用到的方法

from Dino import Dog
from first import getName

dog = Dog('yellow')
getName()

最后补充一点

if __name__ == '__main__':

很多时候都看到模块里面有这行代码,这行代码个人常识之后只有独立执行改py文件的时候才会运行下面的代码,这点对单独测试某个模块或者包比较友好,很方便。

发布了77 篇原创文章 · 获赞 5 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/uk_51/article/details/89645736
今日推荐