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

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.xdnf.cn/news/355753.html

相关文章:

  • 使用JMETER中的JSON提取器实现接口关联
  • onResume()和 onPause()的触发条件
  • 7、三维机械设计、装配与运动仿真组件 - /设计与仿真组件/3d-mechanical-designer
  • c/c++的Libevent 和OpenSSL构建HTTPS客户端详解(附带源码)
  • 基于设备指纹识别的反爬虫技术:给设备办 “身份证”
  • 【MySQL】-- 事务
  • 机器学习之数据转换策略
  • Java 23种设计模式 - 结构型模式7种
  • 数据库故障排查指南
  • React+Taro选择日期组件封装
  • 51c自动驾驶~合集40
  • 新品:同等小体积通信距离翻一倍-RF3060F27通信模块
  • Vmware 最新下载教程和安装教程,外带免下载文件
  • project从入门到精通(四)
  • idea spring boot 打包成可执行的 JAR包
  • 使用docker安装Dinky
  • `timescale 1ns/1ps的意义
  • 【250GB空间不够用】
  • 发那科机器人4(编程实例)
  • [Unity]-[UI]-[Image] 关于UI精灵图资源导入设置的详细解释
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(17):「 」と言いました
  • 芋道框架 账号未登录、租户标识未传递
  • 云效 MCP Server:AI 驱动的研发协作新范式
  • # YOLOv2:目标检测的升级之作
  • 课程审核流程揭秘:确保内容合规与用户体验
  • 五、【LLaMA-Factory实战】模型部署与监控:从实验室到生产的全链路实践
  • C++跨平台开发实践:深入解析与常见问题处理指南
  • 在线服务器具体是指什么?
  • <uniapp><HBuilder><故障>HBuilder真机运行时,报“同步资源失败”故障解决
  • 使用AES-CBC + HMAC-SHA256实现前后端请求安全验证