Python | 试卷刷题and基础笔记

news2025/1/23 10:33:28

1.下列转义字符中, 属于“回车”含义的是

\n 换行 
\r 回车

2.for循环遍历字典

在Python中,你可以使用for循环来遍历字典的键(keys)、值(values)或者键-值对(items)。下面是三种遍历字典的方法:

遍历字典的键(keys)

my_dict = {'a': 1, 'b': 2, 'c': 3}  
for key in my_dict:  
    print(key)

遍历字典的值(values)


	my_dict = {'a': 1, 'b': 2, 'c': 3} 

	for value in my_dict.values(): 

	print(value)

遍历字典的键-值对(items)

my_dict = {'a': 1, 'b': 2, 'c': 3}  
for key, value in my_dict.items():  
    print(key, value)

3.切片操作

c1="HelloWorld"
print(c1[:5])#指的是从[0,5)
print(c1[5:])#指的是 从[5,end]
print(c1[::5])  #指的是步长是5

 4.True==1

print(2==True and 0==False)

结果是False 因为2不等于1

5.

print(4>5 and 4 or 5 and 4*3**2 or not 8>6)

在Python中,逻辑运算符(如andor)的优先级低于比较运算符(如>),但是它们仍然遵循一定的规则进行求值。同时,Python使用“短路”行为,即当确定整个逻辑表达式的结果时,它会停止进一步的求值。

让我们逐步分析表达式 4 > 5 and 4 or 5 and 4 * 3 ** 2 or not 8 > 6

  1. 括号和优先级:首先,由于我们没有显式的括号,我们需要知道运算符的优先级。在Python中,not的优先级最高,然后是and,最后是or。此外,乘方(**)的优先级高于乘法和除法,再高于比较运算符,最后才是逻辑运算符。
  2. 从左到右求值:在没有括号的情况下,Python从左到右进行求值。

现在,让我们逐步分析这个表达式:

  1. 4 > 5:这是False,因为4不大于5。
  2. 由于and是短路运算符,如果其左侧为False,则整个and表达式的结果就是False,并且不会求值其右侧的部分。因此,4 > 5 and 4的结果是False
  3. 接下来是or运算符。由于or的左侧(即4 > 5 and 4的结果)是Falseor运算符会求值其右侧的部分来确定整个表达式的结果。
  4. 5 and 4 * 3 ** 2:首先,我们求值4 * 3 ** 2,得到36(因为乘方的优先级高于乘法)。然后,由于5是真值(在布尔上下文中等于True),and运算符会求值其右侧的部分,即36。因此,5 and 4 * 3 ** 2的结果是36。
  5. 由于or运算符的左侧(即4 > 5 and 4的结果)是False,而右侧(即5 and 4 * 3 ** 2的结果)是36(在布尔上下文中也是真值),因此整个or表达式的结果是36。
  6. 最后,not 8 > 6:这部分是not True,因为8确实大于6,所以结果是False。但是,由于我们已经确定了整个表达式的结果是36(在前面的or运算中),所以这部分的值不会影响最终的结果。

综上所述,print(4 > 5 and 4 or 5 and 4 * 3 ** 2 or not 8 > 6)的结果是36。

6.

extend()函数和'+='运算符

list.extend(iterable)

(1)添加列表

demo_list = [1,2,3]
demo_list.extend([4,5])    # 等效写法demo_list += [4,5]   
#list结果为 [1, 2, 3, 4, 5]


(2)添加字符串

demo_list = [1,2,3]
demo_list.extend("ab")
#list结果为 [1, 2, 3, 'a', 'b']


(3)添加字典

demo_list = [1,2,3]
demo_list.extend({"apple":1,"banana":2})
#list结果 [1, 2, 3, 'apple', 'banana']

list.pop(index) 

这里是索引,删除第几个 

pop的用法

list.remove(element)

这里是删除值 

remove的用法

 7.冒泡排序

# 使用 Python 冒泡排序算法对[23,56,34,12,78,6]进行由大到小
# 排序


a=[23,56,34,12,78,6]
end=len(a)

while end!=0:
    flag = 0
    for i in range(0,end-1):
        if a[i+1]<a[i]:
            temp=a[i+1]
            a[i+1]=a[i]
            a[i]=temp
            flag=1
    if flag==0:
        break
    end=end-1

print(a)

8.类的属性

1. obj.__dict__

__dict__ 是一个存储对象属性的字典。对于自定义对象,__dict__ 会包含所有实例变量(不包括继承自类的属性,除非它们被重写)。

class MyClass: 
def __init__(self): 
self.a = 1 
self.b = 2 


obj = MyClass() 
print(obj.__dict__) # 输出: {'a': 1, 'b': 2}

2. obj.__class__

__class__ 属性引用对象所属的类。


	class MyClass: 

	pass 

	
	obj = MyClass() 

	print(obj.__class__) # 输出: <class '__main__.MyClass'>

3. class.__bases__

__bases__ 是一个元组,包含了类继承的所有父类。对于单一继承,这个元组只包含一个类;对于多重继承,它会包含多个类。

class Base1: 
pass 


class Base2: 
pass 


class MyClass(Base1, Base2): 
pass 


print(MyClass.__bases__) # 输出: (<class '__main__.Base1'>, <class '__main__.Base2'>)

4. class.__base__

注意:__base__ 属性并不是Python官方支持的。但在单继承的情况下,它通常指向类的直接父类(与 __bases__[0] 相同)。在多继承的情况下,使用 __base__ 可能会导致混淆,因为它可能不指向你期望的父类。因此,通常建议使用 __bases__

但是,为了示例,这里是如何在单继承的情况下使用 __base__ 的:

class Base: 
pass 


class MyClass(Base): 
pass 


print(MyClass.__base__) # 输出: <class '__main__.Base'>

5. class.__mro__

类的层次结构

 

	class Base1: 

	def method(self): 

	return "Base1" 

	

	class Base2: 

	def method(self): 

	return "Base2" 

	

	class MyClass(Base1, Base2): 

	pass 

	

	print(MyClass.__mro__) # 输出类似: (<class '__main__.MyClass'>, <class '__main__.Base1'>, <class '__main__.Base2'>, <class 'object'>) 

	

	# 当我们调用 MyClass().method() 时,Python 会首先查找 MyClass 是否定义了 method,如果没有,它会查找 Base1,然后是 Base2,最后是 object(所有类的基类)

9.深拷贝 v.s 浅拷贝

Python 中以 copy.deepcopy() 来实现对象的深度拷贝

深浅拷贝

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

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

相关文章

免费生物蛋白质的类chatgpt工具助手copilot:小分子、蛋白的折叠、对接等

参考: https://310.ai/copilot 可以通过自然语言对话形式实现小分子、蛋白质的相关处理:生成序列、折叠等 应该是agent技术调用不同工具实现 从UniProt数据库中搜索和加载蛋白质。使用ESM Fold方法折叠蛋白质。使用310.ai基础模型设计新蛋白质。使用TM-Align方法比较蛋白质…

数据库迁移的神秘面纱:Liquibase异常全解析与解决之道

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、Liquibase简介与重要性 Liquibase&#xff0c;这个名字听起来就像是液体的魔法。在软件开发的世界里&#xff0c;它确实是一种魔法&#xff0c;一种让数据库变更变得清晰、可控甚至可逆的魔法。但就像所有魔法一…

算法基础之哈希表

大家好&#xff0c;这里是教授.F 什么是哈希表&#xff1a; 哈希表其实就是数组的pro版本。数组有下标&#xff0c;每个下标对应着一个值。哈希表也类似&#xff0c;哈希表有很多哈希值&#xff0c;然后每一个哈希值都会对应着一个值。就是这样&#xff1a;hash(key) 哈希表的…

视频号视频提取器有那些?免费版可以下载视频号视频吗?

在网络上&#xff0c;确实存在多种工具和公众号用于下载视频号内容。今天就说说免费的视频提取器有那些&#xff1f; 视频号提取器工具中常见的有公众号和软件。这些工具通常可以帮助用户从微信视频号平台下载视频内容。 但请注意&#xff0c;使用这些工具可能需要考虑版权和法…

【记录】打印|用浏览器生成证件照打印PDF,打印在任意尺寸的纸上(简单无损!)

以前我打印证件照的时候&#xff0c;我总是在网上找在线证件照转换或者别的什么。但是我今天突然就琢磨了一下&#xff0c;用 PDF 打印应该也可以直接打印出来&#xff0c;然后就琢磨出来了&#xff0c;这么一条路大家可以参考一下。我觉得比在线转换成一张 a4 纸要方便的多&am…

南卡、韶音、Cleer、漫步者开放式耳机好用吗?最强开放式耳机对比揭秘!

在挑选开放式耳机时&#xff0c;个人经验和实际需求应当优先考虑&#xff0c;而非盲目追随潮流或品牌效应。投资耳机前务必慎重&#xff0c;毕竟高价值商品若无法退换&#xff0c;难免造成遗憾。为了帮助大家做出更加明智的决策&#xff0c;我亲自出资购买并测试了市面上多款主…

【Java】Hutool发送邮件功能

目录 开通qq邮箱的stmp实战pom.xmlapplication.ymlcontrollerservice实体类辅助类 需要实现一个通过邮箱找回密码的功能 正常来说&#xff0c;找回密码的验证码&#xff0c;一般来说&#xff0c;都是通过手机号来找回的居多&#xff0c;那为什么会有通过邮箱找回的方式该说不说…

壁纸取图小程序源码系统 可植入广告 低成本搭建 带完整的安装代码包以及搭建教程

系统概述 本壁纸取图小程序源码系统是一套基于微信小程序框架的完整解决方案&#xff0c;旨在为开发者提供一套高效、稳定、易用的壁纸资源管理与分发平台。系统采用模块化设计&#xff0c;具有良好的扩展性和可维护性&#xff0c;同时支持多种广告形式&#xff0c;为开发者提…

“JS逆向 | Python爬虫 | 动态cookie如何破~”

案例目标 目标网址:aHR0cHMlM0EvL21hdGNoLnl1YW5yZW54dWUuY29tL21hdGNoLzI= 本题目标:提取全部 5 页发布日热度的值,计算所有值的加和,并提交答案 常规 JavaScript 逆向思路 JavaScript 逆向工程通常分为以下三步: 寻找入口:逆向工程的核心在于找出加密参数的生成方式。…

【设计模式】结构型-组合模式

前言 在软件开发中&#xff0c;设计模式是一种被广泛应用的解决问题的方法论。其中&#xff0c;结构性设计模式是一类特别重要的模式&#xff0c;它们用于处理类或对象之间的组合关系&#xff0c;其中之一就是组合模式。组合模式允许客户端统一对待单个对象和对象的组合&#…

实习面试题(答案自敲)、

1、为什么要重写equals方法&#xff0c;为什么重写了equals方法后&#xff0c;就必须重写hashcode方法&#xff0c;为什么要有hashcode方法&#xff0c;你能介绍一下hashcode方法吗&#xff1f; equals方法默认是比较内存地址&#xff1b;为了实现内容比较&#xff0c;我们需要…

RF自动化框架-环境搭建

一、RobotFrame框架简介 &#xff08;1&#xff09;RobotFramework简称&#xff1a;RF框架&#xff0c;Robotframework, 采用PO设计模式(page objeck&#xff0c; 页面即对象&#xff0c;将一个实现过程分成不同层次&#xff0c;其实就是一个分层与封装的模式) &#xff08;2…

一键设置常用纸张和页面边距-Word插件-大珩助手

Word大珩助手是一款功能丰富的Office Word插件&#xff0c;旨在提高用户在处理文档时的效率。它具有多种实用的功能&#xff0c;能够帮助用户轻松修改、优化和管理Word文件&#xff0c;从而打造出专业而精美的文档。 【新功能】常用纸张和常用边距 1、一键设定符合中国人常用…

非递归实现快排排序及归并排序(尾篇)

1.快速排序&#xff08;双指针实现&#xff09; 2.非递归实现快排 3.递归实现归并排序 4.非递归实现归并排序 5.总代码 1.快速排序&#xff08;双指针实现&#xff09; 俩有个指针一前一后的排放着&#xff0c;cur先走并且去找比kye对应值小的数组值&#xff0c;一旦找到后…

我国液碱产量逐渐增长 行业集中度有望不断提升

我国液碱产量逐渐增长 行业集中度有望不断提升 液碱是由氢氧化钠&#xff08;NaOH&#xff09;、氢氧化钾&#xff08;KOH&#xff09;等化合物以及水组成的一种碱性化合物。液碱的相对分子质量为40.00&#xff0c;密度为1.318g/cm&#xff0c;在常温常压下多表现为一种无色、无…

萨科微的“Slkor”和金航标“Kinghelm”

宋仕强说&#xff0c;我国的科学研究和先进技术&#xff0c;与先进国家相比还有差距&#xff0c;这一点还体现在社会生产效率和人均GDP上面。我们只有抓住科技进步的风口如人工智能&#xff08;AI&#xff09;&#xff0c;再加上公司内部的研发和管理等环节的微创新&#xff0c…

ai怎么导出jpg?让我告诉你答案【详】

在设计和创意工作中&#xff0c;Adobe Illustrator&#xff08;AI&#xff09;是一款不可或缺的工具。然而&#xff0c;当我们将设计作品导出为JPG格式时&#xff0c;可能会遇到一些问题。ai怎么导出jpg&#xff1f;如何确保导出的JPG图片保持高质量&#xff1f;接下来&#xf…

原子阿波罗STM32F429程序的控制器改为STM32F407

以前&#xff0c;学习原子的探索者开发板&#xff0c;有STM32F407ZGT6开发板&#xff0c;现在想学习阿波罗开发板&#xff0c;但手头没有F429开发板&#xff0c;于是&#xff0c;想把STM32F429芯片替换为STM32F407芯片&#xff0c;本以为没有什么难度&#xff0c;但是替换后发下…

Mysql:通过一张表里的父子级,递归查询并且分组分级

表&#xff1a;gc_jzst_single_base 需求&#xff1a;要求返回这张表里符合条件的数据&#xff0c;且有父子级关系的&#xff0c;展示为同一组且分级&#xff0c;给后续业务调用 代码 WITH RECURSIVE t1 AS (SELECTsingle_id,old_build_single_id,single_name,bulid_code,1 A…

ArcGIS中几个好用的空间分析工具

ArcGIS是一款经典的GIS应用&#xff0c;其空间分析能力很强&#xff0c;有着丰富的空间分析工具。今天&#xff0c;我们一起来了解几个好用的空间分析工具的功用及操作。 注&#xff1a;演示版本为ArcMap10.4.1 1.方向分布&#xff08;标准差椭圆&#xff09; 路径&#xff…