Python世界之附加

一、数据类型转换

1.隐式类型转换

在隐式类型转换中,Python 会自动将一种数据类型转换为另一种数据类型。

对两种不同类型的数据进行运算,较低数据类型就会转换为较高数据类型以避免数据丢失。

2.显式类型转换

在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。 使用 int()、float()、str() 等预定义函数来执行显式类型转换。

1.int() 强制转换为整型

x = int(1)   # x 输出结果为 1

y = int(2.8) # y 输出结果为 2

z = int("3") # z 输出结果为 3

2.float() 强制转换为浮点型

x = float(1)     # x 输出结果为 1.0

y = float(2.8)   # y 输出结果为 2.8

z = float("3")   # z 输出结果为 3.0

w = float("4.2") # w 输出结果为 4.2

3.str() 强制转换为字符串类型

x = str("s1") # x 输出结果为 's1'

y = str(2)    # y 输出结果为 '2'

z = str(3.0)  # z 输出结果为 '3.0'

二、推导式

1.列表推导式

[表达式 for 变量 in 列表]

[out_exp_res for out_exp in input_list]

或者

[表达式 for 变量 in 列表 if 条件]

[out_exp_res for out_exp in input_list if condition]

out_exp_res:列表生成元素表达式,可以是有返回值的函数。

for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。

if condition:条件语句,可以过滤列表中不符合条件的值。

①过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母:

>>> names = ['Tom','Alice','Jerry','Wendy','Smith']

>>> new_names = [name.upper()for name in names if len(name)>3]

>>> print(new_names)

输出:

['ALICE', 'JERRY', 'WENDY', 'SMITH']

②计算 30 以内可以被 3 整除的整数:

>>> multiples = [i for i in range(30) if i % 3 == 0]

>>> print(multiples)

输出:

[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

2.字典推导式

{ key_expr: value_expr for value in collection }

{ key_expr: value_expr for value in collection if condition }

使用字符串及其长度创建字典:

listdemo = ['Google', 'Taobao']

# 将列表中各字符串值为键,各字符串的长度为值,组成键值对

>>> newdict = {key:len(key) for key in listdemo}

>>> newdict

输出:

{'Google': 6,  'Taobao': 6}

3.集合推导式

{ expression for item in Sequence }

{ expression for item in Sequence if conditional }

①计算数字 1,2,3 的平方数:

>>> setnew = {i**2 for i in (1,2,3)}

>>> setnew

输出:

{1, 4, 9}

②判断不是 abc 的字母并输出:

>>> a = {x for x in 'abracadabra' if x not in 'abc'}

>>> a

{'d', 'r'}

>>> type(a)

<class 'set'>

4.元组推导式

元组推导式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的元组。

(expression for item in Sequence )

(expression for item in Sequence if conditional )

元组推导式和列表推导式的用法也完全相同,只是元组推导式是用 () 圆括号将各部分括起来,而列表推导式用的是中括号 [],另外元组推导式返回的结果是一个生成器对象。

生成一个包含数字 1~9 的元组:

>>> a = (x for x in range(1,10))

>>> a

<generator object <genexpr> at 0x7faf6ee20a50>  # 返回的是生成器对象

>>> tuple(a)       # 使用 tuple() 函数,可以直接将生成器对象转换成元组

(1, 2, 3, 4, 5, 6, 7, 8, 9)

三、lambda(匿名函数)

lambda 函数是一种小型、匿名的、内联函数,它可以具有任意数量的参数,但只能有一个表达式。且不需要使用 def 关键字定义完整函数。

lambda 函数通常用于编写简单的、单行的函数,通常在需要函数作为参数传递的情况下使用,例如在 map()、filter()、reduce() 等函数中。

1.语法格式

lambda arguments: expression

lambda是 Python 的关键字,用于定义 lambda 函数。

arguments 是参数列表,可以包含零个或多个参数,但必须在冒号(:)前指定。

expression 是一个表达式,用于计算并返回函数的结果。

2.示例

①没有参数:

f = lambda: "Hello, world!"

print(f()) # 输出: Hello, world!

输出结果:

Hello, world!

②一个参数:

使用 lambda 创建匿名函数,设置一个函数参数 a,函数计算参数 a 加 10,并返回结果。

x = lambda a : a + 10

print(x(5))

输出结果:

15

③多个参数:

设置多个参数时,参数使用逗号( , )隔开。

使用 lambda 创建匿名函数,函数参数 a 与 b 相乘,并返回结果。

x = lambda a, b : a * b

print(x(5, 6))

输出结果:

30

四、end 关键字

关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符。

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

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

相关文章

Linux设置静态IP地址

在Linux系统中设置静态IP地址的步骤如下&#xff1a; 1.使用管理员权限登录系统。 2.编辑网卡配置文件&#xff1a; 网卡配置文件通常位于 /etc/sysconfig/network-scripts/ 目录下&#xff0c;可以使用命令 cd /etc/sysconfig/network-scripts 切换到该目录。 …

Wifi技术知识

参考文章 https://www.163.com/dy/article/FDFT60T70550I80C.html https://www.zhihu.com/tardis/bd/art/485711752?source_id1001 wifi代数 以前大家看电脑手机路由器参数&#xff0c;WiFi都是802.11a/b/n/g/ac/ax&#xff0c;这学名读起来有些麻烦&#xff0c;现在好了&…

第12届智能计算与无线光通信国际会议(ICWOC 2024)即将召开!

2024年第12届智能计算与无线光通信国际会议&#xff08;ICWOC 2024&#xff09;将于2024年6月21-23日在中国重庆召开。随着深度学习等人工智能技术的不断进步&#xff0c;以自动化、自治为特征的智能应用预计将激增。本届会议主题为“光通信智能链接”&#xff0c;旨在为相关技…

ubuntu环境下docker容器详细安装使用

文章目录 一、简介二、ubuntu安装docker1.删除旧版本2.安装方法一3. 安装方法二&#xff08;推荐使用&#xff09;4.运行Docker容器5. 配置docker加速器 三、Docker镜像操作1. 拉取镜像2. 查看本地镜像3. 删除镜像4. 镜像打标签5. Dockerfile生成镜像 四、Docker容器操作1. 获取…

Qt | TCP服务器端框架搭建

文章目录 server.hserver.cppmain.cpptcpclientsocket.htcpclientsocket.cpptcpserver.htcpserver.cpp提示运行QTcpServer 是 Qt 框架中的一个类,用于实现 TCP 服务器。它提供了一种方便的方式来创建和管理 TCP 服务器,以便与客户端进行通信。QTcpServer 类属于 QtNetwork 模…

Webserver(1): C++实现线程池

在实现线程池之前&#xff0c;首先对线程池中所需要用到的互斥锁、条件变量和信号量进行了简单的封装。 互斥锁、条件变量和信号量封装 locker.h头文件如下&#xff08;已详细注释&#xff09; /* 这里面对互斥锁&#xff0c;条件变量和信号量进行了封装 保证工作队列的线程…

微服务架构的流行框架之:Dubbo Spring Cloud

Dubbo Dubbo是一个高性能、轻量级的开源Java RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;框架&#xff0c;由阿里巴巴开发并贡献给了Apache基金会&#xff0c;成为Apache的顶级项目。Dubbo提供了RPC通信和服务治理的解决方案&#xff0c;使得构…

深入理解C语言中的变量和常量

变量和常量 1. 前言2. 预备知识2.1 printf和%d2.2 \n2.3 scanf2.4 scanf在vs中报错2.5 extern2.6 数组的初始化 3. 变量和常量的区别4. 变量4.1 定义变量的方法4.2 变量的分类4.2.1 局部优先 4.3 变量的使用4.4 变量的作用域4.4.1 局部变量的作用域4.4.2 全局变量的作用域 4.5 …

机器学习|KNN和Kmeans

KNN和Kmeans KNN KNN-K个最近的邻居&#xff0c;而K是可人先预设出来的。 所谓近朱者赤&#xff0c;近墨者黑。 可以选取离当前最近的K个样本来作为辅助判断&#xff0c;因为本样本和最近的K个样本应该是处于一种相似的状态。 以下是一个苹果和梨的识别任务。 图上会出现一个未…

深入Spring Boot核心技术:代码实战解析

第一章&#xff1a;揭开Spring Boot自动配置的面纱 自动配置原理 让我们首先通过一个简化的Spring Boot应用启动类来直观感受自动配置的工作原理&#xff1a; java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.Sprin…

【软件设计师】通俗易懂的去了解算法的时间复杂度

&#x1f413; 时间复杂度 常用排序的时间复杂度 时间频度 算法需要花费的时间&#xff0c;和它语句执行的次数是成正比的&#xff0c;所以会把一个算法种语句执行次数称为语句频度和时间频度、记作T(n)。 定义 时间复杂度就是找到一个无限接近时间频度T(n)同数量级的函数&am…

小脑萎缩患者生活指南:守护你的每一步

亲爱的读者朋友们&#xff0c;今天我们要聊一聊一个特殊但非常重要的群体——小脑萎缩患者。在这个充满挑战的旅程中&#xff0c;我们将一起探索如何用爱和智慧为患者打造一个更加安全、舒适的生活环境。 小脑萎缩是指小脑细胞逐渐减少&#xff0c;导致小脑体积缩小的一种病症…

全量知识系统问题及SmartChat给出的答复 之16 币圈生态链和行为模式

Q.42 币圈生态链和行为模式 我认为&#xff0c;上面和“币”有关的一系列概念和技术&#xff0c;按设计模式的划分 &#xff0c;整体应该都属于行为模式&#xff0c;而且应该囊括行为模式的所有各个方面。 而行为又可以按照三种不同的导向&#xff08;以目的或用途为导向、过…

互联网摸鱼日报(2024-03-04)

互联网摸鱼日报(2024-03-04) 36氪新闻 Sora来了&#xff0c;你又焦虑了吗&#xff1f; 最前线&#xff5c;安踏首家球鞋集合店落地北京三里屯 一位中国遥感科学家&#xff0c;决定“跨界”拯救濒危动物野骆驼 | 最前线 本周双碳大事&#xff1a;工信部等七部门发文推动制造…

mirthConnect忽略HTTPS SSL验证

mirthConnect SSL忽略验证 1、下载https网站证书 点击不安全---->证书无效 2、查看mirth 秘钥库口令 在mirthConnect 的conf目录下面keystore.storepass 3、导入证书到本地 在jdk的bin目录下面执行 keytool -importcert -file "下载的网站证书路径" -keysto…

LeetCode每日一题【c++版】- leetcode 225.用队列实现栈

题目描述 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素…

Python中按指定数量分割列表字符串的方法

引言 处理列表数据时&#xff0c;有时我们需要将一个包含长字符串的列表分割成按照特定长度的小字符串的多个列表。这在文本处理、批量数据处理或者当我们需要将数据分块进行并行处理时非常常见。Python作为一个强大的编程语言&#xff0c;提供了很多方便的方法来实现这一功能…

CV论文--2024.3.4

1、Deep Networks Always Grok and Here is Why 中文标题&#xff1a;深度网络总是让人摸不着头脑&#xff0c;原因如下 简介&#xff1a;本文探讨了深度神经网络&#xff08;DNN&#xff09;中一种称为"延迟泛化"或"Grokking"的现象。在接近零的训练误差…

使用ssh密钥提交、拉取代码的介绍

网络世界中的数据并不安全 网络中无时无刻有大量的数据传输&#xff0c;传输过程中需要经过各种网络设备和物理媒介你的数据可能会在传输的某一个环节被一个“中间人”拦截&#xff0c;造成泄密&#xff0c;甚至会篡改你的数据&#xff0c;让你发出错误的信息 SSH 为 Secure …

MySQL 5.5、5.6、5.7的主从复制改进

主从复制面临的问题 MySQL一直以来的主从复制都是被诟病,原因是: 1、主从复制效率低 早期mysql的复制是通过将binlog语句异步推送到从库。从库启动一个IO线程将接收到的数据记录到relaylog中;另外启动一个SQL线程负责顺序执行relaylog中的语句实现对数据的拷贝。 这里的…