【RYG】Python技能练习场—查漏补缺(二)

1、PASS关键字

通常用作占位符,表示不执行任何操作,主要用于语法结构中要求有语句的地方,但又不需要做任何实际操作的情况。例如,在定义一个函数或类时,如果暂时不需要写函数体或方法体,可以使用"pass"来占位,避免出现语法错误。

2、shuffle()

是 Python 中用于将可变序列中的元素随机排列的方法,通常与 random 模块一起使用。例如,可以通过导入 random 模块并使用 random.shuffle() 方法对列表进行元素洗牌操作。这个方法会改变原始序列的排列顺序。

3、count()

count() 方法是Python中用于统计指定元素在序列中出现次数的方法。这个方法可以用于字符串、列表、元组等序列类型。

my_list = [1, 2, 3, 1, 1, 4, 5, 1]
count_of_ones = my_list.count(1)
print(count_of_ones)  # Output: 4

4、else关键字

在Python中,else语句只能用在if语句中,并且必须紧跟在if或elif语句之后【错】

在某些情况下,else语句也可以单独使用,但这种情况比较少见。

5、discard()

`discard()` 方法通常用于集合(set)对象,用于移除集合中的指定元素,如果指定元素在集合中存在,则移除该元素;如果指定元素在集合中不存在,则不做任何操作。要注意的是,与 `remove()` 方法不同的是,如果要移除的元素不存在,`remove()` 方法会触发 KeyError 异常,而 `discard()` 方法则不会。 

6、常见运算符

  • 算术运算符(如加法+、减法-、乘法*、除法/、取模%、取整//、指数**)
  • 比较运算符(如等于==、不等于!=、大于>、小于<、大于等于>=、小于等于<=)
  • 逻辑运算符(如与and、或or、非not)
  • 赋值运算符(如=、+=、-=、*=、/=等)
  • 位运算符(如按位与&、按位或|、按位异或^、取反~、左移<<、右移>>)
  • 成员运算符(如in、not in)
  • 身份运算符(如is、is not)

7、变量名命名规则

  • 变量名只能包含字母(大小写均可)、数字和下划线。
  • 变量名不能以数字开头。
  • 变量名不能是Python的关键字。
  • 变量名区分大小写,例如`myVar`和`myvar`是不同的变量名。
  • 遵循命名规范,使用有意义的变量名,尽量避免使用单个字符作为变量名。
  • 推荐使用下划线作为单词之间的分隔符,例如`my_var`。
  • 尽量避免使用中文或拼音作为变量名,建议使用英文命名。
  • 变量名应该具有描述性,能够清晰表达变量所代表的含义,便于代码阅读和维护。

8、raise关键字

用于手动触发一个异常。

9、is和==

“==”:用于比较两个对象的值是否相等,在大多数情况下用于比较对象的值或内容是否相同。

“is”:用于比较两个对象的身份是否相同,即它们是否引用同一个内存地址。

10、python关键字的分类

  • 基本关键字(Basic Keywords):如 True, False, None, and, or, not 等
  • 流程控制关键字(Flow Control Keywords):如 if, else, elif, while, for, break, continue 等
  • 函数和类定义关键字(Function and Class Definition Keywords):如 def, class, return, yield 等
  • 异常处理关键字(Exception Handling Keywords):如 try, except, finally, raise 等
  • 导入和模块关键字(Import and Module Keywords):如 import, from, as, importlib 等
  • 其他关键字(Other Keywords):如 with, lambda, global, nonlocal 等

11、浅拷贝和深拷贝

5张图彻底理解Python中的浅拷贝与深拷贝 - 知乎 (zhihu.com)

12、解释型语言和编译型语言

在编译型语言中,源代码在执行之前需要先被编译成机器语言的可执行文件,然后再执行。而在解释型语言中,源代码是逐行解释执行的,不需要先编译成可执行文件。

常见的解释型语言包括 Python、JavaScript、PHP、Ruby 等。

常见的编译型语言包括 C、C++、Java、Go 等。

编译型语言通常具有更高的性能,但开发速度可能会较慢。

13、函数定义中的参数类型

  • 位置参数(Positional Arguments):按照函数定义时的位置顺序传递的参数。
  • 默认参数(Default Arguments):在函数定义时为参数指定默认值,调用函数时可以不传递这些参数。
  • 可变长参数(Variable-Length Arguments):

   - *args:用于接收不定数量的位置参数,以元组的形式传递。

   - **kwargs:用于接收不定数量的关键字参数,以字典的形式传递。

  • 关键字参数(Keyword Arguments):通过键值对的形式传递,可以不按照函数定义时参数的位置进行传递。
  • 强制关键字参数(Keyword-Only Arguments):在函数定义中通过 * 号后的参数必须以关键字参数的形式传递。
  • 注解参数(Annotated Arguments):在函数定义中为参数添加类型注解,用于提供额外的类型信息,但不会影响函数执行。

14、字符串的切片操作

slice或者直接切片

# 使用slice(start, end)函数进行切片操作
s = "Hello, World!"
slice_obj = slice(7, 12)  # 切取索引7到索引11之间的子串
result = s[slice_obj]
print(result)  # Output: World# 使用str[start:end]进行切片操作
s = "Hello, World!"
result = s[7:12]  # 切取索引7到索引11之间的子串
print(result)  # Output: World

15、字典的键必须是可哈希的

布尔值不能当字典的键是因为字典的键必须是可哈希的,而布尔值是不可哈希的(不可变的),因此不能作为字典的键。在Python中,可哈希的数据类型是指其值不可改变,且具有唯一标识符的数据类型,比如整数、浮点数、字符串等都是可哈希的。而布尔值True和False是不可变的对象,但由于它们没有唯一的标识符,所以不能被用作字典的键。如果您尝试将布尔值作为字典的键,Python会抛出TypeError异常。

16、二分法找寻下标

import sysdef binary_search(arr, target):low = 0high = len(arr) - 1while low <= high:mid = (low + high) // 2if arr[mid] == target:return midelif arr[mid] < target:low = mid + 1else:high = mid - 1return -1try:while True:line = sys.stdin.readline().strip()if line == '':breaklines =list(map(int,line.split()))n=binary_search(lines,11)print(n)
except:pass

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

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

相关文章

SpringData JPA - ORM 框架下,打造高效数据访问层

目录 一、SpringData JPA 概述 1.1、什么是 JPA 1.2、什么是 ORM 1.3、什么是 Hibernate 1.4、JPA 和 Hibernate 的关系 1.5、JPA 的优势 二、SpringData JPA 实战开发 2.1、依赖 2.2、配置文件 2.3、启动类 2.4、创建实体 2.5、基于 JpaRepository 的 CRUD 三、…

网络安全审计

一、什么叫网络安全审计 网络安全审计是按照一定的安全策略&#xff0c;利用记录、系统活动和用户活动等信息&#xff0c;检查、审查和检验操作时间的环境及活动&#xff0c;从而发现系统漏洞、入侵行为或改善系统性能的过程&#xff0c;它是提高系统安全性的重要手段。 系统…

String 最多能存储多少个字符/String 字符串的最大长度/String 字符串有没有长度限制

文章目录 1.编译时字节限制2.运行时长度限制3.小结4.补充 基于 JDK8 进行分析 1.编译时字节限制 String s "11111...1111"; // 其中有 10 万个字符 "1"当我们使用如上形式定义一个字符串的时候&#xff0c;当我们执行 javac 编译时&#xff0c;是会抛出异…

数据结构:时间复杂度/空间复杂度

目录 一、时间复杂度 定义 常见的时间复杂度 如何计算时间复杂度 计算方法 三、实例分析 二、空间复杂度 定义 重要性 常见的空间复杂度 二、空间复杂度 定义 重要性 常见的空间复杂度 计算方法 三、实例分析 大O的渐进表示法 最好情况&#xff08;Best Case…

Deep Learning Part Eight Attention--24.5.3~24.5.4

注意力是全部。 --&#xff08;你若安好&#xff0c;就是夏天&#xff09;安夏的座右铭 00.引子 上一章我们使用 RNN 生成了文本&#xff0c;又通过连接两个 RNN&#xff0c;将一个时序数据转换为了另一个时序数据。我们将这个网络称为 seq2seq&#xff0c;并用它成功求解了简…

spring框架学习记录(1)

前半个月一直在应付期中考试&#xff0c;快被折磨似了orz 文章目录 SpringIoC(Inversion of Control) 控制反转与DI(Dependency Injection)依赖注入bean相关bean配置bean实例化bean的生命周期 依赖注入相关依赖注入方式依赖自动装配 容器创建容器获取bean Spring IoC(Inversi…

leetcode295. 数据流的中位数

class MedianFinder {//A为小根堆&#xff0c;B为大根堆List<Integer> A,B;public MedianFinder() {A new ArrayList<Integer>();B new ArrayList<Integer>();}public void addNum(int num) {int m A.size(),n B.size();if(m n){insert(B,num);int top …

DAY123

将STM32内部的供电方案大致分为3部分&#xff1a; 第一部分&#xff08;最上边的&#xff09;&#xff1a;模拟部分供电&#xff0c;VDDA&#xff08;VDD Analog&#xff09; 这部分电路供电的正极是VDDA&#xff0c;负极是VSSA&#xff0c;其中AD转换器还有两根参考电压的供电…

BeanFactory 源码浅析

BeanFactory 功能介绍 BeanFactory 是核心容器&#xff0c;负责管理 Bean 对象 BeanFactory 接口的功能只有一个 getBean() 方法BeanFactory 的实现类&#xff08;DefaultListableBeanFactory&#xff09;包含&#xff1a;控制反转、基本的依赖注入、Bean 生命周期的各种功能…

从浏览器输入url到页面加载(八)你的web网站有几台服务器?

你有没有想过一个问题&#xff0c;做为一名前端开发&#xff0c;你的网站上线后&#xff0c;准备了几台服务器&#xff1f;前端静态资源用了几台&#xff0c;你调接口的那个后端部署了几台&#xff1f; 目录 1 没接触过这个问题很正常 2 当访问量上升的时候 2.1 提升带宽 …

绝了!这是我见过最详细的HashMap源码解析

1 概述 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长. HashMap是非线程安全的,只适用于单线程环境,多线程环境可以采用并发包下的concurrentHashMap HashMap 实现了Serializable接口&#x…

五个衰落的编程语言

编程语言为开发人员提供了一种与计算机交互的方式。 然而&#xff0c;随着技术的发展&#xff0c;一些编程语言的使用范围越来越窄&#xff0c;或者被其他语言替代。 本文盘点了五种编程语言&#xff1a;Ruby、Visual Basic、Perl、Delphi和Haskell。 1.Ruby Ruby是一种动态…

2024牛客五一集训派对day2

这套题目我总结一下就是 python嘎嘎乱杀&#xff0c;真的嘎嘎乱杀&#xff0c;我真的长见识了&#xff0c;我真的&#xff0c;真的佩服 A. Groundhog and 2-Power Representatio 链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 Groundhog to…

ArmSoM-Sige5 RK3576开发板 正式发布!

简介​ ArmSoM-Sige5 采用Rockchip RK3576第二代8nm高性能AIOT平台&#xff0c;6 TOPS算力NPU&#xff0c;最大可配16GB大内存。支持8K视频编解码&#xff0c;拥有丰富的接口&#xff0c;支持双千兆网口&#xff0c;WiFi6 & BT5和多种视频输出。支持多种操作系统&#xff…

torch.nn.Module 常见 修改 汇总

1. append new layer/module pytorch中使用add_module添加网络子模块 PyTorch中的Sequential、ModuleList和ModuleDict用法总结

Spark使用Java读取Mysql

在Apache Spark中使用Java来读取MySQL数据库中的数据&#xff0c;你需要使用JDBC&#xff08;Java Database Connectivity&#xff09;来连接MySQL&#xff0c;并且通常你会使用Spark的JdbcRDD或者DataFrameReader&#xff08;通过Spark SQL&#xff09;来读取数据。不过&#…

HTML5实用大全(Part.2)

引言&#xff1a; 哈喽&#xff0c;各位小伙伴们大家好呀&#xff0c;学习了上一篇关于HTML5的文章后&#xff0c;你是否对于入门HTML5有了一定的基础了呢&#xff0c;本篇博客我们将继续学习HTML5的不同标签&#xff0c;跟上队伍&#xff0c;准备出发咯&#xff01; 1.标签之…

2024五一杯数学建模竞赛A题完整成品论文和代码分析:建立钢板切割的工艺路径动态规划、贪心与分层优化模型

2024五一杯数学建模竞赛A题&#xff1a;建立钢板切割的工艺路径动态规划、贪心与分层优化模型 2024五一数学建模A题完整代码和成品论文获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/gyoz9ou5upvkv6nx?singleDoc# 本文文章较长&#xff0c;建议先目录。经过不懈的…

在Ubuntu上怎么卸载qemu-system-x86_64

2024年5月3日&#xff0c;周五晚上 要在Ubuntu上卸载QEMU&#xff0c;你可以使用以下命令&#xff1a; sudo apt remove qemu-system-x86这个命令将卸载QEMU系统模拟器&#xff08;x86架构&#xff09;。你也可以使用purge参数来彻底删除QEMU及其配置文件&#xff1a; sudo a…

三星一季度利润飙涨932%!AI引爆存储热,未来研发狠砸AI

⏩三星一季度利润飙涨932%&#xff01;AI引爆存储热&#xff0c;未来研发狠砸AI 三星电子公布了第一季度财报数据&#xff0c;显示其利润飙涨932.8%。得益于AI拉动的广泛支出&#xff0c;三星电子一季度利润激增。三星表示&#xff0c;预计第二季度业务将主要由生成式人工智能…