我看过一本书里,python的自定义类中,有一批前后加下划线的函数,叫魔法方法,作用是当你定义了这些函数,那么在你对这个类进行对应的操作的时候会自动调用这些函数。比如,init就是你创建该类的一个新对象时自动执行的函数,一般用来初始化这个对象的一些属性。在c++里的它就是构造函数,这其实很好理解……不过题主说自己没有编程背景,emmmm…
看实例是学编程时最有效的方法之一。给你一个超简单的示例:
class people:
def __init__(self,name,age,gender):
self.name = name
self.age = age
self.gender = gender
return
def show_info(self):
print('Name: ' + self.name)
print('Age: ' + int(self.age))
print('Gender: ' + self.gender)
return
(知乎这里面不能敲tab……就用一个空格表示缩进了,能明白就行。)
上面就是定义了people这个类,__init__这个函数会在你创建一个people类的对象时自动调用,也就是当你:
clearlove = people('Mingkai',777,'Male')
这样时,自动执行以下内容:
clearlove.name = 'Mingkai'
clearlove.age = 777
clearlove.gender = 'Male'
(以上内容默认用户会按规矩依次输入字符串,整数,字符串,而不会搞些花里胡哨的东西。)
2.题主说自己在学机器学习,然后“目前努力尝试把各种机器学习算法用python来实现”。给你两个建议。
一是学机器学习,不需要你把算法用python来实现,既然你在学,那么你一定知道scikit-learn这个库,该有的都有了,你大可
from sklearn.xxxx import xxxxxx
然后快乐地用它来训练你的数据,自己重新造一遍轮子一来不会让你实践操作时更方便,二来从锻炼编程能力的角度上来看也不如找编程题目刷刷来得实在。
当然这这是建议而已……不排除你以后写出比sklearn效率更高的库的可能……
本来有两个建议的,第一个写完把第二个忘了,那就没了,祝学习顺利。