【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 sys

def binary_search(arr, target):
    low = 0
    high = len(arr) - 1
    
    while low <= high:
        mid = (low + high) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            low = mid + 1
        else:
            high = mid - 1
    
    return -1


try:
    while True:
        line = sys.stdin.readline().strip()
        if line == '':
            break
        lines =list(map(int,line.split()))
        n=binary_search(lines,11)
        print(n)
except:
    pass

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【运维网络篇】史上最全的 网络知识 思维导图!

01 TCP/IP网络协议栈 02 TCP/IP协议层次划分 03 传输介质简介 04 以太网帧结构 05 IP编址 06 ICMP协议 07 ARP协议 08 传输层协议 09 路由基础 10 静态路由基础 11 距离矢量路由协议——RIP 12 链路状态路由协议——OSPF 13 HDLC&PPP原理与应用 14 帧中继…

创新指南|创新组合管理的7个陷阱以及如何避免它们

进入未知领域的第一步可能具有挑战性。尽管创新会犯错误&#xff0c;但在将 IPM 作为公司实践实施时&#xff0c;您可以准备好并避免一些常见的陷阱。在这篇文章中&#xff0c;我们将讨论组织在实施创新组合管理时遇到的最常见的陷阱。 01. 在映射中包含日常业务任务 映射中的…

【iOS】-- 内存五大分区

【iOS】-- 内存五大分区 内存五大分区1.栈区优点&#xff1a; 2.堆区优点&#xff1a; 3.全局区4.常量区5.代码区 验证static、extern、const关键字比较1.static关键字static关键字的作用&#xff1a;全局静态变量局部静态变量 2.extern关键字对内的全局变量对外的全局变量 3.c…

Intel® Platform Firmware Resilience (Intel® PFR):英特尔® 平台固件恢复力(Intel® PFR)

为了降低与固件相关的安全风险&#xff0c;英特尔为服务器平台开发了英特尔平台固件恢复力&#xff08;Intel PFR&#xff09;。 此功能可保护关键固件在启动和运行时免受攻击。这可以被视为是 Cerberus 项目或 NIST SP800-193 的实现。 英特尔平台固件恢复力&#xff08;Int…

抖音小店是什么?它和直播带货有什么区别和联系?一篇详解!

大家好&#xff0c;我是电商糖果 在网上大家都说抖音的流量大&#xff0c;在抖音做电商比较赚钱。 可是有很多人对抖音电商并不了解。 甚至搞不懂抖音小店是什么&#xff1f;它和直播带货的区别和联系也不清楚。 下面&#xff0c;糖果就来给大家好好解答一下这个问题。 抖音…

Linux(openEuler、CentOS8)企业内网samba服务器搭建(Windows与Linux文件共享方案)

本实验环境为openEuler系统<以server方式安装>&#xff08;CentOS8基本一致&#xff0c;可参考本文) 目录 知识点实验1. 安装samba2. 启动smb服务并设置开机启动3. 查看服务器监听状态4. 配置共享访问用户5. 创建共享文件夹6. 修改配置文件7. 配置防火墙8. 使用windows…

C++中的右值引用和移动语义

目录 1 左值引用和右值引用 2 左值引用与右值引用比较 3 右值引用使用场景和意义 4 右值引用引用左值及其一些更深入的使用场景分析 5 完美转发 6.常数右边引用 1 左值引用和右值引用 传统的C语法中就有引用的语法&#xff0c;而C11中新增了的右值引用语法特性&#xff0c…

数组中两个字符串的最小距离

给定一个字符串数组strs&#xff0c;再给定两个字符串str1和str2&#xff0c;返回在strs中str1和str2的最小距离&#xff0c;如果str1或str2为null&#xff0c;或不在strs中&#xff0c;返回-1。 输入描述&#xff1a; 输入包含有多行&#xff0c;第一输入一个整数n(1 ≤ n ≤…

Python | Leetcode Python题解之第61题旋转链表

题目&#xff1a; 题解&#xff1a; class Solution:def rotateRight(self, head: ListNode, k: int) -> ListNode:if k 0 or not head or not head.next:return headn 1cur headwhile cur.next:cur cur.nextn 1if (add : n - k % n) n:return headcur.next headwhi…

【Redis7】了解Redis

1.常见数据库 1.1.键值存储数据库 如 Map 一样的key-value 对&#xff0c;典型代表就是 Redis。 1.2.列存储数据库 关系型数据库是典型的行存储数据库&#xff0c;按行存储的数据在物理层面占用的是连续存储空间&#xff0c;不适合海量数据存储。而按列存储则可实现分布式存储&…

第七届机电、机器人与自动化国际会议(ICMRA 2024)即将召开!

第七届机电、机器人与自动化国际会议&#xff08;ICMRA 2024&#xff09;将于2024年9月20日-22日在中国武汉举行。ICMRA 2024为各国专家学者提供一个学术交流的平台&#xff0c;讨论机电、机器人和自动化领域的最新研究成果和未来的研究方向&#xff0c;旨在能够建立起国家间&a…

C语言常见的动态内存错误及几个经典笔试题以及c/c++内存开辟空间等的介绍

文章目录 前言一、常见的动态内存错误1. 对NULL指针的解引用操作2. 对动态开辟空间的越界访问3. 对非动态开辟内存使用free()4. 使用free释放一块动态开辟内存的一部分5. 对同一块动态内存多次释放6. 动态开辟内存忘记释放&#xff08;内存泄漏&#xff09; 二、几个经典笔试题…

三层交换机与防火墙连通上网实验

防火墙是一种网络安全设备&#xff0c;用于监控和控制网络流量。它可以帮助防止未经授权的访问&#xff0c;保护网络免受攻击和恶意软件感染。防火墙可以根据预定义的规则过滤流量&#xff0c;例如允许或阻止特定IP地址或端口的流量。它也可以检测和阻止恶意软件、病毒和其他威…

element-ui table sortable排序 掉后端接口方式

实例: 官方解释:如果需要后端排序&#xff0c;需将sortable设置为custom&#xff0c;同时在 Table 上监听sort-change事件&#xff0c;在事件回调中可以获取当前排序的字段名和排序顺序&#xff0c;从而向接口请求排序后的表格数据。 1.table上要加 sort-change"sortCha…

XTuner微调LLM:1.8B、多模态和Agent

XTuner微调大语言模型&#xff0c;我们的介绍主要分为以下六个方面。 首先我们讲一下Finetune&#xff1a;分为两种Finetune范式和一条数据的一生来讲解。 为什么要微调&#xff1f;我们的大语言模型为基座模型&#xff0c;要应用到某种特定的场景&#xff0c;需要微调做相应适…

STC8增强型单片机开发——C51版本Keil环境搭建

一、目标 了解C51版本Keil开发环境的概念和用途掌握C51版本Keil环境的安装和配置方法熟悉C51版本Keil开发环境的使用 二、准备工作 Windows 操作系统Keil C51 安装包&#xff08;可以从Keil官网下载&#xff09;一款8051单片机开发板 三、搭建流程 环境搭建的基本流程&#xf…

做外贸用什么邮箱比较好?

外贸公司在推进公司业务时需要频繁进行跨国沟通&#xff0c;选择一款专业且功能强大的企业邮箱作为业务沟通工具至关重要。外贸企业邮箱需要满足5个基本内容&#xff0c;国际收发能力、安全稳定性、专业形象展示、功能完备性、客户服务与技术支持。本文将探讨做外贸时适合使用的…

C++语法|如何写出高效的C++代码(一)|对象使用过程中背后调用了哪些方法(构造和析构过程)?

文章目录 再探拷贝构造函数和重载复制运算符实例化新对象和赋值操作强转为类类型指针和引用时临时对象的构造和析构过程 考考你问题答案 再探拷贝构造函数和重载复制运算符 实例化新对象和赋值操作 首先我们写一个类&#xff0c;实现它的拷贝构造并重载赋值运算符。 class T…

封装Springboot基础框架功能-03

在些模块中汇总了一些web开发常用的配置和功能。 模块源码结构 Restful API常用定义 QueryParam请求参数 Data public class QueryParam {private String key;private String value; }RestfulController实现 RestfulController.java&#xff0c;主要汇总一些常用的restful的…

【C++】C++11--- 列表初始化|关键字

目录 前言 列表初始化 创建对象时的列表初始化 单参数隐式类型转换 多参数的隐式类型转换 new表达式中使用列表初始化 列表初始化适用于STL 容器 模板类initializer_list 关键字auto 关键字decltype 关键字nullptr 前言 C标准10年磨一剑&#xff0c;第二个真正意义上…
最新文章