Python 基础笔记 day-4

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

v@[TOC](Day 4)

字典

键值对
键:不可变,不可重复、可变对象不能作为键
值:可以是任意数据,并且可以重复
简单的定义方式:a = {‘name’:gaoqi,‘age’ :18}

字典的基础操作

字典的创建

{} dict()
a = {'name':'Fr','age':18}
print(a)
a = dict(name = 'gaoqi',age = 18)
print(a)
a = dict([('name','gaoqi'),('age',18)])
print(a)
c = {} #空的字典对象
d = dict()#空的字典对象
zip()
k = ['name','age','job']
v = ['gaoqi',18,'techer']
d = dict(zip(k,v))#zip()函数接受迭代(可以是零或更多),将它们聚合到一个元组中,然后返回它。
print(d)
fromkeys()

创建值为空的字典

a = dict.fromkeys(['name','age','job'])
print(a)

字典元素发访问

通过键访问
a = {'name':'Fr','age':18}
a['name']
a = {'name':'Fr','age':18}
a['time'] #没有这样的键,抛出异常
通过get()方法获得’值’

推荐使用。优点是:指定键不存在,返回 None;也可以设定指定键不存在时默认返回的对象。推荐使用 get()获取“值对象”

a = {'name':'Fr','age':18}
a.get('name')
列出

所有的键值对

a.items()
dict_items([('name', 'gaoqi'), ('age', 18), ('job', 'programmer')])

列出所有的键

a.key()

列出所有的值

a.value()

键值对的个数
len() 键值对的个数
检测一个键是否在字典中

a = {'name':'Fr','age':18}
'name' in a 

字典元素添加、修改、删除

字典元素添加

a[’’] = ’ ’

给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对

a = {'name':'Fr','age':18}
a['adress'] = 'Harbin'
update()

使用 update()将新字典中所有键值对全部添加到旧字典对象上。如果 key 有重复,则直接覆盖

a = {'name':'Fr','age':18}
b = {'adress':'Fr','age':18}
a.update(b)
a

字典元素删除

字典中元素的删除,可以使用 del()方法;或者 clear()删除所有键值对;pop()删除指定
键值对,并返回对应的“值对象”;

del()
a = {'name':'Fr','age':18}
del(a['name'])
a
clear()
a = {'name':'Fr','age':18}
clear(a)
pop()
a = {'name':'Fr','age':18}
b = a.pop('name')
popitem()

随机删除和返回该键值对。字典是“无序可变序列”,因此没有第一个元素、最后一个元素的概念;popitem 弹出随机的项,因为字典并没有"最后的元素"或者其他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效

序列解包

序列解包可以用于元组、列表、字典。序列解包可以让我们方便的对多个变量赋值

x,y,z = (20,30,10)
print(x)
print(y)

序列解包用于字典时,默认是对“键”进行操作; 如果需要对键值对操作,则需要使用items();如果需要对“值”进行操作,则需要使用 values()

s = {'name':'gaoqi','age':18,'job':'programmer'}
name,age,job = s
name
表格数据使用字典和列表存储,并实现访问

在这里插入图片描述

r1 = {"name":"高小一","age":18,"salary":30000,"city":"北京"}
r2 = {"name":"高小二","age":19,"salary":20000,"city":"上海"}
r3 = {"name":"高小五","age":20,"salary":10000,"city":"深圳"}
tb = [r1,r2,r3]

#获得第二行的人的薪资
print(tb[1].get("salary"))
#打印表中所有的的薪资
for i in range(len(tb)): # i -->0,1,2
print(tb[i].get("salary"))
#打印表的所有数据
for i in range(len(tb)):
print(tb[i].get("name"),tb[i].get("age"),tb[i].get("salary"),tb[i].get("city"))

字典核心底层原理(重要)

字典对象的核心是散列表。散列表是一个稀疏数组(总是有空白元素的数组),数组的每个单元叫做 bucket。每个 bucket 有两部分:一个是键对象的引用,一个是值对象的引用。
由于,所有 bucket 结构和大小一致,我们可以通过偏移量来读取指定 bucket。
在这里插入图片描述

将一个键值对放进字典的底层过程

建立新的字典对象{}
a = {}
在这里插入图片描述
将键值对放入
计算键”name”的散列值。Python 中可以通过 hash()来计算。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
扩容
python 会根据散列表的拥挤程度扩容。“扩容”指的是:创造更大的数组,将原有内容拷贝到新数组中。
接近 2/3 时,数组就会扩容。

根据键查找“键值对”的底层过程

在这里插入图片描述
在这里插入图片描述

集合

像数学中概念一样,Python 对集合也提供了并集、交集、差集等运算。我们给出示例:
在这里插入图片描述

a = {1,3,'sxt'}
b = {'he','it','sxt'}
print(a|b)#并集
print(a&b)#交集
print(a^b)
print(a-b)#差集

选择结构

单分支

在这里插入图片描述

a = int(input('please input a :'))
if a != 10:
    print(a)```
```python
if 3:
    print(3)
a = []
if a:
    print(a)
else:
    print('NONE')```
```python
c = int(input('c'))
if 3<c<20: # == 3<c and c<20
    print('3<c<20:')

双分支

在这里插入图片描述

c = int(input('c'))
if c < 10:
    print('<10')
else:
    print('>10')

三元条件运算符

Python 提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如
下:条件为真时的值 if (条件表达式) else 条件为假时的值

c = int(input('c'))
print('<10') if c<10 else print('>10')

多分支

在这里插入图片描述

score = int(input("请输入分数"))
grade = ''
if score<60 :
	grade = "不及格"
elif score<80 :
	grade = "及格"
elif score<90 :
	grade = "良好"
elif score<=100:
	grade = "优秀"
print("分数是{0},等级是{1}".format(score,grade))
x = int(input("请输入 x 坐标"))
y = int(input("请输入 y 坐标"))
if(x==0 and y==0):print("原点")
elif(x==0):print("y 轴")
elif(y==0):print("x 轴")
elif(x>0 and y>0):print("第一象限")
elif(x<0 and y>0):print("第二象限")
elif(x<0 and y<0):print("第三象限")
else: print("第四象限")

选择结构嵌套

选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系

研一脑电小白日记 之 EEGLAB预处理实战指南 本文为脑电研究新手提供了一份详尽的EEGLAB预处理实战指南。从MATLAB与EEGLAB环境搭建、使用NeuracleEEGFileReader插件导入BDF格式数据开始,逐步讲解了电极定位、滤波、降采样、ICA去伪迹等核心步骤,旨在帮助初学者高效完成脑电数据预处理,为后续分析奠定坚实基础。 阅读详情

相关推荐

Labview及NI-USRP驱动安装教程

软件下载 安装使用的LabVIEW2018及NI-USRP驱动程序已上传,下载地址: 天翼云盘链接 (访问码:oc33) 百度网盘链接 (提取码:88mi) (注:天翼云盘下载不限速) LabVIEW2018安装步骤 右键软件压缩包选择解压至LabVIEW2018 选中文件,鼠标右击选择以管理员身份打开2018LV-WinChn.exe文件。 点击确定。 点击Unzip解压。 点击确定。 点击下一步。 填写任意信息后,点击下一步。 点击下一步。 点击浏览更改安装路径建议安装到除C盘以

dadapongi6的博客 2万+

【第六课】Python字典入门2022.7.1

字典:键值对、无序可变 可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。 “键”是任意的不可变数据:如整数、浮点数、字符串、元组; 列表、字典、集合这些可变对象不可以作为“键”; “键”不可重复。 ...

programmerMA824的博客 328

drm 之modes

#define _GNU_SOURCE #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <time.h&...

u012794472的专栏 3718

子木Python学习Day4-笔记

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

weixin_63079299的博客 254

SAP生产版本导入避坑大全:从‘黄灯’到‘绿灯’,详解CM_FV_MKAL_CONSISTENCY_CHECK检查函数

本文深入解析SAP生产版本导入过程中的常见问题,特别是通过`CM_FV_MKAL_CONSISTENCY_CHECK`检查函数从‘黄灯’异常到‘绿灯’正常的修复方法。涵盖静态与动态校验机制、典型异常场景诊断及批量导入最佳实践,帮助SAP运维人员高效解决生产版本管理难题。

weixin_30568591的博客 387

AWR1642+DCA1000EVM 不使用mmWave Studio软件采集原始ADC数据 Timeout问题汇总

DCA1000 EVM Timeout问题汇总

Jesy_Hsu的博客 1476

day4 Python笔记总结

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

weixin_50758400的博客 166

基于Meteoinfo与TrajStat的后向轨迹聚类分析实战:从数据准备到可视化制图

本文详细介绍了基于Meteoinfo与TrajStat进行后向轨迹聚类分析的完整实战流程。从Java环境配置、Meteoinfo软件与TrajStat插件安装,到精准获取NOAA气象数据、设置参数进行批量轨迹计算,再到利用聚类分析提炼主要气流路径,并最终完成专业地图可视化与制图。文章旨在帮助环境与气象研究者快速掌握从数据准备到成果输出的全链路操作。

p4q5r6s7t的博客 804

python基础4day笔记

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

qq_44755590的博客 102

别再找在线API了!用C#调用微信电脑版自带的OCR,本地识别又快又准

本文详细介绍了如何利用C#调用微信电脑版内置的OCR引擎实现本地文字识别,解决传统云端API的隐私和网络依赖问题。微信OCR具备高精度中文识别、完全离线运行和零成本接入三大优势,特别适合企业文档电子化处理。通过实战代码演示了核心交互逻辑、批量处理流水线和表格数据提取等高级应用场景。

weixin_29295541的博客 589

【论文复现】水下单光子激光雷达设计 Sequential Multimodal Underwater Single

针对对慢速小水下目标进行远距离、高分辨率重建的需求,单光子激光雷达(LiDAR)目标重建技术的研究正在进行。本文报告了一种基于时空序列融合的顺序多模态水下单光子 LiDAR 自适应目标重建算法,该算法具有强大的信息提取和噪声过滤能力,能够从复杂的回波光子计数和空间像素关系中重建目标的深度和反射强度信息。该方法包括三个步骤:数据预处理、序列优化极值推断滤波以及图像优化协同变分策略,以实现复杂水下环境下的高质量目标重建。

u012133341的博客 293

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

从一个 ASIN 看透亚马逊:商品模型背后的增长飞轮

在亚马逊电商体系中,每件商品背后都有一套严密的商品建模逻辑。本篇文章以“ASIN 的一生”为线索,系统拆解了亚马逊的商品模型:从飞轮战略出发,剖析 SDP(Single Detail Page)机制如何实现标准化展示;再到 ASIN 编码、父子变体结构与 Offer 分离模型,逐层解析商品信息如何被建构、聚合与呈现。通过图解与案例,文章帮助读者理解商品建品流程、同款聚合原则、价格控制机制等核心逻辑,避免常见运营误区,是一份面向运营、产品、技术人员的实用参考指南。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 13万+

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

http

2401_83522810的博客 48

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Python学习笔记 day4

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

aaqqgq1的博客 474

【Python基础学习笔记】Day·4

目录 1·1、函数简介与功能: 1·2、函数的定义: 1·3、函数的使用: 2、函数的参数传递: 2.1、可选参数传递: 2.2、参数名称传递: 2.3、函数的返回值: 3、变量作用域: 3.1、局部变量: 3.2、局部变量: 4、代码复用: 1·1、函数简介与功能: 函数是一段具有特定功能的、可重复使用的语句组,通过函数名来表示和调用。 函数包括两部分:函数的定义 和 函数的使用。 使用函数有两个目的:降低编程难度 和 增加代码复用。 函数可以在一个程序中多个位置使用,也.

MAIZIGEG_XGK的博客 689

【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

Python学习笔记—day4—基础知识

Python学习笔记—day4—基础知识一、函数基础(1)定义(2)函数的作用(3)函数语句3.1 def语句3.2 lambda3.3 reture3.4 yield3.5 global3.6 nonlocal三、函数的参数与作用域(1)函数的作用域(2)本地作用域与全局作用域(3)LEGB原则(变量名解析机制)(4)函数中的参数4.1 传递参数4.2 参数类型4.3 函数参数匹配表四、函数返回...

qq_43524117的博客 289

Python 学习笔记 Day4

笔记索引

Leonardo_bits的博客 379

Python学习笔记(Day4)

我是根据上面课程进行学习的,相当于做了个学习笔记。

lm5688jjupm1n28的博客 249

【Python学习笔记】- Day4

循环遍历:for语句 基本使用方法: for <循环变量> in <遍历结构> : ​ <语句块> 函数 使用def保留字定义一个函数 语法形式:def <函数名>(<参数列表>) : ​ <函数体> ​ return <返回值类型> 组合数据类型(3类):序列类型(字符串、元组和列表)、集合.

ijwwio的博客 353

python学习笔记day4

characters(content) 方法调用时机:从行开始,遇到标签之前,存在字符,content 的值为这些字符串。从一个标签,遇到下一个标签之前, 存在字符,content 的值为这些字符串。从一个标签,遇到行结束符之前,存在字符,content 的值为这些字符串。标签可以是开始标签,也可以是结束标签。startDocument() 方法文档启动的时候调用。endDocument() 方法解析器到达文档结尾时调用。startElement(name, attrs) 方法。

X_xiaojuzi的博客 214

小白学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

4.Python基础学习笔记day04-函数

4.Python基础学习笔记day04-函数 一、函数概述 ''' 函数: 在项目开发的过程中,有些功能代码我们可能会经常使用,我们可以将这些代码按照它的功能 封装成函数,在需要的时候调用即可。 优点: 1.提高代码的复用性,简化代码结构 2.增加代码的可维护性 ''' ''' 函数的定义: def 函数名(参数列表): 函数体 return 表达式 def 关键字标识定义函数...

agelbaby的博客 298
上一篇: Python 基础笔记 day-3
下一篇: Python 基础笔记 day-5 循环
z___21
博客等级 码龄6年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值