日报

本文探讨了Python中变量与值的关系,强调赋值操作是让变量指向内存地址。介绍了函数传参的本质是传递数据引用,区分了可变类型(如列表、字典)与不可变类型(如数字、字符串、元组)的赋值行为和特点。不可变类型在内存中不会因重复赋值而创建新空间,而可变类型每次使用都会在内存中创建新数据。此外,文章还涉及了哈希、变量作用域和如何在函数内修改全局变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量与值的关系

值,理解为实体的数据

变量,理解为数据的称呼

每一个值被创造出来,都会有一个内存id号码。类似于人的身份证号码。

赋值操作

变量 =  值
a = "hello"

本质是

让一个变量名称指向数值的内存地址

我们后面使用变量时,对应内存地址的数据就会被使用

函数传参的本质

1553236876775

函数调用时,实参给形参传值

实际上,本质传的就是数据的引用(数据的内存id地址)

数据根据是否变化分两类

可变类型

列表

字典

不可变类型

数字类型

字符串

元组

不可变类型

1553237399600

1553237406256

不可变类型

首次出现不可变类型的数据时

会先在内存中划出一块空间,存入不可变类型的数据实体,并且得到了一个内存的id

然后变量获得这个内存id

第二次赋值相同的值的时候,系统会发现内存中已经存在这个数据了。

由于该数据是不可变类型,特点就是,数据如果存在,不再创建新的内存空间。

如果第二次要用的话,直接使用这个数据的内存地址。

m = 12

n = 12

这两个赋值操作的过程

1553238167878

可变数据类型

1553237761847

1553237966462

总结两类型的赋值

不可变类型

a = 1

b = 1

的过程

首次出现不可变类型1的时候,会在内存中划出一块空间,保存数据1

然后1同时会获得一个内存id

变量a作为一个标记,标签,会指向1的内存地真正

我们把这种指向叫做引用

第二次b=1

第二次出现数据的1的时候,会在内存中查看,是否有它的存在,如果没有这个数据1的存在,那么会创建。

如果数据1存在了,那么直接使用这个数据1的内存地址

同时变量b会指向数据1的内存地址

总的看来,变量a 与变量b 他们的数据内存地址是一致

可变类型不同的地方就是

不论数据是否是首次出现

只要存在数据的使用,都会是一个创建的过程,都会在内存中划出一块区域

可变类型的特点

通过自已的方法,修改数据(增删改查),自己的内存地址,不变

不可变类型不行

问题待解决

1553234984129

变量名 实际的数据

称呼, 内存地址对应的那个数据

同桌,只是一个标签

m > id1, 指向的是id1的数据,访问m,拿到的就是id1的数据

m > id2,指向的是id2的数据,访问m, 拿到的就id2 的数据

哈希

hash(不可变类型)

数字,字符串,元组

变量的作用域

指的是变量的有效区域

局部变量

在函数中定义,在函数中使用

函数结束,局部变量销亡

全局变量

在函数外,在主代码区定义的变量

全局变量可以在函数中被使用

特别的情况

如果在函数内定义了一个与全局变量同名的变量

如果全局变量有num = 1

然后我们在函数内也定义了一个num=3的时候

再打印num 我们就是直接使用自己范围内的,函数内的num

在函数内修改全局变量

使用关键词global

函数内部通过global关键词,可以把全局变量引入进来

引入进来后,对它进行赋值操作,就不再是生成局部变量了

而是

修改全局变量的值

global 全局变量名  # 引入全局变量到函数内部
全局变量名 = 数值   # 修改全局变量

小结

明确下面的过程到底经历了哪些步骤

变量1 = 值1
变量2 = 值1

哪些数据类型是可变类型

  • 列表
  • 字典

特点,他们自身有技能(改变自己的技能,增删改查)

函数的传参

  • 本质就是传送数据的引用

哪些类据类型是不可变类型

  • 数字型
  • 字符串
  • 元组

特点,他们自身没有修改自己的技能

可变类型的特点

  • 被定义时,不论是否有相同的数据,直接在内存中划块空间存值

  • 可以在不改变内存地址的情况下,改变自身内部的数据内容

  • 只有通过自己的技能(方法)才可以做到不改变内存地址改变数据的实现

不可变类型的特点

  • 被定义时,先查看内存中是否有相同的数据存在,如果有就直接使用,如果没有就划一块内存存数据
  • 无法在内存地址不变的情况下修改数据

哈希

  • 哈希函数 hash(不可变类型)
  • 同样的数据生成同样的哈希值
  • 不同的数据生成不同的数据值
  • 指纹的用途,用于识别两个数据是否一致

局部变量

定义在函数内部的变量

进入函数后才存活,函数结束就销亡

全局变量

定义在函数外部的变量

可以被函数使用

函数内部要修改全局变量,可通过global关键词先导入进来,然后通过赋值语句来修改

局部变量的命名

以g_ 或者 gl_开头

写代码的堆放位置

shebang

导入模块

全局变量

函数定义

执行的代码

<think>好的,我现在需要帮用户推荐用于生成或管理日报的软件。首先,用户提到他们参考的站内引用是关于使用Python和pandas生成日报表的示例,可能他们有一定的技术背景,或者对自动化生成报表感兴趣。接下来,我需要考虑不同类型的用户需求,比如是否需要免费工具、是否需要团队协作功能,或者是否偏好本地软件还是云端服务。 首先,用户可能分为几类:个人用户、团队管理者、项目管理人员,或者开发人员。对于个人用户,可能更倾向于简单易用的工具,比如Trello或Notion。而团队协作可能需要像Microsoft Teams或Jira这样的工具。开发人员可能更喜欢用Python脚本来自动化生成日报,所以需要提到pandas和Jupyter Notebook。 然后,我要确保覆盖不同平台和操作系统的选项,比如跨平台的工具,以及移动端支持。此外,用户可能关心集成能力,比如是否能与现有的项目管理软件或日历应用同步。例如,Microsoft 365和Google Workspace都有很好的集成生态。 另外,需要区分免费和付费软件,给用户更多选择。比如,ClickUp和Notion有免费版本,但高级功能需要付费。还要考虑数据安全和隐私,特别是对于企业用户,可能需要推荐本地部署的软件,比如Excel。 还要注意用户可能需要的功能,比如模板定制、自动化生成、数据分析等。例如,Airtable提供了灵活的数据库功能,适合需要自定义字段的用户。而Power BI则适合需要数据可视化的场景。 最后,确保推荐时结构清晰,分点说明每个软件的特点和适用场景,让用户能根据自身需求选择。同时,生成相关问题可以引导用户深入思考,比如如何自动化生成日报,或者如何选择适合团队的软件。需要确保问题覆盖用户可能关心的其他方面,如安全性、协作功能等。</think>### 用于生成或管理日报的软件推荐 #### 1. **Microsoft 365(含Excel/Teams)** - **特点**: 支持通过Excel模板定制日报格式,结合Power Automate可实现自动化数据填充。Teams集成任务分配和进度跟踪功能[^1]。 - **适用场景**: 企业级项目管理,需与Office生态深度整合的团队。 #### 2. **Notion** - **特点**: 提供灵活的数据看板和日报模板,支持Markdown语法、数据库关联和多人协作。公式可嵌入动态内容,例如:$ \text{完成率} = \frac{\text{已完成任务}}{\text{总任务}} \times 100\% $。 - **适用场景**: 中小团队的知识管理与敏捷协作。 #### 3. **Trello** - **特点**: 基于看板的可视化日报管理,支持Checklist、Due Date和自动化规则(Butler插件)。可通过日历视图生成每日汇总报告。 - **适用场景**: 轻量级任务跟踪,远程团队每日站会同步。 #### 4. **Jira(Atlassian)** - **特点**: 内置敏捷报表功能,自动生成燃尽图、迭代日报。支持通过JQL语法定制查询,例如: $$ \text{剩余工时} = \sum_{i=1}^{n} (\text{预估工时}_i - \text{已消耗工时}_i) $$ - **适用场景**: 软件研发团队,Scrum/Kanban实践者。 #### 5. **Python + Pandas(代码自动化)** - **技术栈**: 使用pandas处理数据,Jupyter Notebook生成可视化日报,适合需要高度定制的场景[^1]。 ```python import pandas as pd # 示例:生成每日任务汇总表 daily_report = pd.DataFrame({ '任务': ['需求分析', '代码开发', '测试'], '状态': ['已完成', '进行中', '未开始'], '进度(%)': [100, 60, 0] }) ``` #### 6. **专用日报工具** - **Daylio**: 移动端日报记录,支持心情追踪与习惯统计 - **Friday**: 自动化生成团队每日进展,集成Slack/MS Teams - **ClickUp**: 任务-时间-日报联动管理,内置30+报表模板
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值