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

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…...

音视频视频点播

视频点播是集音视频采集,编辑,上传,自动化转码处理,媒体资源管理,高效云剪辑处理,分发加速,视频播放于一体的一站式音视频点播解决方案 阿里云视频点播基于阿里云强大的基础设施服务&#xff0c…...

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网站(或其中的一部分)。幸运的是,有一些方法可用于…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

C++_哈希表

本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、基础概念 1. 哈希核心思想&#xff1a; 哈希函数的作用&#xff1a;通过此函数建立一个Key与存储位置之间的映射关系。理想目标&#xff1a;实现…...

32单片机——基本定时器

STM32F103有众多的定时器&#xff0c;其中包括2个基本定时器&#xff08;TIM6和TIM7&#xff09;、4个通用定时器&#xff08;TIM2~TIM5&#xff09;、2个高级控制定时器&#xff08;TIM1和TIM8&#xff09;&#xff0c;这些定时器彼此完全独立&#xff0c;不共享任何资源 1、定…...

Java后端检查空条件查询

通过抛出运行异常&#xff1a;throw new RuntimeException("请输入查询条件&#xff01;");BranchWarehouseServiceImpl.java // 查询试剂交易&#xff08;入库/出库&#xff09;记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...