前言:为什么Python是程序员的初恋?
(敲黑板!)想当年我第一次看到Python代码时差点哭出来——这也太简单了吧!那个折磨我三个月的C语言指针,在Python里居然只需要写个等号就能搞定?今天就带你们扒一扒Python基础语法的底裤(划掉)底层逻辑,保证让小白看完就能撸起袖子写代码!
一、变量:Python世界的便利贴
1.1 变量的诞生
在Java里声明变量得写int age = 25;
,Python直接age = 25
完事!这货就像便利贴,想贴哪就贴哪,随时可以撕下来换个值:
name = "张三" # 现在是个字符串
name = 666 # 下一秒就变数字了!(危险操作请系好安全带)
1.2 命名潜规则
- 能用字母数字下划线,但数字不能开头(比如
2B
这种名字会被打) - 大小写敏感(
age
和Age
是两码事) - 避开关键字(别用
class
这种自带BGM的词汇)
(血泪教训)千万别用l
、O
这种字母当变量名!在等宽字体里,l
和1
、O
和0
简直就是找茬游戏!
二、数据类型:Python的百宝箱
2.1 基础四剑客
类型 | 栗子 | 必杀技 |
---|---|---|
整型(int) | 2023 | 支持超大数计算 |
浮点型(float) | 3.1415 | 自动处理精度 |
字符串(str) | "Hello!" | 三引号支持多行文本 |
布尔(bool) | True/False | 首字母必须大写 |
(冷知识)0.1 + 0.2 == 0.3
在Python里是False
!浮点数精度问题就像泡面包装图——仅供参考!
2.2 容器天团
列表(list) - 万能收纳盒
shopping_list = ["手机", 5999, True] # 什么都能装
shopping_list[1] = "价格保密" # 说改就改
字典(dict) - 查单词神器
user = {
"name": "李四",
"age": 18,
"is_vip": False
}
print(user.get("height", "暂无数据")) # 找不到返回默认值(这个特性真的超实用!)
元组(tuple) - 钢铁直男
colors = ("红", "绿", "蓝")
# colors[0] = "紫" # 这行会报错!元组拒绝修改!
集合(set) - 自动去重机
nums = {1, 2, 2, 3}
print(nums) # 输出{1, 2, 3}(重复的2被无情抛弃)
三、控制结构:代码的交通警察
3.1 条件判断三连
score = 85
if score >= 90:
print("学霸本霸!")
elif 60 <= score < 90:
print("稳如老狗~")
else:
print("补考见...")
(重点注意)Python的缩进不是装饰!是代码逻辑的一部分!建议用4个空格(Tab党请放下手中的键盘)
3.2 循环两兄弟
for循环 - 精准打击
for i in range(5): # 循环5次
print(f"第{i+1}次表白")
# 输出结果:
# 第1次表白
# ...
# 第5次表白(再被拒绝就放弃吧)
while循环 - 死磕到底
count = 0
while count < 3:
print("正在重试...")
count += 1
else:
print("终于成功了!") # else子句是Python的隐藏彩蛋!
四、函数:代码的乐高积木
4.1 基础款函数
def greet(name):
"""打招呼函数(文档字符串超重要)"""
return f"你好,{name}!今天的Bug写完了吗?"
print(greet("王五")) # 输出:你好,王五!...
4.2 参数黑科技
# 默认参数
def order(meal, count=1):
print(f"来{count}份{meal}")
order("麻辣香锅") # 默认1份
order("奶茶", 3) # 来3杯!
# 可变参数
def total(*args):
return sum(args)
print(total(1,2,3)) # 输出6(星号*是打包神器)
4.3 lambda表达式
square = lambda x: x ** 2
print(square(5)) # 输出25(一行流函数真香!)
五、模块:开箱即用的工具箱
5.1 导入的三种姿势
import math # 标准姿势
from datetime import datetime # 精准导入
import numpy as np # 江湖规矩(别名大法好)
5.2 常用模块推荐
math
:数学计算random
:随机数生成os
:系统操作re
:正则表达式json
:数据格式处理
(实用技巧)用dir(模块名)
可以查看模块所有功能,比如dir(math)
会列出所有数学函数!
六、避坑指南(新手必看!)
6.1 可变对象之殇
a = [1,2,3]
b = a
b.append(4)
print(a) # [1,2,3,4](说好的独立个体呢?)
6.2 循环中的陷阱
nums = [1,2,3]
for num in nums:
nums.append(num*2) # 这个循环会永!远!运!行!
6.3 作用域谜题
x = 10
def test():
print(x) # 这里会报错!
x = 20
结语:Python学习的三重境界
- 看山是山:觉得语法简单到飞起
- 看山不是山:遇到装饰器、生成器一脸懵逼
- 看山还是山:终于理解"Pythonic"的真谛
(终极建议)别光看教程!打开你的IDE就是干!遇到报错别慌,记住:Stack Overflow是你永远的家!写够1万行代码之后,你会回来感谢我的(点烟.jpg)