惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hacker News: Ask HN
Hacker News: Ask HN
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Schneier on Security
Schneier on Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Full Disclosure
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Proofpoint News Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
罗磊的独立博客
S
Schneier on Security
H
Hacker News: Front Page
H
Heimdal Security Blog
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
P
Privacy International News Feed
博客园 - 三生石上(FineUI控件)
P
Palo Alto Networks Blog
PCI Perspectives
PCI Perspectives
NISL@THU
NISL@THU
T
Troy Hunt's Blog
Project Zero
Project Zero
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
小众软件
小众软件
月光博客
月光博客
Google DeepMind News
Google DeepMind News
W
WeLiveSecurity
C
Cisco Blogs
腾讯CDC
Blog — PlanetScale
Blog — PlanetScale
I
Intezer
I
InfoQ
WordPress大学
WordPress大学
F
Fortinet All Blogs
T
Threat Research - Cisco Blogs
N
News and Events Feed by Topic
T
Tor Project blog
N
News | PayPal Newsroom
A
Arctic Wolf
有赞技术团队
有赞技术团队
博客园 - Franky
Vercel News
Vercel News
宝玉的分享
宝玉的分享
Application and Cybersecurity Blog
Application and Cybersecurity Blog

qlAD 的技术笔记

2026 年 6 月 7 日 -- 我有社交恐惧症,恐惧外面到处雷电风雨声(大学生活记录) 手把手带你实现哈希表(C/C++ 数据结构) 手把手带你实现图结构(C/C++ 数据结构) 手把手带你实现二叉树(C/C++ 数据结构) 手把手带你实现栈和队列(C/C++ 数据结构) 手把手带你实现单/双链表(C/C++ 数据结构) 手把手带你实现动态数组(C/C++ 数据结构) 2026 年 1 月 2 日 -- 我不怕冷,因为我内心炽热 【2025 年度总结】(大学生活记录) 2025 年 12 月 2 日 -- 省电模式:大一 100 天耗电日志(大学生活记录) 蓝桥杯备赛第一期 —— 枚举与模拟 2025 年 11 月 3 日 -- 用爱发电、大爱无私(大学生活记录) 使用循环嵌套输出规则图形找规律讲解(嵌套循环-图形输出) 2025 年 10 月 1 日 -- 二字开头第一年的生日记录及感悟随笔(大学生活记录) Python 初级 04 -- 目前为止 Python 中你们做题可能会遇到的问题以及七七八八 2025 年 9 月 24 日 -- 开学后的第一课及军训汇演(大学生活记录) Python 初级 03 -- 程序设计的三种结构之选择结构和循环结构 2025 年 9 月 17 日 -- 大连 2025 国际大体联足球世界杯(大学生活记录) Python 初级 01 -- 初识编程、理解计算机语言及程序运行方式 适合大一新生学习编程的前一课 -- 编程先导(编程的本质) 2025 年 9 月 12 日 -- 三天军训感受以及一些七七八八(大学生活记录) 2025 年 9 月 9 日 -- 体检、军训前的准备(大学生活记录) 适合大一新生的计算机基础知识 -- 个人认为足够版 2025 年 9 月 7 日 -- 既来之、则安之(大学生活记录) C++ 程序的内存布局 —— 代码区、全局/静态区、栈区和堆区 联想小新 pro 16 2025 开箱记录:跳过联网、office 激活、更换 win 11 专业版 R 语言中的数学函数 计算机软件著作权申请过程记录 从聚类到回归:用 Python 解析鸢尾花数据集的完整数据科学流程 条件概率、全概率与贝叶斯公式 —— 一篇文章带你死磕概率公式 高中化学物质反应规则表 —— 方程式之间也有规律可循 集合元素性质、关系、子集公式、基本运算 —— 一篇文章带你全方面死磕集合 如何为你的项目选择合适的许可证 -- 全方位指南 解释 3:1 和 9:3:3:1 的详细来源 —— 建立减数分裂与孟德尔遗传学定律之间的联系 重新设置磁盘分区以及 Btrfs 子卷(subvolume)布局的无损方案 零基础实战:用 Docker 启动 dockermailserver 绕过 25 端口封锁搭建个人邮箱服务器 基于 GitHub Actions + OSS 的自托管 APT 仓库全面指南 如何在安装 Debian 时配置 Btrfs 子卷 | 详细分步指南 一个合格的个人网站站长应该知道哪些事? CSS 基础入门教程 —— 选择器、样式声明 HTML 基础入门 —— 基本结构和语法 给博客添加一个文章数据统计的页面 Git 学习笔记(命令备忘表) Anki 牌组选项详细解释与设置 手动编译带有 KernelSU 的 OnePlus 6 内核 安卓类原生系统补全计划 —— PixelExperience(一加 OnePlus) 如何使用 use-sound 为 React 应用添加声音效果 标准化项目的 GitHub Flow 工作流 如何搭建设计自己的博客网站? 使用安知鱼主题同款的 Twikoo 评论组件 配置 GitHub Actions 实现自动化提交百度收录 第00期 | 环境搭建 & 递归 (一) | 基本数列递归 逐字符讲解 C 语言 HelloWorld 程序 2023 年回顾 🤟 Anki:记忆神器,助你高效学习 Gentoo 学习笔记 美化你的 PixelExperience OS Markdown 语法指南 搭建 OneDrive 目录索引 为什么用 65 表示大写字母 A
Python 初级 02 -- 基础的数据类型和输入输出
qlAD · 2025-09-20 · via qlAD 的技术笔记

cover

一、基础数据类型

数据 + 算法 = 程序,数据是程序的核心,数据类型是对数据的分类和定义。比如说你看见的游戏金币是一个整数,游戏角色的名字是一个字符串,这些都是数据类型的体现。

1、整数、浮点数、字符串

Python 中常见的数据类型有:整数(int)、浮点数(float)、字符串(str)

  1. 整数就是我们生活中常见的数字,比如 -1、0、111、9999。

  2. 浮点数就是小数,比如 -1.1、1.111、9999.9999。

  3. 字符串就是一串字符,可以是字母、数字、符号等,比如 "Hello, World!"、"Python3.11"、"1.1"、"10"。

注意:字符串中的字符必须用引号括起来,否则 Python 会认为这是变量。

2、变量

变量是程序中存储数据的地方,变量可以保存任何类型的数据,比如整数、浮点数、字符串等等。并且变量顾名思义,就是值能发生改变的量。

可以将变量理解成一个盒子,盒子中可以装数据

变量的使用格式:变量名 = 值

# 定义一个整数变量
age = 18

# 定义一个浮点数变量
height = 1.75

# 定义一个字符串变量
name = "Alice"

变量中的值可以发生改变,并且这种改变是一种覆盖赋值

覆盖赋值

# 定义一个表示年龄的整数变量
age = 18

# 直接改变 age 的值
age = 19

# 通过运算来改变 age 的值,并赋值给 new_age
new_age = age + 1

# 通过运算来改变 age 的值,并赋值给 age 自身
age = age + 1

变量的名字又称标识符,命名规则如下:

  1. 第一个字符必须以字母(a-z, A-Z)或下划线 _
  2. 标识符的其他的部分由字母、数字和下划线组成。
  3. 标识符对大小写敏感,count 和 Count 是不同的标识符。
  4. 标识符对长度无硬性限制,但建议保持简洁(一般不超过 20 个字符)。
  5. 禁止使用保留关键字,如 if、for、class 等不能作为标识符。

建议变量名用「小写字母 + 下划线」(蛇形命名法),如 user_name、total_score(而非 username 或 TotalScore);

Python 中使用 # 来进行注释,# 后面的内容会被 Python 忽略,不会被执行。

3、初识 print() 函数

了解了常见的数据类型后,怎么使用这个数据呢?

最简单的方法就是直接打印输出,print() 函数是 Python 中用于输出信息到控制台的函数,可以输出字符串、数字、变量等。

# 输出字符串
print("Hello, World!")

# 输出整数
print(123)

# 输出变量
name = "Alice"
print(name)

控制台

当然,你也可以输出运算

字符串可用单引号 ('Python')、双引号 ("Python") 或 三引号 ('''多行字符串'''/"""多行字符串""") 包裹: 单 / 双引号无本质区别,可嵌套使用(如 "He said 'Hello'"); 三引号用于多行文本(如段落、代码注释),支持直接换行。

# 三引号示例(多行字符串)
poem = '''床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。'''
print(poem)  # 直接输出换行格式

4、算数运算符

那接下来就让我们尝试一些更多的运算吧。

算数运算符是 Python 中最常用的运算符,用于对数字进行运算。和数学中的运算符一样,Python 中的算数运算符有加(+)、减(-)、乘(*)、除(/)等。

现在有两个变量 a = 10b = 21,我们可以进行如下运算:

运算符描述示例
+a + b = 31
-a - b = -11
*a * b = 210
/b / a = 2.1
%取余b % a = 1
**a ** b = 100000000000000000000
//取整除9 // 2 = 4

其中表格 //(取整除)和 %(取余)对新手易混淆

🌟 易错点提示:

//(取整除):结果向下取整(无论正负),如 9//2=4,-9//2=-5(而非 -4);

%(取余):结果符号与「除数」一致,如 9%2=1,9%-2=-1,-9%2=1。

优先级:和数学中一样先算乘除后加减,python 中的算数运算符从高到低的优先级为(同一行优先级相同即从左到右依次计算):

  1. ** 幂运算
  2. * 乘、/ 除、% 取余、// 取整除
  3. + 加、-

举个栗子:

# 定义两个变量
result = (3 + 4 * 2 - 1) ** 2 / (5 % 3) + 10 // 3
print(result)

在编程中,输入输出是非常重要的操作。输入是指从外部获取数据,输出是指将数据展示给用户。另外输入的英语是 input,输出的英语是 output。

和之前讲过的函数一样,input() 函数和 print() 函数也可以接受参数,函数的使用规则格式被叫做语法,下面是详细介绍:

1、print() 函数

print() 函数是 Python 中用于输出信息到控制台的函数,可以输出字符串、数字、变量等。语法格式如下:

print() 函数

示例:

# 输出字符串
print("Hello, World!")

# 输出数字
print(123)

# 输出运算
print(1 + 1)

# 输出多个变量
name = "Alice"
age = 18
print("Name:", name, "Age:", age)

# 输出多个数据和变量,并自定义分隔符
print("Name:", name, "Age:", age, sep=" | ")

# 自定义结束符
print("Hello, World!")
print("Hello, World!")
print("Hello, World!", end="")
print("Hello, World!")

输出结果:

print() 函数输出结果

其中输出多个数据还可用 f-string 格式化输出(更易读),语法:print(f"文字{变量}文字")

name = "Alice"
age = 18
# 原写法
print("Name:", name, "Age:", age)  # 输出:Name: Alice Age: 18
# f-string 写法(更直观)
print(f"我的名字是 {name},今年 {age} 岁")  # 输出:我的名字是 Alice,今年 18 岁
# 支持运算和格式控制(如保留2位小数)
height = 1.753
print(f"我的身高是 {height:.2f} 米")  # 输出:我的身高是 1.75 米

2、input() 函数

input() 函数是 Python 中用于从控制台获取输入的函数,语法格式如下:

input() 函数

那么我们输入的数据到哪去了?怎么保存我们输入的数据呢?

输入的数据会保存在变量中,比如:

name = input("请输入你的名字:")
print("Hello,", name)

input() 函数可以同时接收多个数据并保存到多个变量中,比如:

name, age = input("请输入你的名字和年龄,用空格分隔:").split()
print("Name:", name, "Age:", age)

其中的 split() 函数是字符串的方法,用于将字符串按照指定的分隔符进行分割,默认是空格。如果你输入 "Alice 18",那么 name 就是 "Alice",age 就是 "18"。

但是如果不写 split() 函数,input() 函数只能接收一个数据并保存到一个变量中,比如:

name, age = input("请输入你的名字和年龄,用空格分隔:")
print("Name:", name, "Age:", age)

那么当你输入 "Alice 18" 的时候,Python 会报错,因为 input() 函数只能接收一个数据并保存到一个变量中,而你试图将两个数据保存到两个变量中。

现在来写一个简单的计算三角形面积的例子吧。提示三角形面积海伦公式:S=p(p−a)(p−b)(p−c)S = \sqrt{p(p-a)(p-b)(p-c)}

其中 p = (a + b + c) / 2,a、b、c 分别是三角形的三条边。

input() 默认接收的是字符串

关键提醒:input () 无论输入什么,结果都是字符串!必须手动转换为目标类型(int/float)才能做数值运算。

完整代码示例:

import math  # 导入数学模块,用于 sqrt() 函数求平方根

# 1. 输入三条边(转换为浮点数,支持小数)
a = float(input("请输入三角形第一条边:"))
b = float(input("请输入三角形第二条边:"))
c = float(input("请输入三角形第三条边:"))

# 2. 计算半周长 p
p = (a + b + c) / 2

# 3. 用海伦公式计算面积
area = math.sqrt(p * (p - a) * (p - b) * (p - c))

# 4. 输出结果(保留 3 位小数)
print(f"三角形面积为:{area:.3f}")

三、可能的问题

1、什么是控制台

控制台是 Python 运行时环境提供的一个输入输出的界面,用于接收用户输入,并显示输出结果。刚开始接触 Python 的时候,都是在又黑又丑的控制台输入代码,然后运行代码,查看输出结果。

2、Python 的动态数据类型

Python 的数据类型不是动态的吗?为什么计算海伦公式的时候没有自动转换?

字符串的加法

Python 的数据类型是动态的,动态指运行时才确定变量类型,但仍需显式转换才能做数值运算。也就是说,Python 会根据数据的内容自动确定数据的类型。可以使用 type() 函数查看数据类型。

a = 10
b = "10"
print(type(a))
print(type(b))
#print(a + b)
print(a + int(b))

但是,Python 的数据类型转换不是自动的,需要我们手动进行转换。

而且 input() 函数获取的输入数据类型都是字符串类型,字符串也是有加法的,字符串的加法是拼接字符串,而不是数字的加法。

转换案例:

# 错误:直接用字符串做数值运算(新手常犯)
age = input("请输入年龄:")  # 输入 18,age 实际是 "18"(字符串)
print(age + 1)  # 报错:字符串不能和整数相加

# 正确:先转换为 int 类型
age = int(input("请输入年龄:"))  # 输入 18,age 变为 18(整数)
print(age + 1)  # 输出 19(正确)

# 若输入小数(如身高),用 float 转换
height = float(input("请输入身高(米):"))  # 输入 1.75,height 是 1.75(浮点数)
print(height * 2)  # 输出 3.5(正确)

3、Python 如何解决报错

在控制台的输出中,会在你的错误的代码下方用 ~~~^^^ 标出,然后报错一般会出现在这段代码的附近

Python 报错

接下来一般会提示你错误的类型和错误信息,比如:ValueError 等

四、作业

1、基础巩固

单选题:下列哪个变量名是非法的?

  1. _score

  2. 2ndName

  3. level_1

  4. MAX_SPEED

2、概念理解

判断题:Python 中 "5" + 5 会输出 10,对吗?如果不对,请说明原因并给出计算 10 的正确写法。

3、编程实践

编写程序:让用户输入圆的半径(浮点数),输出面积和周长(保留 2 位小数)。

提示:

  1. π 可用 3.1415926;
  2. 公式:面积 = π × 半径²(用 radius ** 2 表示平方),周长 = 2 × π × 半径;
  3. 保留 2 位小数可参考 f-string 格式 {变量:.2f}

4、综合应用

没有学过控制结构可不做

海伦公式升级版:输入三条边,先判断能否构成三角形,若能则输出面积(保留 3 位小数),否则输出“不能构成三角形”。