python的小技巧

news2024/11/18 13:35:01

python的小方法

  • (1)利用dir()这个函数方法,知道库里面的方法有些什么。
  • (2) 利用type()这个函数方法,知道是什么类型的数据
  • (3)从序列元素中获取元素
      • [1]单个星号还可以在列表/元组/字典推导式中用于对元素进行解包。
        • 不能str
      • [2]双个星号:可能会被用于将字典解包为不同的变量
        • 获取键
        • 使用单星号(*)而不是双星号(**)提供了一个字典作为参数,那么它只会将字典解包为一个元组,其中每个项目都是字典的一个键。
  • (4) 利用id()这个函数方法,知道数据内存的地址
    • 划重点
  • (5)取消print的自动换行
  • (6)不能以0打头的数字
  • (7)== 和 is 在 Python 中的区别是很容易引起混淆的。
  • (8)数据类型不可变or可变
  • (9)检查字符串是否含有相同
    • 普通
    • Python中的sorted方法可以用来检查两个字符串的每个字母是否相同且出现的次数相同
      • 保留出现的字符(仅仅一个)
        • 再来个区分的地方:
  • (10)用ord()知道万国码编码chr()反向获取
  • (11)迭代器是什么
  • (12)python排序

(1)利用dir()这个函数方法,知道库里面的方法有些什么。

import math 
print(dir(math))

在这里插入图片描述

(2) 利用type()这个函数方法,知道是什么类型的数据

type() 函数只接受一个参数

a=[1,2,3,4,5]
print(type(a))
print(type(a[0]))
x='asdfgh'
print(type(x))

在这里插入图片描述

(3)从序列元素中获取元素

【1】前提元素个数和取出的存放要一致
在这里插入图片描述

元素个数!=存放个数就需要拆包
在从序列元素中获取元素时,只能使用一个单星号语法,用于解包可迭代对象中剩余的元素。

【2】 拆包为关键字参数
*在Python中被称为unpacking操作符,用于将一个可迭代对象(如列表、元组等)中的元素解包为单独的元素。
但是要注意 TypeError: print() argument after * must be an iterable, not int在这里插入图片描述

[1]单个星号还可以在列表/元组/字典推导式中用于对元素进行解包。

a, *b, c = [1, 2, 3, 4, 5]
print(a) #输出:1
print(c) #输出:5
print(b) #输出:[2, 3, 4]              

有【1】可以知道,一一对应,a对于元素1,c对于元素5,那么b就将其打包。
[使用解包操作后,剩余的元素被打包为一个列表,而变量a、c、b则按照赋值的顺序对应原列表的位置。]

在Python中,变量的数据类型是根据赋值对象的数据类型自动推导出来的,因此变量a和变量c都是整型变量。
在这里插入图片描述

不能str

字符串对象是不可变的序列类型,而打包操作会生成一个可变的列表对象,这与字符串对象的特性不匹配。

x='1234'
    print(type(*x))
          ^^^^^^^^
TypeError: type() takes 1 or 3 arguments
type() 函数只接受一个参数,因此 *x 语法在这里是无效的。

[2]双个星号:可能会被用于将字典解包为不同的变量

在这里插入图片描述

print()函数和字典中使用双星号(**),则这不是有效的用法。 print()函数不能像另一个函数my_function()(从前面的示例中)那样解包字典。

获取键

在这里插入图片描述

使用单星号(*)而不是双星号(**)提供了一个字典作为参数,那么它只会将字典解包为一个元组,其中每个项目都是字典的一个键。

(4) 利用id()这个函数方法,知道数据内存的地址

id()函数在Python中返回一个对象的唯一标识符。这个标识符是一个非负整数,通常用作对象的内存地址。它们都具有相同的标识符。

number=[1,2,3,4,3,4]
print
print(number*2)
print(id(2))
print(id(number[1]))
a=(1,2,4)
print(id(a[1]))


在这里插入图片描述

划重点

为了在Python中生成唯一的内存地址,您可以使用内置的 id() 函数,它返回对象的身份,即每个对象的唯一整数。这个身份保证对对象的生命周期唯一且恒定。如果你需要比较两个对象是否具有相同的身份,你可以使用 is 运算符来比较它们的身份而不是它们的值。

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(id(a)) # 打印一个表示a的内存位置地址的唯一整数
print(id(b)) # 输出与a相同的整数,因为b只是另一个对与a相同的列表对象的引用
print(id(c)) # 输出一个与a和b不同的整数,因为c是一个完全不同的列表对象

print(a is b) # 输出 True,因为a和b引用同一个对象
print(a is c) # 输出 False,因为a和c是具有不同内存地址的不同对象

需要注意的是,此行为特定于Python中的小整数(精确地说,介于-5和256之间的整数值)。对于其他类型的对象或较大的整数值,Python可能会创建具有唯一标识符的新对象。

(5)取消print的自动换行

print(2,end="")
print("213")

在这里插入图片描述

(6)不能以0打头的数字

八进制数在Python 3中不再支持前缀0。如果您在Python 2中使用前缀0表示八进制数
[对比C语言中的整型字面量,以0作为开头表示为八进制数,以0x或0X开头表示为十六进制数]

num = 0o10
print(num) # 输出8

(7)== 和 is 在 Python 中的区别是很容易引起混淆的。

== 用于比较两个对象的值是否相等。在使用 == 时,比较的是两个对象的值是否相等,即使它们在内存中并不相同。
在这里插入图片描述
is 用于比较两个对象在内存中的位置是否相同。(这个情况要联系(5)的id()函数)
在这里插入图片描述

(8)数据类型不可变or可变

字符串和元组是不可变的
列表,字典,集合可变。

(9)检查字符串是否含有相同

普通

可以使用 str() 函数将两个字符串转换为相同的大小写,然后使用 == 比较它们。如果要忽略大小写比较字符串,则此方法非常有用。
使用 is 操作符比较两个字符串的身份。如果两个字符串是同一个对象,则返回 True,否则返回 False。
直接使用 == 操作符直接比较两个字符串。如果字符串相同,则返回布尔值 True,否则返回 False。

Python中的sorted方法可以用来检查两个字符串的每个字母是否相同且出现的次数相同

在这里插入图片描述

保留出现的字符(仅仅一个)

x=[1,1,1,1,3,4,5,5,,2,3,3,3]
x=set(x)
print(list[x])

在这里插入图片描述

再来个区分的地方:

在这里插入图片描述

(10)用ord()知道万国码编码chr()反向获取

在这里插入图片描述

(11)迭代器是什么

代器是一种对象,它允许程序员在遍历集合时访问每个元素,而不会暴露整个集合的实现。在Python中,迭代器是一个支持迭代(返回连续的值)和无限序列(可能无限数量的值)的对象而无需预先计算序列的所有值。迭代器需要实现两个方法:iter()和__next__()。iter()方法返回迭代器对象本身,并将迭代器的内部指针设置为序列开头。

(12)python排序

python中有许多函数后面加上了ed就变得不一样,一般就是对于原序列操作和生成新序列的一个区别
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

纯干货!蓝牙耳机哪个牌子好?性价比高蓝牙耳机推荐

蓝牙耳机是我们使用最多的数码产品之一,不论是通勤、运动、上课都少不了它。身为数码测评专员,我每天都会进行测评,对各类数码产品也有深入研究,近期很多网友咨询蓝牙耳机哪个牌子好,于是我进行深入测评后整理了这份性…

【刷题】141. 环形链表

141. 环形链表 一、题目描述二、示例三、实现思考总结 141. 环形链表 一、题目描述 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环…

基于jdk11从源码角度剖析AQS 抽象同步其的核心原理

在高并发的情况下,使用基于CAS自旋实现的轻量级锁存在恶性空自旋浪费CPU 资源和导致“总线风暴”两大问题, 解决CAS恶性空自旋的有效方法是空间换时间,常见解决方法有分散操作热点和使用队列削峰。JUC并发包使用的是队列削峰的方案解决CAS的性…

YOLOv7升级换代:EfficientNet骨干网络助力更精准目标检测

目录 一、EfficientNet骨干网络1、EfficientNet架构2、EfficientNet在目标检测中的应用3、EfficientNet分辨率的缩放4、EfficientNet深度与宽度的缩放 二、YOLOv7结构1、YOLOv7网络架构2、YOLOv7骨干网络3、YOLOv7使用了EfficientNet作为骨干网络,具有以下几个优点&…

如何基于异步消息队列进行深度学习模型推理预测?distributed inference with pytorch celery huey sqlite

文章目录 celery 简介celery in pytorchwindows 平台下使用celery 的一些问题参考文献与学习路径一些类似消息队列多进行推理预测的实现参考celery and sqlitecelery vs hueycelery 简介 先说一下celery 不支持windows 【或者说支持的不好】 pypi https://pypi.org/project/…

docker-安装prometheus

概述 什么是Prometheus 如果对Prometheus不熟悉的, 可以先了解一下Prometheus的官网或者文档; Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中&…

基于java和go-cqhttp实现QQ机器人

目录 yh-qqrobot机器人简介go-cqhttp搭建1.下载应用2.生成bat文件3. 初始化项目4. 配置5. 运行项目 yh-qqrobot搭建搭建后端1. 导入sql文件2. 配置文件3. 导入到idea 搭建前端 yh-qqrobot机器人简介 yh-qqrobot是一个基于若依框和go-cqhttp集成的系统,一开始我只是揣…

ACM 1010 | 利润计算

文章目录 0x00 前言 0x01 题目描述 0x02 问题分析 0x03 代码设计 0x04 完整代码 0x05 运行效果 0x06 总结 0x00 前言 C 语言网不仅提供 C 语言,还包括 C 、 java 、算法与数据结构等课程在内的各种入门教程、视频录像、编程经验、编译器教程及软件下载、题解博…

day2_内存区域2垃圾回收算法

文章目录 方法区1.StringTable2.StringTable的位置3.StringTable的调优 垃圾回收1. 判断垃圾2. 5种引用3. 垃圾回收算法 方法区 前面提到了方法区中的组成,它的组成主要是: class(例如它的属性,方法等)常量池(StringTable等)类加载器 在jdk 1.8中&…

【python学习】基础篇-文件与系统-文件信息获取与目录操作

python内置文件高级操作函数 删除文件 Python 没有内置删除文件的函数,但是在内置的 os 模块中提供了删除文件的 remove()函数,语法格式如下: os.remove(path) 其中,path 为要删除的文件路径,可以使用相对路径,也可以…

P1058 [NOIP2008 普及组] 立体图

题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们讲些自己认为有趣的内容。最近,他准备给小朋友们讲解立体图,请你帮他画出立体图。 小渊有一块面积为 ��mn 的矩形区域,上面有 �&#x…

number类型超出16位的问题(前端、后端处理)

目录 1、前端解决方案 1.1 甩链接 1.2 接口返回数据过程中将数据处理为字符串(过过嘴瘾) 1.3 对返回的json字符串进行数据预处理代码如下 2、后端解决方案 2.1 toString、String、 、new String() 自己悟、就是要改的地方多。 2.2拦截器 (可能超出…

为什么越来越多的企业选择云计算?

一、前言 1.当下企业信息化的痛点 企业信息化,这也算是一个老生常谈的话题了,整个中国业内前前后后应该喊了有十多年了。不过到目前为止,我国很多企业公司都还没真正形成一个完整的信息化框架,或者只是运用了一个简单财务或客户…

Vue3组件通信 含有详细的步骤和解释

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、父传子 defineProps1.使用运行时声明2.使用针对类型的声明 二、子传父 defineEmits1.使用运行时声明2.使用针对类型的声明 总结 前言 Vue2的父子组件通信是…

PMP课堂模拟题目及解析(第4期)

31. 首席执行官要求项目经理提供绩效报告。项目经理应该在这份报告中包含哪些内容? A. 已完成百分比和经验教训 B. 问题的当前状态以及更新后的干系人参与评估矩阵 C. 项目风险的绩效测量指标 D. 已完成的工作和关键绩效指标 32. 在一个项目的最终收尾活动期…

九联UNT413A-S905L3A-免拆U盘卡刷固件包-当贝纯净桌面-内有教程

九联UNT413A-S905L3A-免拆U盘卡刷固件包-当贝纯净桌面-内有教程 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件&#…

迪赛智慧数——饼图(玫瑰饼图):菜品味道受欢迎程度

效果图 大家最爱吃的竟是它!咸鲜占比高达23.53%! 民以食为天,你最喜欢的美食口味是什么呢? 好吃的太多,你应该很难确切地评出你心中的第一名吧。据数据调查显示,咸鲜口味最受欢迎,其次是麻辣、…

SUNTANS模型学习(9)——学习Tidal forcing算例

学习Tidal forcing算例 简介网格配置与地形定解条件设置初始条件设置边界条件设置开边界处的通量计算(OpenBoundaryFluxes)开边处的速度、水位(BoundaryVelocities) 其它参数配置模拟结果 简介 SUNTANS中 tidal forcing 算例的全…

数据脱敏的几种方案

文章目录 什么是数据脱敏?数据脱敏在生活中的应用静态脱敏与动态脱敏数据脱敏的几种方案sql数据脱敏java代码实现脱敏mybatis-mate实现脱敏springCloud网关拦截响应体实现脱敏openGauss 动态数据脱敏解决方案 什么是数据脱敏? 数据脱敏也叫数据的去隐私…

5款办公必备的好软件,你值得拥有

随着网络信息技术的发展,越来越多的人在办公时需要用到电脑了。如果你想提高办公效率,那么就少不了工具的帮忙,今天给大家分享5款办公必备的好软件。 1.文件管理工具——TagSpaces TagSpaces 是一款开源的文件管理工具,它可以通过标签来组织…