python day4 笔记

Python学习笔记 Day 4 Python学习笔记 Day 4装饰器原则:装饰器(无参数)装饰器(有参数)装饰器(高级:装饰器带有参数)生成器定义:函数生成器定义生成器并行运算迭代器定义 装饰器 本质是函数,用来装饰其他函数,就是为其他函数添加附加功能。 原则: 不能去修改被装饰的原代码 被装饰的函数的调用方式不能动 import time def timmer(func):#本质是函数,函数即“变量” def ... 阅读详情



这一波我们学习最后一个数据结构 集合 和编程中一个很重要的东西函数


首先集合 

集合是无序的数据结构 也就是说不能使用索引,切片 重复,连接

但是支持成员操作符 因为他是可迭代的

并且它可以实现类似数学集合的关系测试 交叉并补对等差分等


首先 是集合的定义

s={1,2,3}

注意如果花括号里为空的话 那么实际定义出来的是一个字典

第二种方法是用工厂函数定义

s=set()

这里可以使用集合不重复的特性 实现去重的功能 方法就是将数据类型转换成集合 然后再转回去

也可以使用字典的fromkeys方法


然后是增删查改


增

使用add方法和update方法


删

使用pop方法随机删除 clear方法清空整个集合


查

集合的查 就是很多的关系测试

交& 并 |   差 -  对等差分^

也可以用内置方法实现

交  s1.intersection(s2) 

并  s1.union(s2)

差  s1.difference(s2) 

对等差分 s1.symmetric_difference(s2)


删除

pop clear  remove 不存在则报错 discard不存在 什么都不做

可变数据类型: 列表, 字典, 集合 

不可变数据类型: 数值类型, 字符串, 元组

可变数据类型实现某个功能, 直接改变可变的数据类型;

不可变数据类型实现某个功能,需要将结果赋值给另外一个变量;

是否实现for循环 

可迭代数据类型: 

str, list, tuple, dict, set 

不可迭代数据类型:数值类型

是否支持索引,切片, 重复和连接特性 

有序的数据类型: str, list, tuple 

无序的数据类型: dict, set


下来则是函数

首先函数要在头上定义 也就是说定义在调用之前 在主函数之前

函数的关键 参数表 返回值

参数分为 必选 默认 可变 以及关键字参数


必选就是调用时必须传递的对应类型的参数 不然会报错 函数无法执行

默认就是如果调用时没有传递对应参数 那么 形参会选取一个默认值 具体操作是参数表()里面写x=某个值

可变参数是指参数的数量是可变的 调用方法为(*args) args不是固定的 只是范例是这样 大家都这么写

并且args的实质是一个元组

关键字参数就是一个字典


下来返回值 

无返回值的话 返回值默认是none

而关于返回多个值 一般函数是不支持返回多个值的  要想返回多个值 要借用一定的数据结构 

比如C里面要返回多个值 可以返回一个数组的首地址 相当于返回一个数组

而python里面可以自动调用元组返回多个值 并不用编程者 自己去借用数据结构 、


用isinstance 方法判断一个数结构是否是可迭代的 可迭代的数据都支持for 循环


练习

现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部 分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1, 是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。 现在需要你用程序来判断IP是否合法。

ip = raw_input("IP:")
# ["172", "25", "254", "1"] 

ip_item_list =  ip.split(".")

if len(ip_item_list) != 4: 

print "NO" 

else: # 依次判断每一部分是否合法 ; 

for item in ip_item_list: 

if not 0<=int(item)<=255: 

print "NO" 

break 

else: 

print "YES"

第二个自动售货机 可能是我想的有点复杂 做了一大堆快200行搞不定 放弃了

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号 Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-单端信号详细介绍了单端信号如何进行TDR仿真分析,下面介绍如何对差分信号进行TDR分析,还是以下图为例进行分析。Impedance是时域阻抗曲线,也是最主要的观测指标,注意:impedance曲线的时间刻度不是延时,延时=时间刻度/2,因为TDR测量的是用一来一回的原理去测量的。Use Lossy peeling 默认不勾选,勾选的话代表同时仿真无损和有损方案,不勾选代表仅仿真有损方案。 阅读详情

相关推荐

Qt上位机实战:5步搞定STM32 IAP固件升级(附拖拽文件处理技巧)

本文详细介绍了如何使用Qt开发STM32 IAP固件升级上位机。通过五个核心步骤,包括理解IAP机制、搭建Qt环境、实现拖拽文件加载、封装串口通信以及设计可靠通信协议,帮助开发者快速构建一个稳定、易用且支持图形化操作的固件升级工具,显著提升嵌入式产品开发与维护效率。

ss78901的博客 1081

子木Python学习Day4-笔记

【代码】子木Python学习Day4-笔记。

weixin_63079299的博客 254

CloudCompare点云滤波实战:三种植被去除技术的对比与应用

本文详细对比了CloudCompare中三种植被去除技术(低通滤波、CSF滤波和坡度法)的实战应用与效果。通过具体案例和参数优化建议,帮助用户根据地形特征选择最佳滤波方法,提升点云数据处理精度和效率,特别适用于复杂场景下的植被去除需求。

weixin_30689307的博客 84

day4 Python笔记总结

学习python中for-else与while-else用法区别,列表的性质,作用,增删修改和循环列表用法,还有下标与切片的用法。

weixin_50758400的博客 166

从.har文件到Postman集合:一键转换的完整教程(附避坑指南)

本文详细介绍了如何将.har文件高效转换为Postman集合的完整教程,涵盖基础操作到高级技巧,包括认证信息处理、环境变量提取等痛点问题的解决方案。通过抓包工具记录的.har文件,开发者可以快速生成Postman集合,提升API调试与测试效率,特别适合前后端分离开发模式下的团队协作。

weixin_26795617的博客 384

基于紫光展锐平台的音频调用到hal层逻辑

基于紫光展锐平台的音频调用到hal层逻辑 1、数据流程图 AudioPolicyService和AudioFlinger的创建: 这两个服务都在audioserver中启动,文件路径: frameworks/av/media/audioserver/main_audioserver.cpp 从AudioFlinger和AudioPolicyService的创建,到output的打开,以及AudioFlinger开始往底层写入数据的具体流程如下图: #mermaid-svg-kjHL4XWwkQXN6NdA

weixin_55053963的博客 1355

python笔记4—day4

知识点 1、列表的索引和切片(跟字符串的索引和切片一样) li=['alex',[1,2,3],'user','age','六','abc'] l1=li[0] print(l1)#结果为alex l2=li[1] print(l2)#结果为[1, 2, 3] l3=li[0:3] print(l3)#结果为['alex', [1, 2, 3], 'user'] ...

aogao6521的博客 236

大疆2025八月份校招硬件工程师笔试真题A卷题目分享

大疆2025年笔试真题解析

weixin_63651698的博客 1569

Python数据爬取与可视化听课笔记 Day2-4 Http请求方法

http

2401_83522810的博客 48

RK3588 , 基于mpp 解码 Jpeg To RGB

本文介绍了在RK3588开发板上使用Rockchip MPP(Media Process Platform)硬件加速接口将JPEG图像解码为RGB格式的完整流程。主要包括三个关键步骤:1) 读取JPEG文件数据;2) 配置MPP解码器,包括初始化上下文、设置RGB888输出格式和解码参数;3) 执行解码任务并将结果保存为图像文件。通过硬件加速,该方法能高效完成JPEG到RGB的转换,适用于嵌入式多媒体处理场景。

J。 1212

一、OpenSM 架构部署及原理详解

OpenSM 是 InfiniBand 网络的核心组件,通过自动化的拓扑发现、路由计算和状态维护,确保网络的高效运行。部署时需关注配置文件参数、路由算法选择和高可用性设计,调试时可借助日志和诊断工具快速定位问题。

jundao1997的专栏 1131

【python学习笔记】day4

2.python的数据容器有:list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)它们各有特点,但都满足可容纳多个元素的特性。3.元素数据类型没有任何限制,甚至元素也可以是列表,这样就定义了嵌套列表。list(元素1,元素2,元素3············)(元素1,)(当元组中只有1个元素时 要加 逗号,)[元素1,元素2,元素3············]tuple(元素1,元素2,元素3····)(元素1,元素2,元素3··········)

2401_88328408的博客 397

EtherCAT主站SOEM -- 18 --Qt-Soem通过CSV模式(周期同步速度模式)控制一个电机转圈圈

以上就是 EtherCAT主站SOEM – 18 --Qt-Soem通过CSV模式(周期同步速度模式)控制一个电机转圈圈 的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 1212

Python学习笔记 day4

Python学习笔记 day21. 函数关键字2. 函数的定义3. 函数参数与作用域4. 函数返回值5.为函数提供说明文档 1. 函数关键字 2. 函数的定义 函数就是最基本的一种代码抽象的方式。 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。...

aaqqgq1的博客 474

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python基础4day笔记

列表是有序集合,没有固定大小,能够保存任意数量类型的python对象,语法为[元素1,元素2,元素3,…,元素n]。关键点是[中括号]和逗号,中括号把所有元素绑在一起逗号将每个元素一一分开。

qq_44755590的博客 102

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Python学习笔记 day4 基础4

day 41.列表生成式,迭代器&生成器2.装饰器3.Json & pickle 数据序列化4.软件目录结构规范5.作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式:a = [i+1 for i in range(10)] 列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 第一种: >>> a [0...

果子哥丶的博客 587

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python 基础笔记 day-4

Day 4字典字典的基础操作字典的创建{} dict()zip()fromkeys()字典元素发访问通过键访问 字典 键值对 键:不可变,不可重复、可变对象不能作为键 值:可以是任意数据,并且可以重复 简单的定义方式:a = {‘name’:gaoqi,‘age’ :18} 字典的基础操作 字典的创建 {} dict() a = {'name':'Fr','age':18} print(a) a = dict(name = 'gaoqi',age = 18) print(a) a = dict([('nam

z___21的博客 262

Python 学习笔记 Day4

笔记索引

Leonardo_bits的博客 379

小白学Python笔记 Day4

若想永久删除,赋值给变量:favorite_language = favorite_language.rstrip()---------------好啦,明天继续。--------------------------其他方法如:.upper()、.lower() 分别为全部大写、全部小写。如 print(“python”)和 print(“\tpython”)更方便的是把()内容放进另一个变量如message。如: first_name = "cathy"如: name = "cathy c"

MoonResident的博客 194

Python学习笔记DAY4

程序中的变量是用来储存或指代值的。

SEHUN7的博客 574

python中day_Python学习笔记-DAY-4

1. 迭代器和生成器1.1 生成器:列表生成器 Python中,这种一边循环一边计算的机制,称为生成器:generator定义generator的一种方法:只要把一个列表生成式的[]改成()直接打印出list的每一个元素,但生成器只有next()这样一种方法generator保存的是算法,每次调用next(g),就计算出g的下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出 StopI...

weixin_39805195的博客 374

Python学习笔记Day4

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。 1.函数的定义 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 ...

一个做图像文本的深度学习人 260

Python 学习笔记 Day-4

字典和集合是Python中常用的数据结构。字典以键值对形式存储数据,适合快速查询,支持增删改查操作,常见方法包括get、keys、values和items。集合用于去重,支持增删查操作,常见方法包括add、update、remove、discard和pop。字典和集合都不支持下标访问,但可以通过循环遍历其元素。字典适用于需要键值对映射的场景,而集合适用于需要去重的数据存储。

qq_47820073的博客 421

Python学习笔记——Day4

1.单引号定义法:name = '学习'2.双引号定义法:name = "学习"3.三引号定义法:name = """学习"""如果定义的字符串本身包含:单引号、双引号自身时:单引号定义法可以内含双引号。双引号定义法可以内含单引号。可以使用转义字符(\)来将引号解除效果,变成普通字符串。

m0_74475285的博客 435

python学习笔记,day4

1、类的浅拷贝与深拷贝 变量的赋值操作:只是形成两个变量,实际上还是指向同一个对象 浅拷贝:python拷贝一般都是浅拷贝,拷贝时,对象包含的子对象内容不拷贝,因此,源对象与拷贝对象会引用同一个子对象 深拷贝:使用copy模板的deepcopy函数,递归拷贝对象中包含的子对象,源对象和拷贝对象所有的子对象也不相同 eg: class Cpu: pass class Disk: pass class Computer: def __init__(self,cpu,disk)

Lucky77a的博客 808

Python笔记-day4

Python笔记-day4

道南的博客 271
上一篇: python day03笔记&练习
下一篇: mysql 5.7 主从复制
Christ0pher
博客等级 码龄9年 4粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值