Python代码编程基础

字符串

str.[]实现根据下标定位实现对元素的截取

for 循环可以实现遍历

while 循环可以在实现遍历的同时实现对某一下标数值的修改

字符串前加 r 可以实现对字符串的完整内容输出

字符串前加 f 可以实现对字符串内{}中包裹内容的格式化输出,仅在 v3.6 之后可用

对字符串使用*****、**+**实现字符串多次打印与字符串拼接

img

img

img

img

列表

列表定义

list = [“1”, “2”, “3”, 31, 431, “fengjiawei 最帅”, [“列表嵌套列表”]]

list.sort() 对列表进行排序,无返回值

list.sort(reverse = True) 对列表进行逆排序,无返回值

sorted(list) 直接返回排序后的列表

列表增

list.append(object)表示在列表最后加上某一对象,可以是列表也可以是别的元素类型

list1.extend(list2)表示将 list2 里的元素扩展到 list1 中去,list2 只能是列表

list.insert(1,object)表示在下标为 1 的位置加上 object

列表删

list.remove(列表中的某一个元素)表示删除列表中找到的符合该元素名称的第一个元素

list.pop()表示弹出列表中的最后一个元素,返回值为弹出的元素

del list[下标] 表示删除列表中的某一个元素

列表改

list[下标] = xxxx 表示直接对列表某一下标进行修改

列表查

in/not in

元素 in list 如果有返回 true,否则返回 false

list.index(要查找的元素,查找开始的位置,查找结束的位置+1)返回查找的第一个元素下标

# myList = ["a", "b", "c", "d"]
# for i, x in enumerate(myList):  # 转换为枚举类型,使用枚举函数,同时拿到列表中的下标和元素内容
#     print(i, x)

列表推导式

列表推导式(List Comprehension)是一种语法结构,用于在Python中创建新的列表。语法格式如下:

expression for item in iterable if condition
  • expression 是一个表达式,用于定义新列表中的元素。
  • item 是可迭代对象中的每个元素。
  • iterable 是一个可迭代对象,例如列表、元组、字符串等。
  • condition 是一个可选的条件表达式,用于筛选满足条件的元素。
# 生成一个包含 1 到 10 的平方数的列表
squares = [x**2 for x in range(1, 11)]
print(squares)  # 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]# 生成一个只包含偶数的列表
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers)  # 输出:[2, 4, 6, 8, 10]# 生成一个将字符串列表中的元素转换为大写的列表
words = ['apple', 'banana', 'cherry']
upper_words = [word.upper() for word in words]
print(upper_words)  # 输出:['APPLE', 'BANANA', 'CHERRY']

元组

元组最大的特性就是无法进行修改

tuple = (“avr”, “nn”, “faafa”, 2 , 1)

元组增

tup3 = tup1+tup2 进行元组连接

元组删

del tuple 是删除整个元组而不是删除元组内的元素

元组改

元组内的元素无法进行修改

元组查

tup[下标]访问对应元组元素

字典

字典是键值对的集合

dic{“key1” : “value1”, “key2” : “value2”}

字典中直接访问不存在的键会报错,如 dic[“key3”]

使用 get 方法访问不存在的值不会报错,会返回 None, 如 dic.get(“key3”)

还可以使用 get 方法设定不存在的键对应的值,如 dic.get(“key3”,“value3”)

值的注意的是,如果使用 get 方法得到原本的字典里相应的值了,那么 get 设定的值不会起作用,如 dic.get[“key1”,“value4”]返回值还是"value1"

字典增

直接增加相应的键值对即可

如 dic[“key3”] = “value3”

字典删

del 删除整个键值对或者直接删除整个字典

del dic[“key1”]删除第一个键值对

del dic 直接删除整个字典

dic.clear()清除整个字典,使 dic 变为空字典{}

字典改

直接将相应的 value 赋值给对应的键上面就行

字典查

# print(dic.keys())  # 得到所有的键(列表)
# print(dic.values())  # 得到所有的值(列表)
# print(dic.items())  # 得到所有的项(列表),每个键值对是一个元组# 遍历所有的值
# for key in info.keys():
#       print(info[key])
# for key, value in info.items():
#     print("key=%s,value=%s"%(key, value))

集合

set{1, 2, 3, 4}常用来进行集合相关的操作与 dic 类似,但不存储 value,key 不重复

set 是无序的,重复元素在 set 中被自动过滤,并且从小到大以顺序显示

s = set([1, 2, 3, 3, 5])

s 为{1, 2, 3, 5}

集合增

set.add(key)向集合增加元素

set.update(set1)更新集合,其实质就是将集合 set1 中的元素加入 set 中

集合删

set.remove(5)删除某一元素

set.pop()弹出元素,返回值为弹出的元素(最小,在最左边的元素)

set.clear()清除元素

del set 删除集合

集合改

没法改

集合查

for i in set:

print(i)

是否有序是否可变类型
列表[]有序可变类型
元组()有序不可变类型
字典{}无序key不可变,val可变
集合{}无序可变类型(不重复)

函数

函数定义

def function()

全局变量与局部变量

函数内部是局部变量,外部是全局变量

优先使用函数内部局部变量,函数内部没有局部变量则使用全局变量,可以在变量前加上 global 关键字来使用全局变量

常见函数

bin(int/long)返回二进制数

upper(string)返回大写字符串

lower(string)返回小写字符

title(string)首字母大写

ord(string)返回 ASCII 码

匿名函数

lambda函数的特点包括:

  • 只能包含一个表达式,不能包含多个语句。
  • 不能有函数体,因此没有return语句,表达式的结果就是函数的返回值。
  • 可以使用任意数量的参数,包括可选参数和默认参数。
  • 可以将lambda函数赋值给一个变量,也可以直接调用lambda函数。
# 匿名函数只有一行,不需要函数体,基本格式为lambda arguments: expression
add = lambda x, y: x+y
print(add(3,2))  # 输出结果为5
dic = lambda : defaultdic
print(dic)  # <function <lambda> at 0x000001E89DFF6F70>
dic = lambda x, y : defaultdic
print(dic(3,4))  # <class 'collections.defaultdict'>

Zip函数

zip()是一个Python的内置函数,可以将多个可迭代对象(列表、元组等)按照索引位置一一配对,然后返回一个新的迭代器。

其常用的操作有:

遍历多个可迭代对象
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for x, y in zip(list1, list2):
print(x, y) # 输出:1 a, 2 b, 3 c
创建字典
keys = ['name', 'age', 'gender']
values = ['Alice', 25, 'Female']
person_dict = dict(zip(keys, values))
print(person_dict) # 输出:{'name': 'Alice', 'age': 25, 'gender': 'Female'}
解压缩操作
pairs = [(1, 'a'), (2, 'b'), (3, 'c')]
numbers, letters = zip(*pairs)
print(numbers) # 输出:(1, 2, 3)
print(letters) # 输出:(a, b, c)# 实例
import nltk # 引入NLTK库
tagged_sents = nltk.corpus.brown.tagged_sents(tagset='universal')
# zip(*sent)生成的是一个可迭代的对象,其中将每个句子中的词与标签拆开分别组成了一对元组,再使用zip(*(zip(*sent)可以将多个句子中的词组合成一个二阶元组,标签也是。
sents, postags = zip(*(zip(*sent) for sent in tagged_sents))

文件

f = open("文件路径", "读取方式")
f.close()

img

文件读

f = open("xxx", "r")
f.readline()  # 读一行,光标移动到下一行第一个字节
f.readlines()  # 读所有行,按行为单位存储在列表里

文件写

f = open("xxx", "w")
f.write("xxxx")  # 向文件内部写入

文件操作 OS

import os
# os.rename("test1.txt", "test3.txt")  # 重命名
# os.remove("test3.txt")  # 删除
# os.mkdir("张三")  # 创建文件夹
# os.getcwd()  # 获取当前目录
# os.chdir()  # 改变目录
# os.removedirs("张三")  # 删除当前目录

错误和异常

try:print("-----------test1----------")f = open("123.txt", "r")  # 用只读模式打开了一个不存在的文件,报错print("-----------test2----------")  # 这句代码不会执行print(num)
# except (IOError, NameError) as result:  # 文件没找到,属于 IO 异常(输入输出异常),异常类型要被捕获,需要一致
#     print("-----------test3----------")  # 捕获异常后执行的语句except Exception as result:  # 文件没找到,属于 IO 异常(输入输出异常),异常类型要被捕获,需要一致,Exception 可以承接任何异常print("-----------test3----------")  # 捕获异常后执行的语句pass

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

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

相关文章

5月9号.

v-for: v-bind: v-if&v-show: v-model: v-on: Ajax: Axios: async&await: Vue生命周期: Maven: Maven坐标:

Spring 必会之微服务篇(1)

目录 引入 单体架构 集群和分布式架构 微服务架构 挑战 Spring Cloud 介绍 实现方案 Spring Cloud Alibaba 引入 单体架构 当我们刚开始学开发的时候&#xff0c;基本都是单体架构&#xff0c;就是把一个项目的所有业务的实现功能都打包在一个 war 包或者 Jar 包中。…

计算机的基本组成

#灵感# 记录下基础知识&#xff0c;此处专指计算机硬件方面&#xff0c;捎带记下芯片知识。 综述&#xff1a; 计算机硬件的基本组成包括运算器、控制器、存储器、输入设备和输出设备五大部分。其中&#xff0c;集成在一起的运算器和控制器称为 CPU&#xff08;处理器&#x…

【Python 列表(List)】

Python 中的列表&#xff08;List&#xff09;是最常用、最灵活的有序数据集合&#xff0c;支持动态增删改查操作。以下是列表的核心知识点&#xff1a; 一、基础特性 有序性&#xff1a;元素按插入顺序存储可变性&#xff1a;支持增删改操作允许重复&#xff1a;可存储重复元…

Qt 的原理及使用(1)——qt的背景及安装

1. Qt 背景介绍 1.1 什么是 Qt Qt 是⼀个 跨平台的 C 图形⽤⼾界⾯应⽤程序框架 。它为应⽤程序开发者提供了建⽴艺术级图形 界⾯所需的所有功能。它是完全⾯向对象的&#xff0c;很容易扩展。Qt 为开发者提供了⼀种基于组件的开发模 式&#xff0c;开发者可以通过简单的拖拽…

多分类问题softmax传递函数+交叉熵损失

在多分类问题中&#xff0c;Softmax 函数通常与交叉熵损失函数结合使用。 Softmax 函数 Softmax 函数是一种常用的激活函数&#xff0c;主要用于多分类问题中。它将一个实数向量转换为概率分布&#xff0c;使得每个元素的值在 0 到 1 之间&#xff0c;且所有元素的和为 1。 …

数智读书笔记系列032《统一星型模型--一种敏捷灵活的数据仓库和分析设计方法》

引言 在当今数字化时代,数据仓库作为企业数据管理的核心基础设施,承担着整合、存储和提供企业数据的关键角色。随着商业环境的快速变化和业务需求的日益复杂,数据仓库的设计方法也在不断演进,以适应新的挑战和要求。 背景与意义 数据仓库领域长期存在着两种主流方法论之…

RT-Thread 深入系列 Part 1:RT-Thread 全景总览

摘要&#xff1a; 本文将从 RTOS 演进、RT-Thread 的版本分支、内核架构、核心特性、社区与生态、以及典型产品应用等多维度&#xff0c;全面呈现 RT-Thread 的全景图。 关键词&#xff1a;RT-Thread、RTOS、微内核、组件化、软件包管理、SMP 1. RTOS 演进与 RT-Thread 定位 2…

[docker基础一]docker简介

目录 一 消除恐惧 1) 什么是虚拟化&#xff0c;容器化 2)案例 3)为什么需要虚拟化&#xff0c;容器化 二 虚拟化实现方式 1)应用程序执行环境分层 2)虚拟化常见类别 3)常见虚拟化实现 一&#xff09;主机虚拟化(虚拟机)实现 二&#xff09;容器虚拟化实现 一 消除恐…

PostgreSQL 的 pg_advisory_lock 函数

PostgreSQL 的 pg_advisory_lock 函数 pg_advisory_lock 是 PostgreSQL 提供的一种应用级锁机制&#xff0c;它不锁定具体的数据库对象&#xff08;如表或行&#xff09;&#xff0c;而是通过数字键值来协调应用间的并发控制。 锁的基本概念 PostgreSQL 提供两种咨询锁(advi…

SGLang 实战介绍 (张量并行 / Qwen3 30B MoE 架构部署)

一、技术背景 随着大语言模型&#xff08;LLM&#xff09;的飞速发展&#xff0c;如何更高效、更灵活地驾驭这些强大的模型生成我们期望的内容&#xff0c;成为了开发者们面临的重要课题。传统的通过拼接字符串、管理复杂的状态和调用 API 的方式&#xff0c;在处理复杂任务时…

微服务中 本地启动 springboot 无法找到nacos配置 启动报错

1. 此处的环境变量需要匹配nacos中yml配置文件名的后缀 对于粗心的小伙伴在切换【测试】【开发】环境的nacos使用时会因为这里导致项目总是无法启动成功

Lua从字符串动态构建函数

在 Lua 中&#xff0c;你可以通过 load 或 loadstring&#xff08;Lua 5.1&#xff09;函数从字符串动态构建函数。以下是一个示例&#xff1a; 示例 1&#xff1a;基本动态函数构建 -- 动态构建一个函数 local funcStr "return function(a, b) return a b end"-…

【Python】‌Python单元测试框架unittest总结

1. 本期主题&#xff1a;Python单元测试框架unittest详解 unittest是Python内置的单元测试框架&#xff0c;遵循Java JUnit的"测试驱动开发"&#xff08;TDD&#xff09;理念&#xff0c;通过继承TestCase类实现测试用例的模块化组织。本文聚焦于独立测试脚本的编写…

【Python 实战】---- 使用Python批量将 .ncm 格式的音频文件转换为 .mp3 格式

1. 前言 .ncm 格式是网易云音乐专属的加密音频格式,用于保护版权。这种格式无法直接播放,需要解密后才能转换为常见的音频格式。本文将介绍如何使用 Python 批量将 .ncm 格式的音频文件转换为 .mp3 格式。 2. 安装 ncmdump ncmdump 是一个专门用于解密 .ncm 文件的工具。它…

Linux 学习笔记2

Linux 学习笔记2 一、定时任务调度操作流程注意事项 二、磁盘分区与管理添加新硬盘流程磁盘管理命令 三、进程管理进程操作命令服务管理&#xff08;Ubuntu&#xff09; 四、注意事项 一、定时任务调度 操作流程 创建脚本 vim /path/to/script.sh # 编写脚本内容设置可执行权…

YOLO目标检测算法

文章目录 前言一、目标检测算法简介1、传统目标检测算法&#xff08;1&#xff09;R-CNN算法简介&#xff08;2&#xff09;Fast R-CNN算法简介&#xff08;3&#xff09;Faster R-CNN算法简介 2、目标检测中的算法设计范式&#xff08;1&#xff09;one-stage&#xff08;2&am…

【软件设计师:软件】20.软件设计概述

一、软件设计基本原则 一、软件设计基本原则 1. 模块 是指执行某一特定任务的数据结构和程序代码。 将模块的接口和功能定义为其外部特性将模块的局部数据和实现该模块的程序代码称为内部特性。在模块设计时,最重要的原则就是实现信息隐蔽和模块独立。 2 . 信息隐蔽 将每…

软件工程之面向对象分析深度解析

前文基础&#xff1a; 1.软件工程学概述&#xff1a;软件工程学概述-CSDN博客 2.软件过程深度解析&#xff1a;软件过程深度解析-CSDN博客 3.软件工程之需求分析涉及的图与工具&#xff1a;软件工程之需求分析涉及的图与工具-CSDN博客 4.软件工程之形式化说明技术深度解…

需求分析阶段测试工程师主要做哪些事情

在软件测试需求分析阶段&#xff0c;主要围绕确定测试范围、明确测试目标、细化测试内容等方面开展工作&#xff0c;为后续测试计划的制定、测试用例的设计以及测试执行提供清晰、准确的依据。以下是该阶段具体要做的事情&#xff1a; 1. 需求收集与整理 收集需求文档&#x…