前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 学习之面向对象「下」

Python 学习之面向对象「下」

作者头像
Python技术与生活认知的分享
发布2018-07-03 12:20:57
3100
发布2018-07-03 12:20:57
举报
文章被收录于专栏:AzMarkAzMarkAzMark

阅读文本大概需要 5 分钟

动态添加属性和方法

# 动态给实例添加属性和方法,不过只针对当前对象

from types import MethodType

class Person(object):

    pass

p = Person()

# 动态语言,动态添加属性和方法

p.name = "Mark"

def say(self):

    print(self.name)

say(p)


p.speak = say

p.speak(p)


p.speak = MethodType(say, p)

p.speak()

限制动态添加属性

# 在定义类的时候,定义一个特殊的属性(__slots__),可以限制动态添加的方法

class Person(object):

    # 限制实例的属性

    __slots__ = ("name", "age")

p = Person()

p.name = "Mark"

p.age = "23"

p.sex = "Man"  # 添加不了该属性

print(p.name, p.age)

多重继承

class Mother(object):

    def __init__(self, faceValue):
        self.faceValue = faceValue

    def eat(self):
        print("Mother eat something")

    def run(self):
        print("Mother just run")


class Father(object):

    def __init__(self, money):
        self.money = money

    def eat(self):
        print("Father eat something")

    def run(self):
        print("Father just run")


class Child(Father, Mother):
    def __init__(self, money, faceValue):
        Father.__init__(self, money)
        Mother.__init__(self, faceValue)

c = Child(10000, 99)
print(c.money,c.faceValue)

# 注意:方法名相同时,默认调用的是括号中排前面的父类中的方法
c.eat()
c.run()

给讨厌的人发一波骚扰短信

注册一个互亿无线账号,登陆后点击「 验证码通知短信 」,查看自己的 API 接口信息,复制保存起来,如下图所示:

点击上图右上角的「 文档中心 」,之后点击下载即可

将下载后的文件拖入到自己在 Pycharm 创建的一个文件中即可,点击 DEMO 中的 python 目录,拷贝里面的 sys.py 创建一个新的 py 文件,然后开始修改代码,注意编码格式的修改

需要修改的代码

import http.client  # 第 1 处 httplib 改为 http.client

# 第 2 处 输入自己之前保存的账号和密码

# 用户名是登录用户中心->验证码短信->产品总览->APIID
account = "C10257181"  # 自己的账号

# 密码 查看密码请登录用户中心->验证码短信->产品总览->APIKEY
password = "acd94d858de2966b11abda0e2d14****"  # 自己的密码


# 第 3 处 urllib.urlencode 改为下面的
    params = urllib.parse.urlencode

# 第 4 处 httplib 改为 http.client
conn = http.client.HTTPConnection(host, port=80, timeout=30)


# 第 5 处 填写手机号和改写验证码,注意只能改变 6 位数字
if __name__ == '__main__':
    mobile = "178********"
    text = "您的验证码是:950831。请不要把验证码泄露给其他人。"

    # 此处代码根据自己需求更改,不过免费的短信只有 10 条哦
    i = 0
    while i < 3:
        print(send_sms(text, mobile))
        i += 1 
        time.sleep(60)  # 需要自行导入 time 模块
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python梦工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 动态添加属性和方法
  • 限制动态添加属性
  • 多重继承
  • 给讨厌的人发一波骚扰短信
  • 需要修改的代码
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档