Django全栈班v1.04 Python基础语法 20250912 下午
第一次与Python的亲密接触
让我们从最经典的程序开始:向世界问好
print("Hello, World! 🌍")
print("你好,世界!")
print("欢迎来到编程的魔法世界!✨")
输出效果:
关于Python入门程序的冷笑话
其他语言的Hello World,需要导入库,定义类,写main函数…
Python的Hello World,一行代码搞定!
这就是为什么Python被称为“人生苦短,我用Python!”
Java程序员:写了20行代码才输出Hello World
Python程序员:一行代码搞定,剩下的19行时间去喝咖啡~
趣味小游戏:Python自我介绍
print("🐍 大家好,我是Python!")
print("📅 我出生于1991年,今年已经"+str(2025-1991)+"岁了!")
print("👨💻 我的爸爸是Guido van Rossum(人称‘仁慈的独裁者’)")
print("🎯 我的座右铭是:简单胜于复杂!")
print("🌟 我擅长的技能:")
print(" - 网站开发:Django,Flask,FastAPI")
print(" - 数据分析:Numpy,Pandas")
print(" - 人工智能:Tensorflow,PyTorch")
print(" - 自动化脚本:Selinum,requests")
print(" - 游戏开发:Pygame")
print("😊 很高兴认识你,让我们一起编程吧!")
print()
print("💡 小贴士:我的名字来自英国喜剧团体'Monty Python'")
print("🐍 不是因为蟒蛇哟!虽然我的logo是蛇...")
输出结果:
Python特性1简洁明了
Python风格:简洁优雅
name = "小明"
age = 18
print(f"我叫{name},今年{age}岁")
对比Java可能需要:
public class HelloWorld{public static void main(String[] args){String name = "小明";int age = 18;System.out.println("我叫" + name + ", 今年" + age + "岁");}
}
Python特性2无需分号
# Python 不需要分号结尾
print("第一行")
print("第二行")
print("第三行")# 当然,你非要加分号也可以,但是会被其他程序员嘲笑
print("我是强迫症患者");
print("我就是要加分号");
输出结果:
Python特性3动态类型
变量可以随时改变类型,就像变色龙一样!
# 数字类型
magic_variable = 33
print(f"我现在是数字:{magic_variable}")# 改为字符串
magic_variable = "你好"
print(f"我现在是字符串:{magic_variable}")# 改为列表
magic_variable = [1,2,3]
print(f"我现在是列表:{magic_variable}")# 改为布尔值
magic_variable = True
print(f"我现在是布尔值:{magic_variable}")
输出结果:
其他语言:你敢这样做?编译器分分钟教你做人!!!
Python:随便变,我都支持!!!
练习:个性化问候
任务:创建一个个性化的问候程序
要求:
- 输出你的姓名
- 输出你的年龄
- 输出你的爱好
- 使用emoji让输出更有趣
name = "张大鹏"
age = 33
hobies = ["编程", "读书", "看电影"]print(f"👨💻 大家好,我是 {name},今年{age}岁了。")
print(f"😊 我的爱好是:{hobies}")
输出结果:
缩进是Python的灵魂
Python用缩进来表示代码块,这就像代码的层次结构。
程序员笑话:
为什么Python程序员的代码总是很整齐?
因为,如果不整齐,程序就跑不了!!!
其他语言:缩进是为了美观
Python:缩进是为了生存
C语言程序员:我的大括号哪去了?
Python:谁需要大括号?缩进就够了
缩进游戏:代码金字塔
让我们用缩进创建一个代码金字塔:
print("欢迎来到缩进金字塔!")
print("这是一个关于层次的故事...")level = 1
if level >= 1:print("第一层:我学会了基础缩进")print("这里是第一层的世界")if level >= 2:print("第二层:我掌握了嵌套缩进")print("层次感越来越强了")if level >= 3:print("第三层:我是缩进大师")print("代码结构清晰可见")if level >= 4:print("第四层:缩进艺术的巅峰")print("代码像诗一样优美")print("金字塔建造完成")
输出结果:
缩进规则讲解
规则 | 说明 | 示例 | 推荐指数 |
---|---|---|---|
4个空格 | Python官方推荐 | print("Hello") | ⭐⭐⭐⭐⭐ |
2个空格 | 节省空间 | print("Hello") | ⭐⭐⭐ |
Tab键 | 简单快捷 | print("Hello") | ⭐⭐ |
混合使用 | 绝对禁止! | print("Hello") | ❌❌❌ |
你写完一行代码以后,如果换行需要缩进,那么你按一下tab键就可以了。
缩进错误1:缩进不一致
错误示例:
if True:print("第一行用4个空格")print("第二行用2个空格") # IndentationError
正确示例:
if True:print("第一行用4个空格")print("第二行用4个空格")
缩进错误2:忘记缩进
错误示例:
if True:
print("忘记缩进了") # IndentationError
正确示例:
if True:print("记得缩进")
缩进错误3:多余的缩进
错误示例:
print("这是顶级代码")print("不需要缩进") # IndentationError
正确示例:
print("顶级代码")
print("同样是顶级代码")
练习:修复缩进错误
任务:修复下面代码的缩进错误
def broken_code():
print("这是一个有问题的函数")
x = 5
if x > 0:
print("x是正数")
if x > 10:
print("x大于10")
else:
print("x小于等于10")
else:
print("x不是正数")
修复后代码:
def broken_code():print("这是一个有问题的函数")x = 5if x > 0:print("x是正数")if x > 10:print("x大于10")else:print("x小于等于10")else:print("x不是正数")
什么是变量
变量就像是程序的记忆盒子,可以存储各种信息。
程序员笑话:变量就像女朋友
- 你给她起个名字(只有你们两个能理解的比较亲密的称呼)
- 她会记住你告诉她的事情
- 她的心情(值)会变化
- 如果你忘记她的名字,程序就崩了
- 不同的是,变量不会因为你有其他变量而生气
变量的基本用法
# 字符串变量
name = "小明"
# 整数变量
age = 18
# 浮点数变量
height = 175.5
# 布尔变量
is_student = Trueprint(f"姓名:{name}")
print(f"年龄:{age}")
print(f"身高:{height}")
print(f"是否为学生:{is_student}")# 变量的值可以修改
age = 19 # 过完生日了
print(f"新的年龄:{age}")
Python变量命名规则
规则 | 说明 | 正确示例 | 错误示例 |
---|---|---|---|
字母开头 | 必须以字母或下划线开头 | name , _private | 2name , #name |
字母数字下划线 | 只能包含字母、数字、下划线 | user_name , age2 | user-name , age! |
区分大小写 | Name和name是不同变量 | Name , name | - |
不能是关键字 | 不能使用Python保留字 | my_class | class , if |
Python变量命名风格对比
蛇形命名法:变量有有意义的英文单词组成,单词之间用下划线进行连接
蛇形命名法是Python推荐的命名法
user_name = "张三"
total_score = 95
is_logged_in = True
驼峰命名法:变量有有意义的单词组成,每个单词首字母大小。
如果第一个单词的首字母大写了,叫做大驼峰命名法。如果第一个单词的首字母没有大写,叫做小驼峰命名法。
userName = "张三"
totalScore = 95
isLoggedIn = True
不要使用无无意义的单个字母作为变量:
a = "张三"
不要拼接没有意义的数字:
userName123 = "张三"
不要使用双下划线拼接,双下划线容易混淆:
user__name = "张三"
命名游戏:变量名命名大师
# 🎯 变量命名大师挑战
print("🎮 欢迎来到变量命名大师挑战!")
print("🎯 为以下场景选择最佳的变量名")scenarios = [{"场景": "存储用户的电子邮箱地址","选项": ["email", "e", "user_email", "mail_address"],"最佳": "user_email"},{"场景": "记录学生的考试成绩","选项": ["score", "s", "exam_score", "result"],"最佳": "exam_score"},{"场景": "判断用户是否为VIP会员","选项": ["vip", "is_vip", "vip_status", "member"],"最佳": "is_vip"}
]for i, scenario in enumerate(scenarios, 1):print(f"\n📋 场景 {i}:{scenario['场景']}")print("选项:", " | ".join(scenario['选项']))print(f"💡 最佳答案:{scenario['最佳']}")print(f"🎯 原因:清晰、具体、符合Python命名规范")