python 常用函数自整理

1.self用法

在Python类中规定,函数的第一个参数是实例对象本身,并且约定俗成,把其名字写为self。其作用相当于java中的this,表示当前类的对象,可以调用当前类中的属性和方法。

在python中,类是通过关键字 class 定义的:

1、class 后面紧跟类名,紧接着是(object),表示该类是从哪个类继承下来的,通常,如果没有合适的继承类,就使用 object 类,这是所有类最终都会继承的类。

class Person(object):  
  pass

2、将 Person类实例化,创建实例化是通过 类名+() 实现的

class Person(object):  
  pass
student = Person()  # 创建类的实例化
print(student)
print(Person)

3、给实例变量绑定属性

class Person(object):  
  pass
student = Person()
# print(student)
# print(Person)
student.name = "Gavin"   # 为实例变量 student 绑定 name 属性,类似于赋值操作
student.sex = 男    # 为其绑定 score 属性
print(student.name)
print(student.sex)

上述的方法虽然可以为类的实例变量绑定属性,但是不够方便。

由于类 可以起到模板的作用,所以在创建实例的时候,可以将我们认为必须绑定得属性强制填写进去,在python中,是通过类中通常都会使用的一个方法,即def __init__(self)方法,在创建实例变量的时候,就把 name 和 sex等属性绑上去。传入空参数的情况,会报错。

class Person(object):  
  def __init__(self,name,sex):    
    self.name = name    
    self.sex = sex    
student = Person('Gavin',男)  # 传入 __init__ 方法中需要的参数
print(student.name)
print(student.sex)

注意⚠️

1、__init__方法的第一个参数永远是 self ,表示创建的实例本身,因此,在 __init__方法的内部,就可以把各种属性绑定到 self,因为 self 就指向创建的实例本身。

2、使用了 __init__方法,在创建实例的时候就不能传入空的参数了,必须传入与 __init__方法匹配的参数,但是 self 不需要传,python解释器会自己把实例变量传进去。

class Person(object):  
    def __init__(self,x,y):    
        self.x = x    
        self.y = y      
    def add(self):    
        sum = self.x + self.y    
        return sum    
    def square(self):    
        squr = pow(self.x,2)+pow(self.y,2)    
        return squr  
    def add_square(self):    
        c = self.add()+self.square()    
        return c    
student = Person(3,4)
print(student.add())
print(student.square())
print(student.add_square())

通过上述的例子可以看出,与普通的函数相比,在类中定义的函数只有两点不同:

1、第一个参数永远是 self ,并且调用时不用传递该参数,

2、在类中函数相互调用要加 self ,如上例中: c = self.add()+self.square(), 不加 self ,会报错。

原文🔗

2.__init__()函数

关于__init__()函数,其本身是python的构造方法。这个函数类似init()初始化方法,来初始化新创建对象的状态,在一个对象被创建以后会立即调用。

1、首先说一下,带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。

2、init函数(方法)支持带参数的类的初始化 ,也可为声明该类的属性。

3、init函数(方法)的第一个参数必须是self(self为习惯用法,也可以用别的名字),后续参数则可以自由指定,和定义函数没有任何区别。

🌟python 中带下划线的变量和函数的意义🌟

1.  前带_的变量:  标明是一个私有变量, 只用于标明,  外部类还是可以访问到这个变量

2.  前带两个_ ,后带两个_ 的变量:  标明是内置变量,

3.   大写加下划线的变量:  标明是  不会发生改变的全局变量

函数:

1. 前带_的变量: 标明是一个私有函数, 只用于标明,

2.   前带两个_ ,后带两个_ 的函数:  标明是特殊函数。

 def __len__(self):
        return self.path.shape[0]

原文🔗

3. super() 函数

super() 函数是用于调用父类(超类)的一个方法,用来解决多重继承问题。

class A:
     def add(self, x):
         y = x+1
         print(y)
class B(A):
    def add(self, x):
        super().add(x)
b = B()
b.add(2)  # 3
class Dog(Animal):
    def greet(self):
        super(Dog, self).greet()  #调用父类Animal的greet方法
        print('WangWang...')

原文🔗

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chococolate

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值