Python tkinter - 1.4内置函数
1.4内置函数Python的一些内置函数在前面的章节已经有一些介绍了。这里再统一归纳总结一下1.4.1 len()len函数返回变量的长度。变量可以是很多种比如列表、字典、集合或者自己定义的类。所以我们自己定义的类只要有len()函数就可以使用内置函数len得到自定义类的长度。比如下面的输出的类A的结果就是10。1.4.2 min(args1,args2,args3,…)min返回输入参数中的最小值。Python比较字符串大小时根据的是ord函数得到的编码值。基于它的排序函数sort可以很容易为数字和英文字母排序因为它们在编码表中就是顺序排列的。对于中文的排序就复杂了。汉字的编码由好几种方法比如GB2312、GBK、UTF-8等。不同的编码方法会得到不同的大小结果因为同一个汉字在编码表中的位置是不同的。因此如果要使用汉字排序、判断大小要清楚使用的编码格式才可以。一般都是使用自定义的处理函数否则结果难以预期。网络上有很多的处理中文排序的文章读者可以自行去查找合适的方法。当然输入的参数要是同一种类型的才可以。否则会返回TypeError异常。那么两个列表是不是能够比较呢可以的只要输入的类型支持””运算就可以了。1.4.3 maxmax与min类似。只不过max是返回最大的一个数值而min是返回最小的。1.4.4 range([start], stop[, step])range产生一个序列常用于初始化或者循环中。参数说明:参数名称作用start起始数值默认是0。stop结束数值。必须输入。不能为空step步长间隔。1.4.5迭代器iter()迭代器是访问元素集合的一种方式。迭代器对象从集合的第一个元素开始访问直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器提供了一个统一的访问集合的接口。只要是实现了__iter__()或__getitem__()方法的对象就可以使用迭代器进行访问。序列字符串、列表、元组非序列字典、集合、文件自定义类用户自定义的类实现了__iter__()或__getitem__()方法的对象1.4.6 map(function, iterable, …)map的功能很强大主要就是把iterable中的每一个元素带入function中进行处理并且返回处理后的iterable类型。map和数学里面的映射很类似就是把一些元素映射成另外的数值。比如要完成所有的首字母大写同时其它字母要小写def cap(word): new_wordword[0:1].upper()word[1:].lower() return new_word word[heLLo,WORLD,cool] print(list(map(cap,[heLLo,WORLD,cool])))结果说明[‘Hello’, ‘World’, ‘Cool’]注意map返回的是一个object。注意map返回的是一个map对象而不是输入的参数类型。因此需要做一个显式的转换。比如转换为列表类型等才能打印输出内容或者自己使用for循环调用map对象的next()方法去打印输出。1.4.7 enumerate(sequence,[start0])enumerate内置函数与数学和Python Enum类的含有并不一样。enumerate内置函数的意义在于生成传入参数的索引值。在遍历列表、字典等数据类型的时候可以方便的使用索引值。这是enumerate 的典型应用场景。Python也有和数学定义一致的枚举类。需要使用import 引入enum模块定义并继承Enum的类。Enum和enumerate内置函数是完全不同的。Enum的主要作用就是定义有穷序列成员集合这些成员有名称和数值两个属性。这些成员的名称不能重名也就是说不能定义两个‘星期日’在一个Enum的类中尽管我们都非常期待有多个星期日。Enum中的成员只可以判断是否相等但是不能比较大小。Enum中的成员还可以有别名就是成员的名称不同但是数值相同。也可以使用unique 强制不能出现成员有相同的数值就是不能有别名。from enum import Enum class pets(Enum): dog 1 cat 2 for item in pets: print(item) from enum import Enum class pets(Enum): dog 1 dog 2 from enum import Enum class pets(Enum): dog_alias 1 dog 1 cat 2 for item in pets: print(item) from enum import Enum class pets(Enum): dog_alias 1 dog 1 cat 2 print(pets.dog pets.cat) print(pets.dog pets.dog_alias) from enum import Enum class pets(Enum): dog_alias 1 dog 1 cat 2 print(pets.dog pets.cat) from enum import Enum class pets(Enum): unique dog_alias 1 dog 1 cat 21.4.8其他Python还有其他的内置函数比如int、float、str等。详细的说明见下表。函数名称作用类型bool(arg)根据传入的参数的逻辑值创建一个新的布尔值。0,None,空字符串、空列表等都会被认为是False其他的情况是True。类型转换int(arg)根据传入的参数创建一个新的整数类型转换float(arg)根据传入的参数创建一个新的浮点数类型转换complex(arg1,arg2)根据传入参数创建一个新的复数类型转换str(arg)根据传入参数创建一个字符串。字符串是不可修改的。类型转换bytearray(arg)根据传入的参数创建一个新的字节数组类型转换bytes(arg)根据传入的参数创建一个新的不可变字节数组类型转换memoryview查看参数指定的内存区域。传入的参数要支持缓冲区协议内置的类型是bytes和bytearray。类型转换ord(arg)返回Unicode字符对应的整数类型转换chr(arg)返回整数所对应的Unicode字符类型转换bin(arg)将整数转换成2进制字符串类型转换oct(arg)将整数转换成8进制字符串类型转换hex(arg)将整数转换成16进制字符串类型转换tuple(arg)根据传入的参数创建一个新的元组类型转换list(arg)根据传入的参数创建一个新的列表类型转换dict(arg)根据传入的参数创建一个新的字典类型转换set(arg)根据传入的参数创建一个新的集合类型转换frozenset(arg)根据传入的参数创建一个新的不可变集合类型转换iter()根据传入的参数创建一个新的可迭代对象类型转换slice()根据传入的参数创建一个新的切片对象类型转换super()根据传入的参数创建一个新的子类和父类关系的代理对象类型转换object()创建一个新的object对象类型转换abs()求输入数值的绝对值数学运算divmod()返回两个数值的商和余数数学运算pow()取两个值的幂运算值或者与第三个参数的余数。比如pow(2,3)的返回值是8。而pow(2,3,4)的值是0。数学运算round()对浮点数进行四舍五入求值数学运算sum(seq)对元素类型是数值的可迭代对象中的每个元素求和数学运算all判断可迭代对象的每个元素是否都为True值。0None,[]等都是False。序列操作any判断可迭代对象的元素是否有为True值的元素序列操作filter(func,seq)使用指定函数过滤可迭代对象的元素并返回一个可迭代对象。序列操作next返回可迭代对象中的下一个元素值序列操作reversed反转序列生成新的可迭代对象序列操作sorted对可迭代对象进行排序返回一个新的列表序列操作zip聚合传入的每个迭代器中相同位置的元素返回一个新的元组类型迭代器。zip的作用非常类似线性代数的矩阵转置。序列操作help(arg)返回对象的帮助信息。比如help(int)对象操作dir(arg)返回对象或者当前作用域内的属性列表。尝试输入print(dir(1))。很有趣的结果。对象操作id(arg)返回对象的唯一标识符。对于自定义的变量返回的就是内存地址。但是有些内置的对象是固定的数值。对象操作hash(arg)返回对象的哈希值对象操作type(arg)返回对象的类型或者根据传入的参数创建一个新的类型对象操作ascii(arg)返回对象的可打印表字符串表现方式对象操作format格式化显示对象操作vars返回当前作用域内的局部变量和其值组成的字典或者返回对象的属性列表对象操作isinstance判断对象是否是类或者类型元组中任意类元素的实例对象操作issubclass判断类是否是另外一个类或者类型元组中任意类元素的子类对象操作hasattr检查对象是否含有属性对象操作getattr获取对象的属性值对象操作setattr设置对象的属性值对象操作delattr删除对象的属性对象操作callable检测对象是否可被调用对象操作globals返回当前作用域内的全局变量和其值组成的字典变量操作locals返回当前作用域内的局部变量和其值组成的字典变量操作print向标准输出对象打印输出交互操作input读取用户输入值交互操作open使用指定的模式和编码打开文件返回文件读写对象文件操作compile将字符串编译为代码或者AST对象使之能够通过exec语句来执行或者eval进行求值编译执行eval执行动态表达式求值编译执行exec执行动态语句块编译执行repr返回一个对象的字符串表现形式(给解释器)编译执行property标示属性的装饰器装饰器classmethod标示方法为类方法的装饰器装饰器staticmethod标示方法为静态方法的装饰器装饰器注1字符串声明后是不能够修改的。如果要修改可以使用将字符串定义为字节数组bytearray。注2byte声明后也是不能修改的。如果要修改见注1。注3memoryview其实就是直接访问一块内存区域。这个区域的存放的类型是字节或者字节数组。memoryview函数可以让程序员直接操作这片内存区域。bytes使用的内存区域是不可修改的bytearray使用的内存区域是可以修改的。

相关新闻

移动app测试经验分享

移动app测试经验分享

文章目录1、app安装、升级、卸载的测试点2、app功能测试点2、app稳定性测试3、app安全性测试的思路4、app性能测试的思路5、app兼容性测试的思路1、app安装、升级、卸载的测试点 1)安装成功的情况(检查版本号是否正确)和安装失败的各种情况 …

2026/7/28 18:13:07 阅读更多 →
认识MapStruct

认识MapStruct

1、MapStruct是用来做什么的 在一个成熟的工程中,尤其是现在的分布式系统中,应用与应用之间,还有单独的应用细分模块之后,DO 一般不会让外部依赖,这时候需要在提供对外接口的模块里放 DTO 用于对象传输,也即…

2026/7/28 18:13:07 阅读更多 →
9月1日刷题:1-4

9月1日刷题:1-4

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例:给定 nums [2, 7, 11, 15], target…

2026/7/28 18:13:07 阅读更多 →

最新新闻

ORM + SQLAlchemy

ORM + SQLAlchemy

ORM SQLAlchemy ORM 对象关系映射 SQLAlchemyTypes IntegerFloatBooleanDateDatetimeStringForeignKey from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Col…

2026/7/28 18:20:10 阅读更多 →
商城秒杀功能总结

商城秒杀功能总结

秒杀系统的场景特点:高并发、请求数量远远大于库存数量、下订单减库存。秒杀架构设计理念:限流、削峰、异步处理、缓存、可拓展。实现方案:限流、采用消息队列缓存、利用缓存应对读写请求。使用技术:前端:小程序后端&a…

2026/7/28 18:20:10 阅读更多 →
大一暑假集训最终考试(一)(2019.8.31)

大一暑假集训最终考试(一)(2019.8.31)

D题 nefu 1866 这是一道难题 思路&#xff1a;树状数组模板题。还有就是树状数组的单点修改只支持加减&#xff0c;不支持直接修改&#xff08;修改时先减去原来的数&#xff0c;再加上修改后的数即可&#xff09;。 坑的地方&#xff1a;没说查询时一定满足x<y&#xff0…

2026/7/28 18:20:10 阅读更多 →
和小白一起学数据结构六之基本概念总结

和小白一起学数据结构六之基本概念总结

一起学数据结构之绪论基础概念 五天前甚至对markdown语法&#xff0c;都不是很熟悉&#xff0c;现在却觉得没有这个语法的创作页面没有灵魂哈哈。其实这个东西一年前就有人推荐给博主了&#xff0c;当时只是看一下觉得麻烦&#xff0c;没怎么走几步&#xff0c;回过头来才发现因…

2026/7/28 18:20:10 阅读更多 →
Markdown编辑器使用说明

Markdown编辑器使用说明

欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&#x…

2026/7/28 18:20:10 阅读更多 →
【干货】前端进阶应该知道的这些调试方法

【干货】前端进阶应该知道的这些调试方法

前言 平时工作量大并且很忙&#xff0c;也就意味着难免会在写代码的时候一不小心写出BUG。如果测试一旦没有测到&#xff0c;代码上到现网往往就是事故&#xff0c;很多同学在这种时候手忙脚乱&#xff0c;不知道怎么调试解决。本文就这点主要讲一下平时前端调试用的那些方法&a…

2026/7/28 18:19:09 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿&#xff01;3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑&#xff1a;把几百页的财报、法规、技术手册扔给向量库&#xff0c;问一个具体问题&#xff0c;搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了&#xff0c;要么藏在几十条结果的最下面。语义相似≠真正相关&#xff0c;这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营&#xff0c;从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候&#xff0c;每天刷半小时抖音&#xff0c;手动把爆款视频的口播敲进备忘录&#xff0c;一条2分钟的视频得花十来分钟&#xff0c;碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档&#xff0c;可以直接使用&#xff01;系统支持图片、视频、摄像头等多种方式检测裂缝&#xff0c;功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像&#xff01; pubg绝地求生目标检测数据集 1分类&#xff1a;e_body&#xff0c;14905个标签&#xff0c;txt格式 共计14244张图&#xff0c;99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别&#xff1a; allies enemy tag图片总量&#xff1a;7247张训练集&#xff1a;5139张验证集&#xff1a;1425张测试集&#xff1a;683张标注状态&#xff1a;全部已标注&#xff0c;即拿即用数据格式&#xff1a;支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻