Python中的def __init__( )函数

在这里,我们要区分两个函数:

第一种形式def __init__(self):

这种形式在__init__方法中,只有一个self,指的是实例的本身,但是在方法的类部,包含三个属性:feature_index、threshold和alpha。它允许定义一个空的结构,当新数据来时,可以直接添加。实例化时,需要实例化之后,再进行赋值。

def __init__(self):
    # 特征索引
    self.feature_index=None
    # 特征划分阈值
    self.threshold=None
    # 指示分类准确率
    self.alpha=None

第二种形式def __init__(self, 参数1,参数2,···,参数n):

这种形式在定义方法时,就直接给定了三个参数feature_indexthresholdalpha,且属性值不允许为空。实例化时,直接传入参数。

def __init__(self,feature_index,threshold,alpha):
    # 特征索引
    self.feature_index=feature_index
    # 特征划分阈值
    self.threshold=threshold
    # 指示分类准确率
    self.alpha=alpha

区别很明显,前者在__init__方法中,只有一个self,指的是实例的本身,但是在方法的类部,包含三个属性,feature_index、threshold和alpha。

下面的这个即是在定义方法时,就直接给定了两个参数。

针对这样的两个,之前不解的地方,是如何实例化,第二个很明显就是直接实例化时,传入相应的参数,而第一种,则需要实例化之后,对属性进行赋值。

两者的区别:

第一种的区别,他定义了这样一种类,他可以是一个空的结构,比如学生的表,当学生还没有进行考试时,他已经有了学生的姓名和成绩,当新的数据来的时候,可以直接添加进来。这个可以很方便的进行;

而第二种,则需要必须传值,不允许为空。当然第二种对于已有数据的导入是很方便的,在语句上减少了很多。

我们看一下第一种形式的实现方法:

class Student:
    def __init__(self):  # 两者之间的区别
        self.name = None
        self.score = None

    def print_score(self):
        print("%s score is %s" % (self.name, self.score))

    def classify_grades(self):
        if self.score >= 80:
            return "A"
        elif self.score >= 70:
            return "B"
        else:
            return "C"

student = Student()
student.name = "sansan"
student.score = 90

student.print_score()
print(student.classify_grades())

我们接下来看一下第二类方法的实现:

class Student:
    def __init__(self,name,score):  # 两者之间的区别
        self.name = name
        self.score = score

    def print_score(self):
        print("%s score is %s" % (self.name, self.score))

    def classify_grades(self):
        if self.score >= 80:
            return "A"
        elif self.score >= 70:
            return "B"
        else:
            return "C"

student = Student('xiao ming',90)
student.print_score()
print(student.classify_grades())

以上是一个很简单的,两者比较,两者都在上述代码中进行了简单的实现,自己进行相应的注释。

到此这篇关于Python中的def __init__( )函数的文章就介绍到这了,更多相关Python def __init__( )内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python collections.defaultdict模块用法详解

    Python中通过Key访问字典,当Key不存在时,会引发'KeyError'异常.为了避免这种情况的发生,可以使用collections类中的defaultdict()方法来为字典提供默认值. 语法格式: collections.defaultdict([default_factory[, -]]) class defaultdict(Dict[_KT, _VT], Generic[_KT, _VT]): default_factory: Callable[[], _VT] 该函数返回一个类似

  • 浅谈Python中的函数(def)及参数传递操作

    如下所示: #抽象 (函数) # 1.callable 判断一个对象是否可以被调用 x = 1 def y(): return None callable(y) # y可以被调用 callable(x) # x不可以被调用 # 2.当函数没有return时 函数将默认返回None # 3.放在函数开头的字符串成为文档字符串 如下: def square(x): 'my name is hexianmin' #这个为文档字符串 将作为函数的一部分存储起来 return x*x # 4.函数中的 '

  • python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法: def 函数名(参数1,参数2,参数-): 函数体(语句块) return [返回值] 注意事项 函数名的命名规则:和标识符的基本规则是一样的,基本上由小写字母和数字下划线构成 def 是关键字,不能够修改(define的简称) 函数后面一定要加括号(英文状态的)括号里面是否加参数看具体情况 括号后面的冒号不能够忘记 函数体必须加上缩进(

  • python def 定义函数,调用函数方式

    python def 定义函数,调用函数方式 def sum_2_nums(a,b): #def 定义函数 result = a+b print('%d+%d=%d'%(a,b,result)) num1 = int(input('请输入第一个数字:')) num2 = int(input('请输入第二个数字:')) sum_2_nums(num1,num2) #调用函数 定义和调用的函数,1:个数相同 :2:顺序 一 一对应 这样才能正确实现 补充知识:python中list作为全局变量无需g

  • python中def是做什么的

    Python使用def开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的 具体功能实现代码,如果想要函数有返回值, 在expressions中的逻辑代码中用return返回. 基本使用 def function_name(parameters): expressions 实例 def function(): print('This is a function') a = 1+2 print(a) 上面我们定义了一个名字为 function 的函数,函数没有不接受参数,所以括号内部为

  • python编程webpy框架模板之def with学习

    目录 一:模板的理解 二:简单模板 三:def with 四:注意 一:模板的理解 模板是将一个事物的结构规律予以固定化.标准化的成果. 例如:网页的组成需要是html,head,body,你只要按照它的规则来写,里面具体是怎么执行的,你需要去了解其他知识. web.py:页面统一通过html文件和后台的类来对应,web框架为html文件获取类中的参数提供了完整的机制. 二:简单模板 1.  在你的目录下新建文件html,在该文件夹下创建index.html文件 index.html中的内容:

  • Python中defaultdict与dict的差异详情

    目录 一.问题描述 二.解决方案 三.结语 本文转自微信公众号:"算法与编程之美", 一.问题描述 在collections模块中的defauldict使用时与dict有何不同,为何我们用dict中的key值不存在时会报错,而defaudict不会报错,下面做出解答. 二.解决方案 以解决遇到的问题用来解答. 代码示例: import collections //引用collections模块 dic=collections.defaultdict(int) //利用模块中的defau

  • python中defaultdict字典功能特性介绍

    defaultdict是普通字典dict的一个子类.通过collections库的defaultdict()方法创建.defaultdict()需要传入的参数为 类名.(type类型)首先,以int类 作为参数传入为例, from collections import defaultdict dedict = defaultdict(int) print(dedict) 不同于普通的字典,其特性在于,当用一个defaultdict中不存在的键来调用时,不会报KeyError错误 以调取’a’键的

  • Python学习之函数 def

    目录 一.函数概述 二.函数的调用 三.函数参数的使用规则 1.位置参数 2.关键字参数赋值 3.位置参数和关键字参数混合使用 4.参数组 **字典  *列表 5.*列表 6.**字典 总结 一.函数概述 简单来说 函数 就是自己定义的一段 小程序 方便自己调取使用 def 用来定义函数的关键字 也就是这个函数的名字 函数运行到return的时候就会返回值 并且把函数内的参数全部清空 变量不再占用内存库空间 退出函数 函数的格式如下就是  #x是进入的参数,也可以不用输入值,因为函数里面全部的值

  • Python中的def __init__( )函数

    在这里,我们要区分两个函数: 第一种形式:def __init__(self): 这种形式在__init__方法中,只有一个self,指的是实例的本身,但是在方法的类部,包含三个属性:feature_index.threshold和alpha.它允许定义一个空的结构,当新数据来时,可以直接添加.实例化时,需要实例化之后,再进行赋值. def __init__(self): # 特征索引 self.feature_index=None # 特征划分阈值 self.threshold=None #

  • python中__call__内置函数用法实例

    本文实例讲述了python中__call__内置函数的用法.分享给大家供大家参考.具体分析如下: 对象通过提供__call__(slef, [,*args [,**kwargs]])方法可以模拟函数的行为,如果一个对象x提供了该方法,就可以像函数一样使用它,也就是说x(arg1, arg2...) 等同于调用x.__call__(self, arg1, arg2).模拟函数的对象可以用于创建仿函数(functor) 或代理(proxy) class DistanceForm(object): d

  • python中强大的format函数实例详解

    python中format函数用于字符串的格式化 自python2.6开始,新增了一种格式化字符串的函数str.format(),此函数可以快速处理各种字符串. 语法 它通过{}和:来代替%. 请看下面的示例,基本上总结了format函数在python的中所有用法 #通过位置 print '{0},{1}'.format('chuhao',20) print '{},{}'.format('chuhao',20) print '{1},{0},{1}'.format('chuhao',20) #

  • python中@property和property函数常见使用方法示例

    本文实例讲述了python中@property和property函数常见使用方法.分享给大家供大家参考,具体如下: 1.基本的@property使用,可以把函数当做属性用 class Person(object): @property def get_name(self): print('我叫xxx') def main(): person = Person() person.get_name if __name__ == '__main__': main() 运行结果: 我叫xxx 2.@pr

  • 对python中的高效迭代器函数详解

    python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: #import itertools from itertools import * #最好使用时用上面那个,不过下面的是为了演示比较 常用的,所以就直接全部导入了 一.无限迭代器: 由于这些都是无限迭代器,因此使用的时候都要设置终止条件,不然会一直运行下去,也就不是我们想要的结果了. 1.coun

  • 5 分钟读懂Python 中的 Hook 钩子函数

    1. 什么是Hook 经常会听到钩子函数(hook function)这个概念,最近在看目标检测开源框架mmdetection,里面也出现大量Hook的编程方式,那到底什么是hook?hook的作用是什么? what is hook ?钩子hook,顾名思义,可以理解是一个挂钩,作用是有需要的时候挂一个东西上去.具体的解释是:钩子函数是把我们自己实现的hook函数在某一时刻挂接到目标挂载点上. hook函数的作用 举个例子,hook的概念在windows桌面软件开发很常见,特别是各种事件触发的机

  • 简单了解Python中的几种函数

    几个特殊的函数(待补充) python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda >>> g = lambda x,y:x+y #x+y,并返回结果 >>> g(3,4) 7 >>> (lambda x:x**2)(4) #返回4的平方 16 lambda函数的使用方法: 在lambda后面直接跟变量 变量后面是冒号 冒号后面是表达式,表达式计算

  • python中根据字符串调用函数的实现方法

    在python中可以根据字符串来调用函数: 1.使用getattr从字符串来调用函数 在多进程中,可能传递过来的是一个字符串,那么我怎么来调用一个已经存在的函数呢,主要就是使用到getattr函数的作用,这个函数就是在使用字符串得到这个字符串对应的函数的对象,然后就可以进行执行,如下所示: 在模块中,存在两个函数: [root@python 530]# cat attr.py #!/usr/bin/env python def kel(): print 'this is a kel functi

  • Python中dictionary items()系列函数的用法实例

    本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值.具体分析如下: 先来看一个示例: import html # available only in Python 3.x def make_elements(name, value, **attrs): keyvals = [' %s="%s"' % item for item in attrs.items()] attr_str = ''.join(keyvals

  • Python中sort和sorted函数代码解析

    本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sort(cmp=None, key=None, reverse=False) 函数作用: 它是把L原地排序,也就是使用后并不是返回一个有序的序列副本,而是把当前序列变得有序 参数说明: (1) cmp参数 cmp接受一个函数,拿整形举例,形式为: def f(a,b): return a-b 如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数:

随机推荐