1函数传递参数过程中,有可能会遇到不确定参数个数的情况,可以使用*arguement来表示传参的不确定,还可以使用字典接受参数,具体写法为
def func(first,second,**arguements)
object={} #创建一个对象
object['first'] = first #将key,value对应
object['second] = second
for key,value in object2.items():
object[key] = value
return object
object2 = {......class = 8,
grade = 3......}
当然了 我们可以把写好的函数放到一个类里面,然后把类放到一个.py文件里面 然后将其作为一个模块导入,里面的函数可以直接调用,具体的使用方法为
form module_name import function_name
或者为了精简代码也可以直接给导入的函数赋值
form module_name import function_name as i
然后直接使用
i( )就可以调用函数了,不过如果模块的方法命名比较规范的话就不推荐再改一次名字了
在引用之前写一行注释就行了
当然也可以用*全部引入,不过问题在于 有可能引入的不同模块之间有着相同的名称,但是你不清楚,因此导致一些未知的bug
所以
form model_name import *
最好慎用
值得注意的是 虽然Python大部分书写都要求=左右需要有空格隔开,但是在形参里面给默认值的时候不要
func(arguement = ‘name1’) 这种写法
如果手写模块 记得注明作者 时间 版本 功能(需要传入的参数类型 传出的参数类型)
2类 面向对象编程
面向对象编程一直是一个很吸引人的地方 灵活的可调用性直接助长了提升了语言的实用性,就近来说C就是因为面向过程本身不得不改进出C++,当然了Python也是面向对象的,这个问题本身不是一个大问题。多写写应该就熟练了
关于第一个形参 self ,self指向实例本身,应该相关于一个改变指针的变量 也就是this
反正js是这样写的
function(name,age){
this.name = name;
this,age = age;
}
python的函数调用看起来很简单
类名.方法名 或者 类名.属性名
一般的 Python会的类会设置一个默认执行函数
def init (arguement)
然后直接用一个变量名过来接收 方法名就成了
3继承 和调用
class son(father): #申明函数名和继承的父类名称
def __init__(self,name,age,hobby) #初始化父类的属性
super.__init__(name,age,hobby) #继承父类的方法
对于某些已经封装完毕的方法 我们不太可能把源码拿出来重新在写一次,于是就有了继承,在继承的函数上书写,不仅大量的节约的时间,同时也丰盛了代码库 还是那句话 不管你写什么都应该注明是干嘛的,除非你一个人就是一个工厂