当我谈Python时,我谈些什么?—— 一个新手的环境、变量与“灵魂三问”
最近我开始正式入坑 Python,就像当年第一次打开《哈利波特》一样,既兴奋又有点懵。今天这篇文章,不是一本正经的教程,而是我学习 Python环境搭建、变量、输入输出 这块内容时的心路历程和笔记。
灵魂第一问:我写的代码,电脑怎么就看懂了?
刚开始,我脑子里一直有个疑问:我敲下 print(“Hello World”),电脑屏幕就蹦出这几个字。中间到底发生了什么?电脑认识英文吗?
学完我才知道,电脑只认识 0101 这样的二进制“天书”。我和电脑之间,需要一个 翻译官。这个翻译官就是 Python 解析器。
所以我们首先要做的就是下载python解释器
下载地址:https://www.python.org/downloads/release/python-3124/
然后就是python解释器的破解安装
https://mp.weixin.qq.com/s/irX-TcVZJ8_1UNb0dHoyjA
灵魂第二问:数据像水流,流到哪里去?—— 变量的“容器”哲学
这里用一个特别形象的例子讲变量:杯子。
杯子 1 号:可乐
杯子 2 号:牛奶
怎么让杯子 1 号里变成牛奶,杯子 2 号里变成可乐?直接倒会混啊!我们得再拿一个空杯子(临时变量)来倒腾一下。
# 一开始
cup1 = '可乐'
cup2 = '牛奶'
print(f'交换前:1号杯有{cup1},2号杯有{cup2}')
# 魔法时刻:请出一个临时工 'temp'
temp = cup1 # 把可乐先倒进临时工杯子里
cup1 = cup2 # 把牛奶倒进1号杯
cup2 = temp # 把临时工杯子里的可乐倒进2号杯
print(f'交换后:1号杯有{cup1},2号杯有{cup2}')
抛出疑问: 为什么非要这样?因为计算机处理数据是串行的,一次只能做一件事。cup1 = cup2 之后,cup1 里原来的可乐就被覆盖掉了,彻底丢失。所以必须事先找个地方 temp 暂存一下。
!变量不是数学里的“未知数 X”,它是实实在在的内存空间的标签。给它起名字,就是为了方便找到这块空间里的数据。所以命名规则里强调见名知义(比如用 user_age 而不是 a)和不能用数字开头(不然解析器会懵,这到底是个数字还是个变量名?),都是为了我们自己和翻译官好。在这里插入图片描述
灵魂第三问:为什么 input() 总给我“惊喜”?
这是我在做练习时踩的一个大坑,我相信也是很多新手的痛。
题目很简单:让用户输入年龄,然后判断是否成年。
我自信满满写下:
age = input('请输入您的年龄:')
if age >= 18:
print('您已成年')
else:
print('您未成年')
结果,输入 20,程序报错:TypeError: ‘>=’ not supported between instances of ‘str’ and ‘int’。
啊!为什么?
答案就藏在课件里那句被我忽略的话:所有由 input() 方法获取的数据都是“字符串”类型。
我输入的 20,在 Python 眼里是 “20”,是带了引号的文本,不是数字 20。拿文本跟数字比大小,翻译官当然不干了。
解决方案: 请出 int() 这个类型转换器。
# 正确做法
age_str = input('请输入您的年龄:')
age = int(age_str) # 关键一步:把字符串 "20" 变成整数 20
if age >= 18:
print('您已成年')
else:
print('您未成年')
格式化输出:让打印不再单调
最后,聊聊怎么把话说漂亮。以前我只会 print(‘My name is’, name, ‘and I am’, age, ‘years old.’),一堆逗号,又乱又难维护。
Python 给了一个超好用的“魔法棒”:f-string。
name = 'Alice'
age = 15
height = 1.65
# 旧方法:用 + 拼接,麻烦
print("My name is " + name + ", I am " + str(age) + " years old.")
# 新方法:f-string,简洁又优雅
print(f'My name is {name}, I am {age} years old, and my height is {height:.2f}m.')
# 注意 {height:.2f} 里的 :.2f,意思是保留两位小数哦!
心得: f-string 就像在字符串里挖了几个 {洞},然后 Python 会自动把对应的变量值填进去,还能顺手做点格式化(比如保留小数位)。这感觉,丝滑。
结语
这次学习,从搭建环境开始,到理解变量、数据类型和输入输出,我感觉自己不再是敲代码,而是开始和计算机对话。我知道它怎么存储我给它的小纸条(变量),也知道了它怎么问我问题(input),以及它回答问题时会有什么“小脾气”(类型错误)。
更多推荐


所有评论(0)