当前位置: 首页 > news >正文

Python | 武理刷题

1. 

为什么是非法的?

a+1=a+1

在Python(以及大多数其他编程语言)中,表达式 a+1=a+1 是非法的,因为它试图将一个值(a+1 的结果)赋给一个表达式(a+1 本身),而不是一个变量。赋值操作符 = 在编程中用于将一个值存储到一个变量中,但它左边的必须是一个可赋值的对象(如变量名、属性名、列表的元素等),而不是一个表达式。

换句话说,你不能将 = 右边的值赋给 = 左边的表达式,因为表达式的结果是一个值,而不是一个可以存储新值的容器。

如果你想表达一个恒等式(即一个总是为真的数学表达式),你应该使用 == 而不是 =。但是,a+1 == a+1 总是为 True,因为对于任何 a 的值,a+1 都等于 a+1

如果你想要对变量 a 进行某种操作,你应该这样做:

 

python复制代码

a = a + 1 # 或者简写为 a += 1

在这个例子中,a 的值被增加了1。

2.

为什么类型是dict而不是tuple

a=({'Name':'python'})
print(type(a))

 如果元组只有一个元素,要在最后加逗号

在Python中,当你写下 a = ({'Name':'python'}) 这行代码时,尽管你使用了圆括号 (),但是,由于圆括号在这种情况下是多余的(因为字典本身就是一个不可变的数据结构,可以作为单个元素存在),Python解释器会将其视为一个元组,只不过这个元组里只有一个元素——一个字典。

但是,当你使用 print(type(a)) 时,你实际上是打印出变量 a 所指向对象的类型。由于 a 是一个元组(尽管它只包含一个元素),type(a) 将返回 <class 'tuple'>

如果你只想创建一个字典,并且不需要将其放在一个元组中,你应该这样做:

 
a = {'Name':'python'}
print(type(a)) # 输出: <class 'dict'>

在这个例子中,a 是一个字典,所以 type(a) 会返回 <class 'dict'>

 

a = ({'Name':'python'},) # 注意末尾的逗号,它表明这是一个元组
print(type(a)) # 输出: <class 'tuple'>

在这个例子中,末尾的逗号告诉Python解释器这是一个元组,即使它只包含一个元素。没有逗号的话,Python会将其视为一个字典(如果它是表达式的一部分)或者抛出一个语法错误(如果它是独立的表达式)。

 

3.

为什么这两个是一样的

a=dict([('1','one'),('2','two'),('3','three')])#{'1': 'one', '2': 'two', '3': 'three'}
print(a)

 

在Python中,dict 函数可以接受一个可迭代对象作为参数,该可迭代对象中的元素应该是表示键值对的元组(或其他可迭代对象,但元组是最常见的)。当你使用这样的语法调用 dict 函数时,你实际上是告诉Python从给定的可迭代对象中构建一个字典。

在你给出的例子中:

a = dict([('1','one'),('2','two'),('3','three')])

你传递了一个列表给 dict 函数,这个列表包含了三个元组,每个元组都代表了一个键值对。dict 函数会遍历这个列表,并将每个元组中的第一个元素作为键,第二个元素作为值,创建一个新的字典。

因此,dict 函数会按照你提供的元组列表来构建字典,结果就是你看到的:

{'1': 'one', '2': 'two', '3': 'three'}

 

http://www.lryc.cn/news/361127.html

相关文章:

  • 如何设置让背景颜色不包括 padding 部分,顺带全面学习 background-clip 属性(可以实现文字渐变)
  • Oracle 序列-SEQUENCE
  • 8岁儿童学编程基础好吗:探索早期编程教育的利与弊
  • vue3加axios配合element-plus实现图片等文件本地上传,并获取服务器返回的真实地址数据,前端写法
  • 面试题:谈谈你对观察者和订阅发布的理解
  • 下载文件流
  • 有开源软件,也有开源硬件?
  • 【TensorFlow深度学习】卷积层变种与深度残差网络原理
  • 每日一题《leetcode-- LCR 025.两数相加||》
  • MySQL数据库的约束
  • 计算机毕业设计 | springboot+vue会议室管理系统(附源码)
  • 常见端口及其脆弱点
  • JS函数的进阶
  • 【UE+GIS】UE5GIS CAD或shp构建3D地形
  • Unity学习笔记---音视频播放
  • 项目集成过程中的makefile记录
  • Vue3 -Computed计算属性
  • MySQL—函数—日期函数(基础)
  • Java+SVNCloud+Mysql课程设计
  • MySQL之创建高性能的索引(四)
  • Python 限制输入数的范围
  • STM32两轮平衡小车原理详解
  • (笔记)如何评价一个数仓的好坏
  • 友善RK3399v2平台利用rkmpp实现硬件编解码加速
  • Mysql 8.0 主从复制及读写分离搭建记录
  • PyTorch、显卡、CUDA 和 cuDNN 之间的关系
  • Lambda 表达式练习
  • JavaScript第七讲:数组,及练习题
  • 从docker镜像反推Dockerfile
  • 车载软件架构 - AUTOSAR 的信息安全框架