python_04
37、列表推导式
# 作用:快速生成列表
# 列表变量名 = [x for x in range(开始值,结束值,步长) if 条件]
# 注意:左闭右开
list1 = [i for i in range(0,100)]
print(list1)
# list1 = [i for i in range(0,100)]
# print(list1)list1 = [i for i in range(5,20,2)]
print(list1)list1 = [i for i in range(20,5,-2)]
print(list1)list1 = [i for i in range(6,-10,-2)]
print(list1)# 还可以添加if条件,满足条件才生成列表
list1 = [i for i in range(0,100) if i % 2 == 0] # 生成0 到 100 之间的 偶数,但不包括 100
print(list1)list2 = [i for i in range(1,10,) if i % 2 != 0]
print(list2)# 练习:[0,10,20,30,40,50,60,70,80,90,100]
# 方法一
list3 = [i for i in range(0,101,10)]
print(list3)# 方法二:
list3 = [i for i in range(0,101) if i % 10 == 0]
print(list3)
38、元组
# 1.元组和列表一样,都可用于存储数据
# 2.通过元组可以存放数据,不能被修改
# 元组类型单词 tuple
tuple1 = ("刘备","张飞","关羽","赵云")
print(tuple1)
print(type(tuple1))# 元组数据如果只有一个,务必在后面添加逗号,否则被认为是字符串类型
tuple1 = ("刘备",)
print(tuple1)
print(type(tuple1))tuple1 = ("赵云","刘备","张飞","关羽","赵云","赵云")
print(tuple1[2])# 计算个数某个元素的个数 count() 括号里只允许有一个参数,不能设置第二个参数
print(tuple1.count("赵云"))# 获取索引值 index() 可以有第二个参数,代表从这个参数起开始查找
#print(tuple1.index("张飞"))
print(tuple1.index("赵云",1))# 长度
print("元组长度")
print(len(tuple1))
print("---")# 元组不允许修改# 无法使用sort进行排序,所以提供了最大、最小值语法
tuple2 = (1,9,3,7,66,33)
print(max(tuple2))
print(min(tuple2))
print("---")
# 元组数据也可以进行遍历
for i in tuple2:print(i)
39、字典
# 字典不仅可以保存不同类型的数据,可以把不同类型数据在保存时加以# 1.基本结构: 字典名 = {}
# 2.大括号内结构为: 键名:键值 (俗称键值对儿) 键名一般为英文
# 键值:实值
# 3.多个键值对之间使用逗号隔开# 键名一般不用中文
ren = {"name":"张三","age":18,"height":180,"gender":"man"}
print(ren)
print(type(ren)) # 字典类型的单词:dict# .print回车,可以快速把想输出的内容放在print的小括号中
print(ren["age"]) # 查询值 ["键名"] 可以获取键名对应的键值ren["salary"] = 20000 # 新增了一个键值对数据 如果没有这个键,相当于新增了一个键值对
print(ren)ren["salary"] = 30000 # 如果没有这个键,相当于新增了一个键值对,如果有这个键,相当于修改
print(ren)ren.pop("height") # pop("键名") 删除键和对应的值 必须设置参数 参数必须为键名
print(ren)# del ren["name"] # 删除功能,不推荐使用
# print(ren)# ren.clear() # 清空字典
# print(ren)
print("---------")ren = {"name":"张三","age":18,"height":180,"gender":"man"}
print(ren.keys()) # 获取所有键名
print(ren.values()) # 获取所有键值
print(ren.items()) # 获取所有的键名和键值 把所有的键名和键值放在 元组 里面print("---------")# 字典的循环遍历
for key in ren.keys(): # 遍历键名print(key)
print("==========")
for val in ren.values(): # 遍历键值print(val)print("---------")
# 练习:找到值为9 的键名
dict1 = {"a":23,"b":2,"c":9,"d":13}
for i in dict1: # 直接遍历字典变量,就相当于.keys()# print(i)if dict1[i] == 9:print(i)
40、拆包
# 快速把列表或元组中的数据保存到变量中# 拆列表
list1 = ["刘备","关羽","张飞"]
a,b,c = list1
print(a)
print(b)
print(c)# 拆元组
# 拆包时,等号左右一定要相等才可以
tuple1 = ("刘备","关羽","张飞")
a,b,c = tuple1
print(a)
print(b)
print(c)# 拆字典
dict1 = {"name":"张三","age":18,"height":180}print(dict1.items())
for key,val in dict1.items(): # items()是元组数据,相当于进行元组拆包print(f"key是{key}",end="")print(" ",end="")print(f"val是{val}")
41、函数
# 函数的作用,在开发程序时,使用函数可以提高编写的效率以及代码的重用
def hello():# 函数体 具体函数的实现内容# pass 占位,不让pycharm报错print("hello 1")print("hello 2")print("hello 3")# 想要函数体中的代码执行,就需要调用函数
hello()# --------------------------------------------------------# 加法计算
# def sum():
# a = 1
# b = 2
# print(a+b)
# sum()
def sum():a = 1b = 2print(a+b)
sum()# 打印20个星号
# def start():
# print("*" * 20)
# start()
def start():print("*" * 20)
start()# # 函数传参
# def PName(userName):
# print("hello"+userName)
# PName("小明")
def PName(username):print("hello" + username)
PName("小李")# # 函数传参
# def sum(a,b): # a和b就是形参(形式上的参数,不实际参与运算)
# print(a + b)
# sum(2,2) # 调用时候的小括号中写的叫实参(实际参与运算的)
# sum(20,10)
def sum(a,b):print(a + b)
sum(2,3)# # 练习:
# def sayHi(name):
# print(f"{name} 你好")
# sayHi("刘备")
# sayHi("张飞")
def sayHi(name):print(f"{name} ---你好")
sayHi("张三")# 练习2:自己传参打印20个*
# def xing(num):
# print("*" * num)
# xing(8)
def xing(num):print("*" * num)
xing(8)
42、函数返回值
# def sum(a,b):
# return a + b
# print(sum(2,5))
def sum(a,b):return a + b
print(sum(2,5))# 练习1:
# 定义一个函数,接受2个参数,实现乘法操作,返回结果
# def mian(height,width):
# return height * width
# res = mian(5,8)
# print(res)
def mian(height,width):return height * width
res = mian(5,9)
print(res)# 练习2:定义一个函数,接收3个参数,实现相加,返回结果
def buy(a,b,c):return a + b + c#print("lalalala") # return 之后的代码,肯定不会执行lis = buy(10,20,30)
print(lis)
43、函数的嵌套
def fun1():print("这是fn1")def fun2():print("这是fn2")fun1()fun2()
44、全局和局部变量
def fn1():a = 2 # 函数体中定义的变量是 局部变量 只能在函数体内使用,外面无法使用print(a)
fn1()# 局部变量在自己函数体内可以使用,函数体外不能使用
# 全局变量:所有人都可以用,但是如果自己有,就优先使用自己的,如果自己没有,再使用全局的。全局变量一旦被修改,后续获取的全局变量值就是被修改之后的
chair = "公共的座椅" # 没有写在任何函数体里的变量,就算全局变量def my_home():chair = "我自己家的沙发"chair = "我自己沙发坏了"print(chair)
my_home() # 调用函数的时候打印chair,会就近原则打印自己家的沙发文字def wang_home():print(chair)
chair="有人把公共的座椅弄坏了"wang_home() # 调用的时候,wang家没有chair,只能使用全局的chair
45、局部转全局
num1 = 10def fn1():global num1 # 后面再出现num1,就代表全局变量的num1(局部变量 转 全局变量)num1 = 2 # 让全局变量num1的值变成2
fn1()
print(num1)# 练习
name = "张三"
def fn1():global name # global 把局部变量 装换为 全局变量name = "李四" # 此时改变的是全局变量的值,如果去掉 上一行的global 则是局部变量
fn1()
print(name)
46、形参和全局变量
def fn1(a):# 形参属于局部变量a += 1print(a)a = 10
fn1(a)
print(a) # 全局的10def fn1(a): # 参数传递列表也是可以的a.insert(4,666)
a = [1,2,3,4]
fn1(a)
print(a)
47、函数的缺省值
def fn1(a,b=2): # 缺省值:如果调用的时候传了这个缺省值,那么就用你传的值,如果没传,就有这个缺省值(默认值)print(a)print(b)
fn1(1)
fn1(1,10)list1 = [6,42,19,66]
# list1.sort(reverse=False)
list1.sort(reverse=True)
print(list1)def fn1(a,b=2): # 缺省值:如果调用的时候传了这个缺省值,那么就用你传的值,如果没传,就有这个缺省值print(a)print(b)
# fn1(1)
fn1(1,10)def fn1(a=1,b=2): # 缺省值:如果调用的时候传了这个缺省值,那么就用你传的值,如果没传,就有这个缺省值print(a)print(b)
fn1(66,77) # 串了就用传的值
fn1() # 没传就用缺省值
fn1(66) # 两个缺省值,传一个实参,代表第一个缺省值失效def fn1(a=1,b): # 不能把有缺省值的形参写在没有缺省值的形参前面print(a,b)def fn1(a,b=2,c=3):print(a,b,c)# fn1(1) # 1 2 3
# fn1(10,20) # 10 20 3
fn1(10,c=66) # 10 2 66 如果想传递实参的时候,指定参数名,那么就是给这个参数去设置的值def fn1(a,b=2,c=3):print(a,b,c)
fn1(1)
fn1(10,c=99)
48、了解多值传参
def fn1(num1,*args,**kwargs):print(num1)print(args)print(kwargs)
fn1(2,3,4,5,6,7,name="张三",age=18,height=180)def fn2(num1,*args,**kwargs):print(num1)print(args)print(kwargs)
fn2(8,2,2,2,2,2,2,2,name="李四",age=19,height=200)
49、拉姆拉表达式
sum = lambda a,b: a + b # 匿名函数:适用于临时一次使用,写法简单
# :后面就是要return的内容
print(sum(1,2))# fun1(a,b):
# return a + bsum = lambda a,b: a + b
print(sum(6,2))sum = lambda a,b: a + b
print(sum(7,10))
相关文章:
python_04
37、列表推导式 # 作用:快速生成列表 # 列表变量名 [x for x in range(开始值,结束值,步长) if 条件] # 注意:左闭右开 list1 [i for i in range(0,100)] print(list1) # list1 [i for i in range(0,100)] # print(list1)list…...
音视频视频点播
视频点播是集音视频采集,编辑,上传,自动化转码处理,媒体资源管理,高效云剪辑处理,分发加速,视频播放于一体的一站式音视频点播解决方案 阿里云视频点播基于阿里云强大的基础设施服务,…...

Git常用命令1
1、设置用户签名 ①基本语法: git config --global user.name 用户名 git config --global user.email 邮箱 ②实际操作 ③查询是否设置成功 cat ~/.gitconfig 注:签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交…...

Nextjs使用教程
一.手动创建项目 建议看这个中文网站文档,这个里面的案例配置都是手动的,也可以往下看我这个博客一步步操作 1.在目录下执行下面命令,初始化package.json文件 npm init -y2.安装react相关包以及next包 yarn add next react react-dom // 或者 npm install --save next react…...

mysql的增删查改(进阶)
目录 一. 更复杂的新增 二. 查询 2.1 聚合查询 COUNT SUM AVG MAX MIN 2.1.2 分组查询 group by 子句 2.1.3 HAVING 2.2 联合查询/多表查询 2.2.1 内连接 2.2.2 外连接 2.2.3 全外连接 2.2.4 自连接 2.2.5 子查询 2.2.6 合并查询 一. 更复杂的新增 将从表名查询到…...

九、从0开始卷出一个新项目之瑞萨RZN2L生产烧录固件(jflash擦写读外挂flash)
目录 七、生产烧录固件(jflash擦/写/读外挂flash) 7.1 flash母片读写 7.2 jflash擦/写/读外挂flash 九、从0开始卷出一个新项目之瑞萨RZN2L 七、生产烧录固件(jflash擦写读外挂flash) 七、生产烧录固件(jflash擦/写/读外挂flash) 7.1 flash母片读写 略 7.2 jflash擦/写/读…...

安徽某高校数据挖掘作业4-5 (与一些碎碎念)
1. 编写程序求函数、、的极限。 解答: import sympy as sp# 定义符号变量 x x sp.symbols(x)# 定义函数 f1 sp.sin(20 * x) / x f2 (1 4 * x)**(2 / x) f3 (1 4 / x)**(2 * x)# 计算极限 limit1 sp.limit(f1, x, 0) limit2 sp.limit(f2, x, 0) limit3 sp…...

基于ES安装IK分词插件
前言 IK分词器插件是为Elasticsearch设计的中文分词插件,由Elasticsearch的官方团队之外的开发者medcl开发。它主要针对中文文本的分词需求,提供了较为准确的中文分词能力。以下是IK分词器插件的一些特点: 智能分词:IK分词器采用基…...

php项目加密源码
软件简介 压缩包里有多少个php就会被加密多少个PHP、php无需安装任何插件。源码全开源 如果上传的压缩包里有子文件夹(子文件夹里的php文件也会被加密),加密后的压缩包需要先修复一下,步骤:打开压缩包 》 工具 》 修…...

测绘GIS和遥感领域比较好的公众号有哪些
测绘GIS和遥感领域,微信公众号作为信息传播和知识分享的重要渠道,为从业者提供了一个快速获取行业动态、技术进展和职业发展机会的平台。分享一些在测绘GIS和遥感领域表现突出的公众号推荐: 1. 慧天地:慧天地是一个知名的测绘公众…...

【技术实操】银河高级服务器操作系统实例分享,达梦数据库服务器 oom 问题分析
1. 服务器环境以及配置 【 机型】 处理器: HUAWEIKunpeng 920 5220 内存: 400518528 kB 主板型号: Chaoqiang K620 series 整机类型/架构: ARM BIOS 版本: KL4.41.028.TF.220224.R 固件版本: KL4.41…...
通过ffmpeg 将wav格式转为mp3格式.
通过ffmpeg实现将wav转为mp3格式.需要下载一个ffmpeg放到执行文件所在目录. 我ffmpeg的下载地址为:ffmpeg.exe下载-ffmpeg.exe32&64位下载免费版-旋风软件园 use ShellAPI; {$R *.dfm}procedure ConvertWavToMp3(const InputFile, OutputFile: string); varExecu…...

快速上手RabbitMQ,直接上开发!
一 直接使用Rabbit MQ 在Java项目中使用Rabbit MQ可以通过引入Rabbit MQ的客户端Maven依赖,和Rabbit MQ建立连接进行通信。这种就属于是直接使用Rabbit MQ。 基本使用 创建连接后,使用channel向交换机发送消息 public class Producer {private final s…...

如何实现单例模式及不同实现方法分析-设计模式
这是 一道面试常考题:(经常会在面试中让手写一下) 什么是单例模式 【问什么是单例模式时,不要答非所问,给出单例模式有两种类型之类的回答,要围绕单例模式的定义去展开。】 单例模式是指在内存中只会创建…...

wampserver安装与汉化
wampserver安装与汉化 文章目录 wampserver安装与汉化一、安装二、汉化1.升级软件并安装补丁 介绍: WampServer是一款由法国人开发的Apache Web服务器、PHP解释器以及MySQL数据库的整合软件包。免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更…...

解决MyBatis的N+1问题
解决MyBatis的N1问题 N1问题通常出现在一对多关联查询中。当我们查询主表数据(如订单)并希望获取关联的从表数据(如订单的商品)时,如果每获取一条主表记录都要执行一次从表查询,就会产生N1次查询的问题。假…...

12-学生们参加各科测试的次数(高频 SQL 50 题基础版)
12-学生们参加各科测试的次数 -- 学生表中,id是唯一的,将他作为主表 -- CROSS JOIN产生了一个结果集,该结果集是两个关联表的行的乘积 -- 2行表,与3行表使用cross join,得到2*36行数据 select st.student_id, st.student_name,su.subject_na…...

2024网络与信息安全管理员职工职业技能竞赛re0220164094
main部分,就是要逆这部分shellcode,程序把data段里面的东西复制到bss段去执行,期间包含解码操作。 v19 0;puts("Please input your flag: ");__isoc99_scanf("%s", s);if ( strlen(s) ! 38 ){puts("Wrong length!&…...
Elasticsearch--easy-ES框架使用,轻松操作查询Elasticsearch,简化开发
Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient打造的ORM开发框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生,您如果有用过Mybatis-Plus(简称MP),那么您基本可…...

【教程】如何实现WordPress网站降级(用于解决插件和主题问题)
在最新可用版本上运行WordPress安装、插件和主题是使用该平台的关键最佳实践。还建议使用最新版本的PHP。但是,在某些情况下,这是不谨慎或不可能的。 如果您发现自己处于这种情况,您可能需要撤消更新并降级您的WordPress网站(或其中的一部分)。幸运的是,有一些方法可用于…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...