Python入门:从零开始写代码 / Python Basics: Starting from Zero
你有没有想过,有一天你只需要坐在电脑前喝咖啡,就能让电脑自动帮你处理堆积如山的Excel表格?或者写几行代码,就能让电脑帮你自动整理文件夹、发送邮件、生成报告?听起来像是科幻小说?好消息是,这不是科幻,而是Python能够帮你实现的真实场景。
Python是一门让电脑听你话的语言。它不需要你是什么天才程序员,也不需要你有厚厚的学历背景。你只需要认识26个英文字母,懂一点加减乘除,就能学会它。没错,就是这么简单。
为什么是Python?
在开始写代码之前,让我们先回答一个重要问题:为什么是Python,而不是其他编程语言?
答案很简单:Python是人类最友好的编程语言之一。想象一下,如果你要教一个外国人学中文,你会怎么教?是直接扔给他一本《古文观止》,还是从"你好""谢谢""再见"开始?Python就像编程世界里的"你好",它设计之初就考虑到了易学性。
让我们看看数据。2024年Stack Overflow开发者调查显示,Python已经成为最受欢迎的编程语言之一,有超过62%的开发者表示他们使用Python或想要学习Python。在数据科学、人工智能、Web开发、自动化运维等领域,Python都是当之无愧的王者。
但对我们普通人来说,Python最大的价值在于:它能让你的电脑自动完成那些重复性的工作。想象一下,你每天都要把一个Excel表格里的数据复制到另一个表格里,然后发送给不同的同事。这可能只需要几分钟,但一个月下来就是好几个小时,一年下来就是好几天。学会Python之后,你可以写一个脚本,让电脑在半夜自动完成这些工作,而你只需要在第二天早上检查一下结果。
这就是Python办公自动化的魅力——它不是在取代你的工作,而是把你从繁琐重复的任务中解放出来,让你有更多时间去做真正需要思考和创意的事情。
安装Python:让你的电脑学会Python
好了,说了这么多,是时候让我们的电脑学会Python了。安装Python就像给你的电脑装上一个翻译软件,让它能够理解Python这门语言。
在Windows上安装Python
如果你使用的是Windows系统,安装Python非常简单:
1. 打开浏览器,访问Python官网:https://www.python.org 2. 点击顶部菜单的"Downloads"(下载) 3. 网站会自动检测你的操作系统,你只需要点击"Download Python"按钮 4. 下载完成后,双击安装包开始安装
重要提示:在安装过程中,请务必勾选"Add Python to PATH"(将Python添加到系统路径)这个选项。这个选项看起来不起眼,但如果不勾选,后面运行Python的时候可能会遇到各种麻烦。
安装完成后,打开命令提示符(按Win键+R,输入"cmd",回车),输入以下命令验证安装是否成功:
```python python --version ```
如果看到类似"Python 3.12.0"的输出,恭喜你,Python已经成功安装在你的电脑上了。
在Mac上安装Python
Mac系统通常已经预装了Python,但版本可能比较旧。让我们来安装一个最新版本:
1. 打开浏览器,访问Python官网:https://www.python.org 2. 点击"Downloads",下载macOS安装包 3. 下载完成后,双击pkg文件,按照提示完成安装
安装完成后,打开终端(按Command+空格,输入"Terminal",回车),输入:
```python python3 --version ```
如果看到版本号,说明安装成功。
在Linux上安装Python
大多数Linux发行版已经预装了Python。你可以在终端中输入以下命令检查:
```python python3 --version ```
如果没有安装,可以使用包管理器安装。以Ubuntu为例:
```python sudo apt update sudo apt install python3 python3-pip ```
第一个代码:Hello World
安装完Python之后,让我们来写第一个程序。按照编程世界的传统,我们的第一个程序就是让电脑输出"Hello World"——这相当于编程世界里的"你好,世界"。
使用交互式解释器
Python自带一个交互式解释器,你可以把它想象成一个能即时执行命令的"对话窗口"。让我们来试试:
在Windows上,按Win键+R,输入"cmd",回车,打开命令提示符,然后输入:
```python python ```
在Mac或Linux上,打开终端,输入:
```python python3 ```
你会看到类似这样的界面:
```python Python 3.12.0 (tags/v3.12.0:0fb212b, Oct 2 2023, 14:38:09) [MSC v.1934 64 bit (AMD64)] on win32 Type "help" for more information, "copyright" for credits. >>> ```
那个`>>>`就是Python在等待你输入命令的光标。现在,让我们输入第一行代码:
```python print("Hello World!") ```
按下回车,你会看到:
```python >>> print("Hello World!") Hello World! ```
恭喜你!你已经写出了第一个Python程序。虽然只有一行代码,但这代表你正式踏入了编程的大门。
写一个真正的程序文件
交互式解释器很方便,但它更适合做一些快速测试和实验。当我们需要写一个完整的程序时,应该把代码保存到一个文件里。
让我们来试试:
1. 打开记事本(Windows)或TextEdit(Mac) 2. 输入以下代码:
```python
我的第一个Python程序
作者:Python初学者
日期:2024年
name = input("请输入你的名字:") print("你好," + name + "!欢迎来到Python的世界!") ```
3. 把文件保存为`hello.py`(注意:扩展名是.py,不是.txt)
现在,在命令提示符或终端中,进入保存文件的目录,然后运行:
```python python hello.py ```
程序会问你名字,你输入之后,它会向你问好。怎么样,有没有一种"我和电脑对话了"的感觉?
变量:给数据起个名字
在刚才的程序中,我们用到了一个叫`name`的变量。变量是编程中最基础也最重要的概念之一。简单来说,变量就是给数据起的一个名字。
想象一下你的厨房里有很多罐子,每个罐子上都贴了标签,分别写着"盐"、"糖"、"面粉"。这些标签就是变量名,而罐子里的东西就是变量值。有了标签,你不需要打开每个罐子就知道里面装的是什么。
在Python中,创建变量非常简单,不需要任何特殊的声明语句,直接赋值就行:
```python
这是一个整数变量
age = 25
这是一个字符串变量
name = "小明"
这是一个小数变量
height = 1.75
这是一个布尔变量( True表示真,False表示假)
is_student = True ```
变量名有一些规则:
- 必须以字母或下划线开头,不能以数字开头
- 变量名只能包含字母、数字和下划线
- 变量名区分大小写,`Name`和`name`是两个不同的变量
- 不能使用Python的保留字(比如`if`、`for`、`while`这些有特殊含义的词)
变量命名的艺术
好的变量名就像好的标题,能够让人一眼就明白这个变量是干什么的。想象一下,如果你的代码里全是`a`、`b`、`c`这样的变量名,过两天你自己都看不懂了。
来看看这些对比:
```python
不好的命名
x = 25 y = "张三" z = 1.75
好的命名
age = 25 name = "张三" height = 1.75 ```
好的命名应该:
- **见名知意**:看到名字就能猜到用途
- **简洁明了**:不要太长,但也不能太短
- **使用英文或拼音**:Python对英文支持最好,虽然拼音也能用,但英文更专业
数据类型:数据的三种面孔
Python中有几种最基本的数据类型,理解它们就像是掌握语言的基本词汇。
整数(int):就是数学里的整数,没有小数点。 ```python score = 98 year = 2024 population = 8000000000 ```
浮点数(float):就是带小数点的数字。 ```python price = 19.99 temperature = 36.5 pi = 3.14159 ```
字符串(str):就是一串字符,用引号包起来。 ```python greeting = "你好,世界!" email = "user@example.com" code = "ABC123" ```
你可以用`type()`函数来查看一个变量的类型:
```python score = 98 print(type(score)) # 输出:<class 'int'>
price = 19.99 print(type(price)) # 输出:<class 'float'>
name = "小明" print(type(name)) # 输出:<class 'str'> ```
运算符:让计算变简单
运算符就是用来做运算的符号。Python支持我们熟悉的各种数学运算符,用起来就像写数学公式一样自然。
算术运算符
```python a = 10 b = 3
print(a + b) # 加法:13 print(a - b) # 减法:7 print(a * b) # 乘法:30 print(a / b) # 除法:3.333... print(a // b) # 整除:3(取整数部分) print(a % b) # 取余:1(取除不尽的余数) print(a ** b) # 幂运算:1000(10的3次方) ```
这些运算符里,`//`(整除)和`%`(取余)可能对一些人来说比较陌生。让我用分饼干的例子来解释:
想象你有10块饼干,要平均分给3个人。整除运算`10 // 3 = 3`,意思是每个人能分到3整块饼干;取余运算`10 % 3 = 1`,意思是你手里还剩1块饼干。
这两个运算符在编程中非常有用,比如判断一个数是奇数还是偶数:
```python number = 17 if number % 2 == 0: print("这是偶数") else: print("这是奇数") ```
字符串运算符
字符串也可以做"加法"和"乘法",这很有趣:
```python first_name = "张" last_name = "三"
字符串拼接(加法)
full_name = first_name + last_name print(full_name) # 输出:张三
字符串重复(乘法)
divider = "-" * 20 print(divider) # 输出:-------------------- ```
比较运算符和逻辑运算符
比较运算符用来比较两个值,结果是布尔值(True或False):
```python a = 10 b = 20
print(a == b) # 等于:False print(a != b) # 不等于:True print(a > b) # 大于:False print(a < b) # 小于:True print(a >= b) # 大于等于:False print(a <= b) # 小于等于:True ```
逻辑运算符用来组合多个条件:
```python age = 25 has_ticket = True
and(并且):两边都是True才是True
if age >= 18 and has_ticket: print("可以观看电影")
or(或者):只要有一边是True就是True
if age < 18 or age > 60: print("可以享受优惠票")
not(取反):True变False,False变True
if not has_ticket: print("需要买票") ```
条件语句:让程序做选择
你有没有想过,为什么有些程序看起来很"聪明"?比如天气预报程序,它会根据今天是否下雨,决定是提醒你带伞还是涂防晒霜。这种"做选择"的能力,就来自于条件语句。
if语句:最基本的判断
`if`语句是条件语句的基础,它的意思是"如果...就...":
```python temperature = 30
if temperature > 35: print("高温预警!请注意防暑降温") ```
在这个例子里,程序会检查`temperature > 35`这个条件是否成立。如果成立(温度确实高于35度),就执行`print`语句;如果不成立,就什么都不做。
if-else语句:两条路的选择
有的时候,我们希望条件不成立时也能做点什么,这就需要`else`(否则):
```python temperature = 30
if temperature > 35: print("高温预警!请注意防暑降温") else: print("天气还好,可以正常外出") ```
if-elif-else语句:多个条件的判断
有的时候,条件不止两个。比如考试成绩:
```python score = 78
if score >= 90: grade = "A" print("太棒了!你是学霸!") elif score >= 80: grade = "B" print("很好,继续保持!") elif score >= 60: grade = "C" print("及格了,但还有提升空间") else: grade = "D" print("需要加把劲了")
print(f"你的等级是:{grade}") ```
`elif`是"else if"的缩写,意思是"否则如果...就..."。你可以添加任意多个`elif`,来处理各种不同的情况。
嵌套和组合:让判断更复杂
实际应用中,条件往往更复杂,可能需要"嵌套"(条件里面还有条件)或者"组合"(多个条件一起用):
```python
嵌套的例子
age = 20 has_id = True
if age >= 18: if has_id: print("可以购买香烟") else: print("需要出示身份证") else: print("未成年禁止购买香烟")
组合的例子
is_weekend = True has_money = True
if is_weekend and has_money: print("可以去逛街") elif is_weekend and not has_money: print("在家休息吧") elif not is_weekend and has_money: print("下班路上顺便逛逛") else: print("还是早点回家休息吧") ```
循环:让程序重复做事情
循环是编程中最强大的功能之一。想象一下,你需要把1到100的所有数字加起来,如果没有循环,你就要写100行代码;但有了循环,只需要几行就够了。
for循环:已知次数的重复
`for`循环就像你数数一样,知道要数多少次:
```python
计算1到100的和
total = 0 for i in range(1, 101): total = total + i
print(f"1到100的和是:{total}") ```
这里出现了一个新东西:`range(1, 101)`。它是Python内置的一个函数,用来生成一个数字序列。从1开始,到101之前结束(不包括101),也就是1, 2, 3, ..., 100。变量`i`会依次取这些值。
如果你想让i从0开始,可以简写为`range(101)`,它会生成0到100。
while循环:未知次数的重复
`while`循环适合在不确定要重复多少次的情况下使用:
```python
猜数字游戏
import random
secret = random.randint(1, 10) # 生成1到10之间的随机数 guess = 0 attempts = 0
print("我来想一个1到10之间的数字,你来猜猜看!")
while guess != secret: guess = int(input("请输入你猜的数字:")) attempts = attempts + 1
if guess < secret: print("太小了,再试试!") elif guess > secret: print("太大了,再试试!") else: print(f"恭喜你,猜对了!你一共猜了{attempts}次") ```
`while`后面跟着一个条件,只要这个条件为True,循环就会一直执行。这就是为什么叫它"while"——"当...的时候"。
循环的控制:break和continue
有的时候,你可能想在循环进行到一半时就停下来,或者跳过某些特定的循环。Python提供了两个关键字来实现这个:
break:立即退出循环,不管循环条件是否还为True
```python
找第一个能被7整除的数
for i in range(1, 100): if i % 7 == 0: print(f"找到了,第一个能被7整除的数是:{i}") break # 找到就退出循环 ```
continue:跳过本次循环,继续下一次
```python
打印1到10,但跳过3和6
for i in range(1, 11): if i == 3 or