首页 > 编程语言 >python之高阶内容

python之高阶内容

时间:2024-08-06 10:41:37浏览次数:14  
标签:__ count title python self len length 内容 高阶

规范使用:

  1. 类和对象
  2. 模块导入,模块内部参数是:if __name__ == "__main__":
  3. 导入包(需要使用的公共代码模块):创建python包,里面放共同模块
  4. 异常捕获优化:自定义异常
class MyError(Exception):  # 异常捕获的类
    def __init__(self, length, min_len):  # length为用户输入的密码长度,min_len为规定的最小长度
        self.length = length
        self.min_len = min_len

    # 设置抛出异常的描述信息
    def __str__(self):
        return "你输入的长度是%s,不能少于%s" % (self.length, self.min_len)


def main():
    try:
        con = input("请输入密码:")  # 获取用户输入的密码
        l = len(con)  # 获取用户输入的密码长度
        if l < 6:
            raise MyError(l, 6)  # 长度低于设定的6位数则引发异常
    except Exception as ss:  # 有错误则提示
        print(ss)
    else:
        print("您的密码输入完毕")  # 没有错误则执行


main()
  1. 定时任务:xxx

  2. 容器/迭代对象/生成器/装饰器:

  • 迭代器(iterator):是一种可以遍历集合(如列表或字典)的一种对象

iter() or iter()
next() or next()

  • 生成器:就是一个特殊的迭代器,是一个可迭代对象

next()
yield()
ps:函数里面用yield()进行惰性计算,外面用for循环输出

def count_up_to(max):
    count = 0
    while count < max:
        yield count
        count += 1

# 使用生成器
counter = count_up_to(5)
for num in counter:
    print(num)
  • 装饰器:装饰器的作用就是为已经存在的对象添加额外的功能
    对于有参数的,*args 和 **kwargs 允许你在函数中接收任意数量的位置参数和关键字参数
# 普通的位置参数、可变数量的位置参数(元祖);关键字参数(字典)
def make_greeting(greeting, *args, **kwargs):
    name = ' '.join(args)
    title = kwargs.get('title', '')
    if title:
        title = f", {title}"
    print(f"{greeting}, {name}{title}!")

# 调用示例
make_greeting("Hello", "John", "Doe", title="Mr.")
  • 内置装饰器:staticmethod,classmethod,property
    @property 用于将类的方法转换为只读属性
    @staticmethod 用于定义静态方法
    @classmethod 用于定义类方法,该方法接收类作为第一个参数(通常命名为 cls),而不是实例。这使得方法可以修改类级别的属性

标签:__,count,title,python,self,len,length,内容,高阶
From: https://www.cnblogs.com/hellojacker/p/18336770

相关文章

  • python 百度翻译实例
    #-*-coding:utf-8-*-#ThiscodeshowsanexampleoftexttranslationfromEnglishtoSimplified-Chinese.#ThiscoderunsonPython2.7.xandPython3.x.#Youmayinstall`requests`torunthiscode:pipinstallrequests#Pleasereferto`https://a......
  • python入门(1)基础知识介绍
    print函数a=10print(a)print(10)print("您好")print(a,b,"您好")print(chr(98))#chr将98转换为ASVCII值print("你好"+"上海")#都是字符串可以用+连接输出print('您好',end='不换行')#修改结束符,不换行,否则自动视为有\nfp=open("note.txt&......
  • 机器学习领域中选择使用Python还是R
    在机器学习领域中,选择使用Python还是R,这主要取决于个人需求、项目特性、技能水平以及偏好。以下是对两种语言在机器学习方面的详细比较:一、社区支持与生态系统Python:Python在数据科学和机器学习领域拥有庞大的社区支持,这意味着你可以轻松找到大量的教程、文档、库和框架。......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-64 - Canvas和SVG元素推拽
    1.简介今天宏哥分享的在实际测试工作中很少遇到,比较生僻,如果突然遇到我们可能会脑大、懵逼,一时之间不知道怎么办?所以宏哥这里提供一种思路供大家学习和参考。2.SVG简介svg也是html5新增的一个标签,它跟canvas很相似。都可以实现绘图、动画。但是svg绘制出来的都是矢量图,不像canv......
  • 无法写入使用 pygbag 编译的 python/pygame 程序中的文本文件
    我有一个python/pygame程序,它从与该程序位于同一目录中的测试文件中读取数据。在程序结束时,应该将文本写回测试文件。这在Python环境中运行程序时有效,但在使用Pygbag编译并在浏览器中运行时无效。程序(称为main,py)是:importasyncioimportosimportpygamepyg......
  • Python 中的克隆和明显的指针问题
    我在克隆列表时遇到了困难。我已经尝试了我所知道的一切,但我的代码似乎仍然将errGrid、slopes1、slopes2和lopes视为同一个对象。为什么?!errOrder=[[]foriinrange(6)]errMethod=[errOrder.copy()foriinrange(AM)]errGrid=[errMethod.copy()foriinrange(U......
  • 【香橙派系列教程】(七)香橙派下的Python3安装
    【七】香橙派下的Python3安装为接下来的Linux图像识别智能垃圾桶做准备。图像处理使用京东SDK只支持pyhton和Java接口,目的是引入C语言的Python调用,感受大厂做的算法bug此接口是人工智能接口,京东识别模型是通过训练后的模型,精准度取决于训练程度,人工智能范畴在常规嵌入式......
  • vnpy,一个不可思议的Python库!
    vn.py是一个开源的Python交易编程框架,旨在帮助程序员快速搭建属于自己的量化交易平台。该框架支持股票、期货、外汇等多种金融产品的交易,提供了从数据获取、策略开发到交易执行的全流程支持。如何安装vnpy首先,要使用vnpy,您需要通过Python的包管理工具pip来安装它。以下......
  • 用户看广告获取密码访问网页内容流量主模式源码
    源码介绍全开源付费进群流量主模式,用户看广告获取密码访问网页内容,网站生成内容,用户需要浏览内容跳转至小程序,观看广告后获取密码,输入密码查看网页内容。与之前得9.9付费进群区别就是内容体现在了网页里,用户不需要进群查看。并且不需要付费,受众更广泛!运营模式:观看网页内......
  • Python回溯算法
    回溯算法回溯算法是一种系统的搜索算法,用于解决诸如排列组合、子集生成、图的路径、棋盘问题等问题。其核心思想是通过递归尝试各种可能的解决方案,遇到不满足条件的解时则回退(回溯),继续尝试其他可能性,直到找到所有的解决方案或确认无解。主要步骤:选择路径:在当前步骤选择一个可......