Python的那些事第三篇:Python编程的“调味料”与“交流术”运算符与输入输出
运算符与输入输出:Python编程的“调味料”与“交流术”
在编程的世界里,Python不仅仅是一门语言,它更像是一位充满智慧的厨师,而运算符和输入输出则是它手中的“调味料”和“交流术”。没有这些工具,代码就会像没有加盐的汤一样,淡而无味,甚至让人摸不着头脑。今天,就让我们用幽默的笔触,深入探索这些看似简单却无比强大的工具,看看它们是如何让Python变得如此美味和生动的!
一、运算符:代码中的“调味大师”
运算符是编程中最基本的工具之一,它们就像是厨房里的刀、叉、勺,虽然简单,但却是完成任何复杂任务的基础。Python中的运算符分为几类,每一种都有其独特的用途和魅力。
(一)算术运算符:数学老师的最爱
算术运算符是编程中最基础的运算工具,它们直接来源于我们熟悉的数学运算。如果你曾经在数学课上打过瞌睡,不用担心,这里我会用最简单的方式帮你复习一遍。
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| + | 加法 | 5 + 3 | 8 |
| - | 减法 | 10 - 4 | 6 |
| * | 乘法 | 7 * 2 | 14 |
| / | 除法 | 9 / 3 | 3.0 |
| // | 整除 | 10 // 3 | 3 |
| % | 取余 | 10 % 3 | 1 |
| ** | 乘方 | 2 ** 3 | 8 |
1. 加法(+):数字的“拥抱”
加法是最简单的运算符,它就像是两个数字在拥抱。当你把两个数字放在一起,用加号(+)连接它们时,Python会帮你把它们合并成一个更大的数字。
a = 5
b = 3
result = a + b
print(result) # 输出:8
2. 减法(-):数字的“分离”
减法则是加法的反面,它更像是数字之间的“分离”。当你从一个数字中减去另一个数字时,Python会帮你计算出它们之间的差距。
a = 10
b = 4
result = a - b
print(result) # 输出:6
3. 乘法(*):数字的“复制”
乘法就像是数字的“复制”功能。当你把一个数字乘以另一个数字时,Python会帮你把第一个数字复制多次。
a = 7
b = 2
result = a * b
print(result) # 输出:14
4. 除法(/):数字的“分配”
除法则是乘法的反面,它更像是数字的“分配”。当你把一个数字除以另一个数字时,Python会帮你把第一个数字分成若干份。
a = 9
b = 3
result = a / b
print(result) # 输出:3.0
注意,除法的结果总是浮点数,哪怕结果是一个整数。如果你希望得到整数结果,就需要用到“整除”运算符。
5. 整除(//):数字的“整数分配”
整除运算符(//)和除法运算符(/)很像,但它会直接丢弃小数部分,只保留整数部分。这在处理需要整数结果的场景时非常有用。
a = 10
b = 3
result = a // b
print(result) # 输出:3
6. 取余(%):数字的“剩余部分”
取余运算符(%)用来计算两个数字相除后的余数。这在处理循环、分组等问题时非常有用。
a = 10
b = 3
result = a % b
print(result) # 输出:1
7. 乘方(**):数字的“放大镜”
乘方运算符(**)用来计算一个数字的幂。它就像是一个“放大镜”,可以把数字放大很多倍。
a = 2
b = 3
result = a ** b
print(result) # 输出:8
(二)比较运算符:谁和谁在“比大小”
比较运算符就像是幼儿园里的小朋友,总是喜欢比谁更高、谁更胖。它们用来比较两个值的大小,并返回一个布尔值(True或False)。这些运算符在条件判断中非常常用。
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| == | 等于 | 5 == 5 | True |
| != | 不等于 | 5 != 3 | True |
| > | 大于 | 7 > 5 | True |
| < | 小于 | 2 < 4 | True |
| >= | 大于等于 | 5 >= 5 | True |
| <= | 小于等于 | 3 <= 4 | True |
1. 等于(==):判断是否“相等”
等于运算符(==)用来判断两个值是否相等。如果相等,返回True;否则返回False。
a = 5
b = 5
result = a == b
print(result) # 输出:True
2. 不等于(!=):判断是否“不相等”
不等于运算符(!=)用来判断两个值是否不相等。如果不相等,返回True;否则返回False。
a = 5
b = 3
result = a != b
print(result) # 输出:True
3. 大于(>)、小于(<)、大于等于(>=)、小于等于(<=)
这些运算符用来比较两个值的大小。它们的逻辑非常直观,就像你在幼儿园里比身高一样。
a = 7
b = 5
result1 = a > b # 大于
result2 = a < b # 小于
result3 = a >= b # 大于等于
result4 = a <= b # 小于等于
print(result1, result2, result3, result4) # 输出:True False True False
(三)逻辑运算符:哲学家的思考
逻辑运算符就像是哲学家在思考问题,总是纠结于“是”与“不是”。它们用来处理布尔值(True或False),并根据逻辑规则返回结果。逻辑运算符在复杂的条件判断中非常有用。
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| and | 并且 | True and False | False |
| or | 或者 | True or False | True |
| not | 非 | not False | True |
1. and:只有都为True才返回True
and运算符表示“并且”,只有当两个条件都为True时,结果才为True。否则,结果为False。
condition1 = True
condition2 = False
result = condition1 and condition2
print(result) # 输出:False
2. or:只要有一个为True就返回True
or运算符表示“或者”,只要有一个条件为True,结果就为True。只有当两个条件都为False时,结果才为False。
condition1 = True
condition2 = False
result = condition1 or condition2
print(result) # 输出:True
3. not:反转布尔值
not运算符用来反转布尔值。如果原来的值为True,反转后为False;如果原来的值为False,反转后为True。
condition = False
result = not condition
print(result) # 输出:True
(四)赋值运算符:懒人的“神器”
赋值运算符是用来给变量赋值的工具。除了基本的赋值(=),Python还提供了一些复合赋值运算符,这些运算符可以让代码更加简洁,减少重复的代码。
| 运算符 | 描述 | 示例 | 等价于 |
|---|---|---|---|
| = | 赋值 | a = 5 | a = 5 |
| += | 加后赋值 | a += 3 | a = a + 3 |
| -= | 减后赋值 | a -= 2 | a = a - 2 |
| *= | 乘后赋值 | a *= 4 | a = a * 4 |
| /= | 除后赋值 | a /= 2 | a = a / 2 |
1. 基本赋值(=)
基本赋值运算符(=)用来给变量赋值。它把右边的值赋给左边的变量。
a = 10
print(a) # 输出:10
2. 加后赋值(+=)
加后赋值运算符(+=)用来把变量和一个值相加,然后将结果赋值回变量。
a = 10
a += 5
print(a) # 输出:15
3. 减后赋值(-=)
减后赋值运算符(-=)用来把变量减去一个值,然后将结果赋值回变量。
a = 10
a -= 5
print(a) # 输出:5
4. 乘后赋值(*=)
乘后赋值运算符(*=)用来把变量乘以一个值,然后将结果赋值回变量。
Python复制
a = 10
a *= 2
print(a) # 输出:20
5. 除后赋值(/=)
除后赋值运算符(/=)用来把变量除以一个值,然后将结果赋值回变量。
a = 10
a /= 2
print(a) # 输出:5.0
二、输入与输出:和用户“唠唠嗑”
输入和输出是程序与用户交互的桥梁。输入允许用户向程序提供信息,而输出则允许程序向用户展示结果。Python提供了几种简单而强大的工具来实现输入和输出。
(一)使用input()函数获取用户输入
input()函数就像是一个热情的客服,总是问你“您需要什么?”它可以让用户输入信息,然后程序再根据这些信息做出反应。不过,input()获取到的内容都是字符串,如果需要数字,还得“变个魔术”(转换类型)。
name = input("请输入你的名字:")
print(f"你好,{name}!欢迎来到编程世界!")
如果用户输入了“小明”,那么输出就是:“你好,小明!欢迎来到编程世界!”
1. 输入数字
如果你需要用户输入一个数字,可以通过int()或float()函数将输入的字符串转换为数字。
age = int(input("请输入你的年龄:"))
print(f"你今年{age}岁了。")
如果用户输入了“25”,那么输出就是:“你今年25岁了。”
(二)使用print()函数输出信息
print()函数就像是一个话痨的朋友,总是迫不及待地想把消息告诉你。它可以输出文字、数字,甚至可以输出变量的内容。
print("今天天气真好!")
print(25)
print("我今年", 25, "岁了。")
输出结果是:
今天天气真好!
25
我今年 25 岁了。
(三)格式化输出:让输出“美美哒”
有时候,print()输出的内容太乱了,就像是一堆没整理的杂物。这时候,格式化输出就派上用场了。Python提供了两种常见的格式化方法:f-string和format()方法。
1. f-string:简洁的“时尚达人”
f-string就像是一个时尚达人,只需要在字符串前面加一个f,然后把变量放在大括号里,就能让输出变得优雅又简洁。
name = "小红"
age = 23
print(f"我的名字是{name},今年{age}岁。")
输出结果是:“我的名字是小红,今年23岁。”
2. format()方法:传统的“礼仪先生”
format()方法就像是一个传统的“礼仪先生”,它通过占位符(如{})来安排输出内容,然后用format()方法填充这些占位符。
name = "小蓝"
age = 24
print("我的名字是{},今年{}岁。".format(name, age))
输出结果是:“我的名字是小蓝,今年24岁。”
(四)换行符、制表符和转义字符:让输出“排排坐”
有时候,输出的内容太多,就像是一堆挤在一起的小朋友,看起来很乱。这时候,换行符(\n)、制表符(\t)和转义字符(\)就能让它们“排排坐”。
-
换行符(
\n):就像是一声哨响,让文字换到下一行。 -
制表符(
\t):就像是一个“让一让”的手势,让文字缩进一些。 -
转义字符(
\):就像是一个“魔法棒”,能让一些特殊字符(如双引号)在字符串中正常显示。
print("第一行\n第二行")
print("这是\t缩进的内容")
print("他说:\"你好,世界!\"")
输出结果是:
第一行
第二行
这是 缩进的内容
他说:"你好,世界!"
结语
运算符和输入输出就像是Python编程中的“调味料”和“交流术”,它们虽然简单,但却无比强大。通过这些工具,你可以让代码变得更加生动、有趣,甚至能够与用户进行互动。希望这篇文章能帮助你更好地理解和使用这些工具,让你的Python编程之旅更加顺畅。
以下是一个完整的Python代码案例,涵盖了上述提到的运算符和输入输出的知识点。每一行代码都有详细的注释,帮助你理解每一步的作用。
# 算术运算符示例
# 定义两个变量
a = 10
b = 3# 加法
sum_result = a + b # 10 + 3 = 13
print(f"加法结果:{a} + {b} = {sum_result}")# 减法
difference = a - b # 10 - 3 = 7
print(f"减法结果:{a} - {b} = {difference}")# 乘法
product = a * b # 10 * 3 = 30
print(f"乘法结果:{a} * {b} = {product}")# 除法
quotient = a / b # 10 / 3 = 3.333...
print(f"除法结果:{a} / {b} = {quotient}")# 整除
integer_division = a // b # 10 // 3 = 3
print(f"整除结果:{a} // {b} = {integer_division}")# 取余
remainder = a % b # 10 % 3 = 1
print(f"取余结果:{a} % {b} = {remainder}")# 乘方
power = a ** b # 10 ** 3 = 1000
print(f"乘方结果:{a} ** {b} = {power}")# 比较运算符示例
# 定义两个变量
x = 5
y = 7# 等于
is_equal = x == y # 5 == 7,结果为 False
print(f"等于比较:{x} == {y} 的结果是 {is_equal}")# 不等于
is_not_equal = x != y # 5 != 7,结果为 True
print(f"不等于比较:{x} != {y} 的结果是 {is_not_equal}")# 大于
is_greater = x > y # 5 > 7,结果为 False
print(f"大于比较:{x} > {y} 的结果是 {is_greater}")# 小于
is_less = x < y # 5 < 7,结果为 True
print(f"小于比较:{x} < {y} 的结果是 {is_less}")# 大于等于
is_greater_or_equal = x >= y # 5 >= 7,结果为 False
print(f"大于等于比较:{x} >= {y} 的结果是 {is_greater_or_equal}")# 小于等于
is_less_or_equal = x <= y # 5 <= 7,结果为 True
print(f"小于等于比较:{x} <= {y} 的结果是 {is_less_or_equal}")# 逻辑运算符示例
# 定义两个布尔变量
condition1 = True
condition2 = False# and 运算符
and_result = condition1 and condition2 # True and False,结果为 False
print(f"逻辑与(and):{condition1} and {condition2} 的结果是 {and_result}")# or 运算符
or_result = condition1 or condition2 # True or False,结果为 True
print(f"逻辑或(or):{condition1} or {condition2} 的结果是 {or_result}")# not 运算符
not_result = not condition1 # not True,结果为 False
print(f"逻辑非(not):not {condition1} 的结果是 {not_result}")# 赋值运算符示例
# 基本赋值
c = 10
print(f"基本赋值:c = {c}")# 加后赋值
c += 5 # c = c + 5
print(f"加后赋值:c += 5,结果 c = {c}")# 减后赋值
c -= 3 # c = c - 3
print(f"减后赋值:c -= 3,结果 c = {c}")# 乘后赋值
c *= 2 # c = c * 2
print(f"乘后赋值:c *= 2,结果 c = {c}")# 除后赋值
c /= 4 # c = c / 4
print(f"除后赋值:c /= 4,结果 c = {c}")# 输入与输出示例
# 使用 input() 获取用户输入
user_name = input("请输入你的名字:") # 获取用户输入的名字
user_age = int(input("请输入你的年龄:")) # 获取用户输入的年龄,并转换为整数# 使用 print() 输出信息
print(f"你好,{user_name}!你今年{user_age}岁了。")# 格式化输出示例
# 使用 f-string
print(f"使用 f-string 格式化输出:你的名字是 {user_name},年龄是 {user_age}。")# 使用 format() 方法
print("使用 format() 方法格式化输出:你的名字是 {},年龄是 {}。".format(user_name, user_age))# 换行符、制表符和转义字符示例
print("换行符示例:第一行\n第二行")
print("制表符示例:这是\t缩进的内容")
print("转义字符示例:他说:\"你好,世界!\"")
代码说明:
-
算术运算符:
-
加法、减法、乘法、除法、整除、取余和乘方的示例。
-
每个运算符的结果都通过
print()函数输出。
-
-
比较运算符:
-
等于、不等于、大于、小于、大于等于和小于等于的示例。
-
每个比较的结果都通过
print()函数输出。
-
-
逻辑运算符:
-
and、or和not的示例。 -
每个逻辑运算的结果都通过
print()函数输出。
-
-
赋值运算符:
-
基本赋值、加后赋值、减后赋值、乘后赋值和除后赋值的示例。
-
每次赋值后的结果都通过
print()函数输出。
-
-
输入与输出:
-
使用
input()函数获取用户输入,并通过int()函数将输入的字符串转换为整数。 -
使用
print()函数输出用户输入的信息。
-
-
格式化输出:
-
使用
f-string和format()方法进行格式化输出。
-
-
换行符、制表符和转义字符:
-
使用
\n、\t和\"等特殊字符来控制输出格式。
-
相关文章:
Python的那些事第三篇:Python编程的“调味料”与“交流术”运算符与输入输出
运算符与输入输出:Python编程的“调味料”与“交流术” 在编程的世界里,Python不仅仅是一门语言,它更像是一位充满智慧的厨师,而运算符和输入输出则是它手中的“调味料”和“交流术”。没有这些工具,代码就会像没有加…...
如何利用AI工具来进行数据分析
利用AI工具进行数据分析可以显著提高效率和准确性,以下是详细步骤和方法: 1. 明确分析目标 在开始数据分析之前,首先需要明确分析的目标和问题。这包括确定需要解决的问题、期望的见解或结果,以及选择合适的AI工具和方法。 2. …...
深度剖析C++17中的std::optional:处理可能缺失值的利器
文章目录 一、基本概念与设计理念二、构建与初始化(一)默认构造(二)值初始化(三)使用std::make_optional(四)使用std::nullopt 三、访问值(一)value()&#x…...
MySQL用户授权、收回权限与查看权限
【图书推荐】《MySQL 9从入门到性能优化(视频教学版)》-CSDN博客 《MySQL 9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…...
每日一题 429. N 叉树的层序遍历
429. N 叉树的层序遍历 /*class Solution { public:vector<vector<int>> levelOrder(Node* root) {queue<Node*> que;que.push(root);vector<vector<int>> ans;if(root nullptr){return ans;}while(!que.empty()){int sizeQue que.size();vec…...
【Maui】注销用户,采用“手势”点击label弹窗选择
文章目录 前言一、问题描述二、解决方案三、软件开发(源码)3.1 方法一:前端绑定3.2 方法二:后端绑定3.3 注销用户的方法 四、项目展示 前言 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创…...
如何将xps文件转换为txt文件?xps转为pdf,pdf转为txt,提取pdf表格并转为txt
文章目录 xps转txt方法一方法二 pdf转txt整页转txt提取pdf表格,并转为txt 总结另外参考XPS文件转换为TXT文件XPS文件转换为PDF文件PDF文件转换为TXT文件提取PDF表格并转为TXT示例代码(部分) 本文测试代码已上传,路径如下ÿ…...
Object类(2)
大家好,今天我们继续来看看Object类中一些成员方法,这些方法在实际中有很大的用处,话不多说,来看。 注:所有类都默认继承Object类的,所以可调用Object类中的方法,如equals,也可以发生…...
BGP分解实验·11——路由聚合与条件性通告(3)
续接上(2)的实验。其拓扑如下: 路由聚合的负向也就是拆分,在有双出口的情况下,在多出口做流量分担是优选方法之一。 BGP可以根据指定来源而聚合路由,在产生该聚合路由的范围内的条目注入到本地BGP表后再向…...
无用的知识又增加了:is_assignable means?
std::pair的默认operator被delete掉了,取而代之的是两个enable_if版本。 为什么这么设计,我的理解是在std::map里,已经保存的元素的key值是不能被修改的,比如 注意,下面的代码会修改key值,编译时出现错误…...
MOS的体二极管能通多大电流
第一个问题:MOS导通之后电流方向可以使任意的,既可以从D到S,也可以从S到D。 第二个问题:MOS里面的体二极管电流可以达到几百安培,这也就解释了MOS选型的时候很少考虑体二极管的最大电流,而是考虑DS之间电流…...
C语言【基础篇】之流程控制——掌握三大结构的奥秘
流程控制 🚀前言🦜顺序结构💯 定义💯执行规则 🌟选择结构💯if语句💯switch语句💯case穿透规则 🤔循环结构💯for循环💯while循环💯do -…...
Node.js下载安装及环境配置教程 (详细版)
Node.js:是一个基于 Chrome V8 引擎的 JavaScript 运行时,用于构建可扩展的网络应用程序。Node.js 使用事件驱动、非阻塞 I/O 模型,使其非常适合构建实时应用程序。 Node.js 提供了一种轻量、高效、可扩展的方式来构建网络应用程序࿰…...
【PySide6拓展】QCalendarWidget 日历控件
文章目录 PySide6拓展:QCalendarWidget 日历控件前言什么是QCalendarWidget?特点: 如何使用QCalendarWidget?1. 基本用法2. 获取当前选中的日期 QCalendarWidget 常用函数分类介绍1. 日期选择与管理函数2. 日期格式与显示函数3. 日…...
新型人工智能“黑帽”工具:GhostGPT带来的威胁与挑战
生成式人工智能的发展既带来了有益的生产力转型机会,也提供了被恶意利用的机会。 最近,Abnormal Security的研究人员发现了一个专门为网络犯罪创建的无审查AI聊天机器人——GhostGPT,是人工智能用于非法活动的新前沿,可以被用于网…...
【文星索引】搜索引擎项目测试报告
目录 一、项目背景二、 项目功能2.1 数据收集与索引2.2 API搜索功能2.3 用户体验与界面设计2.4 性能优化与维护 三、测试报告3.1 功能测试3.2 界面测试3.3 性能测试3.4 兼容性测试3.5 自动化测试 四、测试总结4.1 功能测试方面4.2 性能测试方面4.3 用户界面测试方面 一、项目背…...
【PostgreSQL内核学习 —— (WindowAgg(一))】
WindowAgg 窗口函数介绍WindowAgg理论层面源码层面WindowObjectData 结构体WindowStatePerFuncData 结构体WindowStatePerAggData 结构体eval_windowaggregates 函数update_frameheadpos 函数 声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊…...
Maya快捷键
旋转 ALT鼠标左键 平移 ALT鼠标中键 缩放 ALT鼠标右键 / 滑动鼠标滚轮 切换视图 空格键 [Q] 选择状态 [W] 移动状态 [E] 旋转状态 [R] 绽放状态 1正常显示 2正常也圆滑同时显示 3圆滑显示 4线框显示 5材质显示 6贴图显示 7灯光显示 CTRLZ 撤销命令…...
Go反射指南
概念: 官方对此有个非常简明的介绍,两句话耐人寻味: 反射提供一种让程序检查自身结构的能力反射是困惑的源泉 第1条,再精确点的描述是“反射是一种检查interface变量的底层类型和值的机制”。 第2条,很有喜感的自嘲…...
深入理解 C 语言函数指针的高级用法:(void (*) (void *)) _IO_funlockfile
深入理解 C 语言函数指针的高级用法 函数指针是 C 语言中极具威力的特性,广泛用于实现回调、动态函数调用以及灵活的程序设计。然而,复杂的函数指针声明常常让即使是有经验的开发者也感到困惑。本文将从函数指针的基本概念出发,逐步解析复杂…...
【观察】甲骨文:以AI为中心,开启企业级平台架构“新革命”
知名科技杂志《连线》创始主编凯文凯利曾预测:“在未来的 100 年里,人工智能将超越任何一种人工力量,将人类引领到一个前所未有的时代。” 可以看到,随着近两年AIGC与大模型的快速爆发,AI在千万行业中的重要性愈发突出…...
react native在windows环境搭建并使用脚手架新建工程
截止到2024-1-11,使用的主要软件的版本如下: 软件实体版本react-native0.77.0react18.3.1react-native-community/cli15.0.1Android Studio2022.3.1 Patch3Android SDKAndroid SDK Platform 34 35Android SDKAndroid SDK Tools 34 35Android SDKIntel x…...
C语言从入门到进阶
视频:https://www.bilibili.com/video/BV1Vm4y1r7jY?spm_id_from333.788.player.switch&vd_sourcec988f28ad9af37435316731758625407&p23 //枚举常量 enum Sex{MALE,FEMALE,SECRET };printf("%d\n", MALE);//0 printf("%d\n", FEMALE…...
Python案例--养兔子
兔子繁殖问题是一个经典的数学问题,最早由意大利数学家斐波那契在13世纪提出。这个问题不仅在数学领域具有重要意义,还广泛应用于计算机科学、生物学和经济学等领域。本文将通过一个具体的Python程序,深入探讨兔子繁殖问题的建模和实现&#…...
Mybatis——sql映射文件中的增删查改
映射文件内的增删查改 准备工作 准备一张数据表,用于进行数据库的相关操作。新建maven工程, 导入mysql-connector-java和mybatis依赖。新建一个实体类,类的字段要和数据表的数据对应编写接口编写mybatis主配置文件 public class User {priva…...
goframe 博客分类文章模型文档 主要解决关联
goframe 博客文章模型文档 模型结构 (BlogArticleInfoRes) BlogArticleInfoRes 结构体代表系统中的一篇博客文章,包含完整的元数据和内容管理功能。 type BlogArticleInfoRes struct {Id uint orm:"id,primary" json:"id" …...
人工智能在医疗领域的应用有哪些?
人工智能在医疗领域的应用十分广泛,涵盖了诊断、治疗、药物研发等多个环节,以下是一些主要的应用: 医疗影像诊断 疾病识别:通过分析 X 光、CT、MRI 等影像,人工智能算法能够识别出肿瘤、结节、骨折等病变,…...
学习第七十六行
提高github下载速度方法 1.github转码云 2.https://github.com.cnpmjs.org com后面加东西 对于面试笔试,最好方法刷力扣,1000题包进大厂的...
C#System.Threading.Timer定时器意外回收注意事项
System.Threading.Timer定时器使用时会出现意外回收的情况。具体解释如下: 只要在使用 Timer,就必须保留对它的引用。对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。 实例对比测试 实例 定义两个类,其中一个…...
若依基本使用及改造记录
若依框架想必大家都了解得不少,不可否认这是一款及其简便易用的框架。 在某种情况下(比如私活)使用起来可谓是快得一匹。 在这里小兵结合自身实际使用情况,记录一下我对若依框架的使用和改造情况。 一、源码下载 前往码云进行…...
