百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python 入门必备:基础语法_python基础语法合集下载

itomcoil 2025-10-02 20:41 13 浏览

一、Python 字面量:数据的 “原始表达”

(一)什么是字面量?

字面量是代码中直接表示固定值的符号,无需计算即可明确其值。比如写print(100)时,100就是字面量,运行后直接输出该值。

(二)常见字面量类型(附示例)

1. 数值字面量

涵盖整数、浮点数、复数,可直接参与运算:

# 整数运算:计算两个数的和
print(42 + 18)  # 输出:60

# 浮点数运算:计算矩形面积(长3.5,宽2.2)
area = 3.5 * 2.2
print(area)  # 输出:7.7

# 复数运算:求复数的共轭
complex_num = 1 + 2j
print(complex_num.conjugate())  # 输出:(1-2j)

2. 字符串字面量

支持多种包裹方式,满足不同场景需求:

# 单引号:包含双引号的字符串
print('He said "Python is easy"')  # 输出:He said "Python is easy"

# 双引号:包含单引号的字符串
print("I'm a Python learner")  # 输出:I'm a Python learner

# 三引号:多行字符串+格式化
name = "Alice"
intro = f'''
姓名:{name}
年龄:25
职业:程序员
'''
print(intro)  # 输出格式化后的多行内容

# 原始字符串:避免转义(如文件路径)
print(r"C:\Users\Desktop\test.txt")  # 输出:C:\Users\Desktop\test.txt

3. 布尔字面量

主要用于逻辑判断:

# 判断数值是否大于0
is_positive = 10 > 0
print(is_positive)  # 输出:True

# 判断字符串是否为空
is_empty = "" == ""
print(is_empty)  # 输出:True

4. 容器字面量

直接定义集合类数据,支持快速访问:

# 列表:存储多个类型数据,可修改
fruits = ["apple", "banana", 3]
print(fruits[1])  # 输出:banana(按索引访问)

# 元组:存储固定数据,不可修改
point = (10, 20)
print(point[0])  # 输出:10

# 字典:按键取值,适合存储关联数据
student = {"name": "Bob", "score": 90}
print(student["score"])  # 输出:90

# 集合:自动去重,适合筛选唯一值
nums = {1, 2, 2, 3}
print(nums)  # 输出:{1, 2, 3}

二、注释:代码的 “说明书”

注释不影响代码运行,但能让他人(及未来的你)快速理解逻辑,示例如下:

(一)单行注释:标注关键步骤

# 功能:计算斐波那契数列前10项
fib = [0, 1]  # 初始化数列前两项
for i in range(2, 10):  # 从第3项开始计算(索引2到9)
    next_num = fib[i-1] + fib[i-2]  # 前两项之和为当前项
    fib.append(next_num)  # 将计算结果加入列表
print(fib)  # 输出:[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

(二)多行注释:说明复杂模块

'''
模块名称:简易计算器
功能:实现两个数的加、减、乘、除运算
参数说明:
   a: 第一个运算数(int/float)
   b: 第二个运算数(int/float,除法时不可为0)
返回值:运算结果(int/float)
'''
def calculator(a, b, op):
    if op == "+":
        return a + b
    elif op == "-":
        return a - b
    elif op == "*":
        return a * b
    elif op == "/":
        if b == 0:
            return "错误:除数不能为0"
        return a / b
# 调用示例
print(calculator(8, 2, "/"))  # 输出:4.0

三、变量:数据的 “存储容器”

变量可动态存储数据,赋值即创建,关键示例如下:

(一)基础赋值与类型变化

# 定义整数变量
age = 25
print(age, type(age))  # 输出:25 <class 'int'>

# 修改变量值与类型(Python支持动态类型)
age = "25岁"
print(age, type(age))  # 输出:25岁 <class 'str'>

(二)实用赋值技巧

# 1. 链式赋值:多个变量指向同一值
x = y = z = 0
print(x, y, z)  # 输出:0 0 0

# 2. 解包赋值:快速分配多个值
# 列表解包
name, score = ["Charlie", 85]
print(f"{name}的分数是{score}")  # 输出:Charlie的分数是85
# 元组解包(可省略括号)
a, b = (10, 20)
print(a + b)  # 输出:30

# 3. 交换变量(无需临时变量)
a, b = b, a
print(a, b)  # 输出:20 10

四、数据类型:数据的 “身份标识”

除了基础定义,更重要的是掌握类型的核心操作,示例如下:

(一)基础数据类型操作

# 1. 整数(int):支持大数运算
big_num = 10 ** 2  # 10的2次方
print(big_num)  # 输出:10000

# 2. 浮点数(float):注意精度问题
print(0.1 + 0.2)  # 输出:0.30000000000000004(浮点数精度限制)
# 解决精度问题:使用round()
print(round(0.1 + 0.2, 1))  # 输出:0.3

# 3. 字符串(str):常用操作
s = "python"
# 大小写转换
print(s.upper())  # 输出:PYTHON
# 切片(获取子串)
print(s[1:4])  # 输出:yth(索引1到3,左闭右开)
# 替换
print(s.replace("p", "P"))  # 输出:Python

# 4. 布尔值(bool):与数字的转换
print(int(True), int(False))  # 输出:1 0
print(bool(0), bool(1))  # 输出:False True
print(bool(""), bool("abc"))  # 输出:False True(空字符串为False,非空为True)

(二)容器数据类型操作

# 1. 列表(list):增删改查
my_list = [1, 2, 3]
# 增
my_list.append(4)  # 末尾添加
print(my_list)  # 输出:[1, 2, 3, 4]
# 删
del my_list[1]  # 删除索引1的元素
print(my_list)  # 输出:[1, 3, 4]
# 改
my_list[0] = 0
print(my_list)  # 输出:[0, 3, 4]

# 2. 字典(dict):键值对操作
my_dict = {"color": "red", "size": "M"}
# 查
print(my_dict.get("color"))  # 输出:red(推荐用get,键不存在时返回None)
# 增
my_dict["price"] = 99
print(my_dict)  # 输出:{'color': 'red', 'size': 'M', 'price': 99}
# 删
my_dict.pop("size")
print(my_dict)  # 输出:{'color': 'red', 'price': 99}

# 3. 集合(set):去重与数学运算
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 去重
duplicate_nums = [2, 2, 3, 3, 4]
unique_nums = set(duplicate_nums)
print(unique_nums)  # 输出:{2, 3, 4}
# 交集(共有的元素)
print(set1 & set2)  # 输出:{3}
# 并集(所有元素)
print(set1 | set2)  # 输出:{1, 2, 3, 4, 5}

五、数据类型转换:数据的 “变身术”

转换需注意兼容性,示例覆盖常见场景:

(一)显式转换(手动控制)

# 1. 字符串转数字(需确保字符串是合法数字)
str_num1 = "123"
int_num = int(str_num1)
print(int_num + 10)  # 输出:133
str_num2 = "45.6"
float_num = float(str_num2)
print(float_num * 2)  # 输出:91.2
# 错误示例:非数字字符串无法转换
# int("abc")  # 运行报错:ValueError

# 2. 数字转字符串(拼接必备)
age = 28
age_str = str(age)
print("我的年龄是:" + age_str + "岁")  # 输出:我的年龄是:28岁

# 3. 容器类型转换
# 元组转列表(方便修改)
my_tuple = (1, 2, 3)
my_list = list(my_tuple)
my_list.append(4)
print(my_list)  # 输出:[1, 2, 3, 4]
# 列表转字典(需是键值对结构)
key_list = ["name", "age"]
value_list = ["David", 30]
my_dict = dict(zip(key_list, value_list))
print(my_dict)  # 输出:{'name': 'David', 'age': 30}

(二)隐式转换(Python 自动处理)

# 1. 算术运算中的转换(int → float)
print(5 + 3.2)  # 输出:8.2(整数5自动转为float 5.0)
print(10 / 2)   # 输出:5.0(除法结果默认是float)

# 2. 逻辑判断中的转换
# 非零数值 → True,零 → False
if 0:
    print("执行")
else:
    print("不执行")  # 输出:不执行(0转为False)
# 非空容器 → True,空容器 → False
if [1, 2]:
    print("列表非空")  # 输出:列表非空
if {}:
    print("字典非空")
else:
    print("字典为空")  # 输出:字典为空

六、标识符:代码元素的 “姓名”

标识符是变量、函数、类的名称,需遵守规则,查看 Python 关键字(避免踩坑)

import keyword
# 打印所有关键字
print(keyword.kwlist)
# 输出:['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

七、运算符:代码的 “数学公式”

运算符是实现计算与判断的核心,重点示例如下:

(一)算术运算符(易混淆场景)

# 1. 整除(//):向下取整
print(7 // 3)   # 输出:2(7÷3=2.333,向下取整为2)
print(-7 // 3)  # 输出:-3(-7÷3≈-2.333,向下取整为-3)

# 2. 取模(%):求余数(结果符号与除数一致)
print(7 % 3)    # 输出:1(7=3×2+1)
print(-7 % 3)   # 输出:2(-7=3×(-3)+2,除数3为正,结果为正)

# 3. 幂运算(**)
print(2 ** 3)   # 输出:8(2×2×2)
print(10 ** -2) # 输出:0.01(1/10^2)

(二)赋值运算符(高效操作)

# 1. 复合赋值
a = 5
a += 3  # 等价于 a = a + 3
print(a)  # 输出:8
a *= 2  # 等价于 a = a * 2
print(a)  # 输出:16

# 2. 海象运算符(:=):Python 3.8+,表达式内赋值
# 场景:读取输入并判断(避免重复调用input())
while (user_input := input("请输入内容(输入'quit'退出):")) != "quit":
    print(f"你输入的是:{user_input}")
# 运行效果:
# 请输入内容(输入'quit'退出):hello
# 你输入的是:hello
# 请输入内容(输入'quit'退出):quit(程序退出)

(三)比较与逻辑运算符(实用场景)

# 1. 链式比较(简洁判断范围)
x = 5
print(1 < x < 10)  # 输出:True(等价于 1 < x and x < 10)
print(10 > x >= 5) # 输出:True(等价于 10 > x and x >= 5)

# 2. 逻辑运算符(短路求值)
# and:前为False时,不计算后值
print(False and 1/0)  # 输出:False(1/0未执行,避免报错)
# or:前为True时,不计算后值
print(True or 1/0)   # 输出:True(1/0未执行)

# 3. 实际应用:判断成绩等级
score = 88
if score >= 90:
    print("优秀")
elif 80 <= score < 90:
    print("良好")  # 输出:良好
elif 60 <= score < 80:
    print("及格")
else:
    print("不及格")

(四)成员与身份运算符(关键区别)

# 1. 成员运算符(in/not in)
fruits = ["apple", "banana"]
print("apple" in fruits)    # 输出:True
print("orange" not in fruits) # 输出:True

# 2. 身份运算符(is/is not):判断是否为同一对象
# 注意:小整数池(-5~256)内的整数会复用内存地址
a = 10
b = 10
print(a == b)  # 输出:True(值相等)
print(a is b)  # 输出:True(内存地址相同)
# 超出小整数池的整数
c = 1000
d = 1000
print(c == d)  # 输出:True(值相等)
print(c is d)  # 输出:False(内存地址不同)
# 列表示例(即使值相同,也是不同对象)
list1 = [1, 2]
list2 = [1, 2]
print(list1 == list2)  # 输出:True(值相等)
print(list1 is list2)  # 输出:False(内存地址不同)

相关推荐

python创建文件夹,轻松搞定,喝咖啡去了

最近经常在录视频课程,一个课程下面往往有许多小课,需要分多个文件夹来放视频、PPT和案例,这下可好了,一个一个手工创建,手酸了都做不完。别急,来段PYTHON代码,轻松搞定,喝咖啡去了!import...

如何编写第一个Python程序_pycharm写第一个python程序

一、第一个python程序[掌握]python:python解释器,将python代码解释成计算机认识的语言pycharm:IDE(集成开发环境),写代码的一个软件,集成了写代码,...

Python文件怎么打包为exe程序?_python3.8打包成exe文件

PyInstaller是一个Python应用程序打包工具,它可以将Python程序打包为单个独立可执行文件。要使用PyInstaller打包Python程序,需要在命令行中使用py...

官方的Python环境_python环境版本

Python是一种解释型编程开发语言,根据Python语法编写出来的程序,需要经过Python解释器来进行执行。打开Python官网(https://www.python.org),找到下载页面,选择...

[编程基础] Python配置文件读取库ConfigParser总结

PythonConfigParser教程显示了如何使用ConfigParser在Python中使用配置文件。文章目录1介绍1.1PythonConfigParser读取文件1.2Python...

Python打包exe软件,用这个库真的很容易

初学Python的人会觉得开发一个exe软件非常复杂,其实不然,从.py到.exe文件的过程很简单。你甚至可以在一天之内用Python开发一个能正常运行的exe软件,因为Python有专门exe打包库...

2025 PyInstaller 打包说明(中文指南),python 打包成exe 都在这里

点赞标记,明天就能用上这几个技巧!linux运维、shell、python、网络爬虫、数据采集等定定做,请私信。。。PyInstaller打包说明(中文指南)下面按准备→基本使用→常用...

Python自动化办公应用学习笔记40—文件路径2

4.特殊路径操作用户主目录·获取当前用户的主目录路径非常常用:frompathlibimportPathhome_dir=Path.home()#返回当前用户主目录的Path对象...

Python内置tempfile模块: 生成临时文件和目录详解

1.引言在Python开发中,临时文件和目录的创建和管理是一个常见的需求。Python提供了内置模块tempfile,用于生成临时文件和目录。本文将详细介绍tempfile模块的使用方法、原理及相关...

python代码实现读取文件并生成韦恩图

00、背景今天战略解码,有同学用韦恩图展示各个产品线的占比,效果不错。韦恩图(Venndiagram),是在集合论数学分支中,在不太严格的意义下用以表示集合的一种图解。它们用于展示在不同的事物群组之...

Python技术解放双手,一键搞定海量文件重命名,一周工作量秒搞定

摘要:想象一下,周五傍晚,办公室的同事们纷纷准备享受周末,而你,面对着堆积如山的文件,需要将它们的文件名从美国日期格式改为欧洲日期格式,这似乎注定了你将与加班为伍。但别担心,Python自动化办公来...

Python路径操作的一些基础方法_python路径文件

带你走进@机器人时代Discover点击上面蓝色文字,关注我们Python自动化操作文件避开不了路径操作方法,今天我们来学习一下路径操作的一些基础。Pathlib库模块提供的路径操作包括路径的...

Python爬取下载m3u8加密视频,原来这么简单

1.前言爬取视频的时候发现,现在的视频都是经过加密(m3u8),不再是mp4或者avi链接直接在网页显示,都是经过加密形成ts文件分段进行播放。今天就教大家如果通过python爬取下载m3u8加密视频...

探秘 shutil:Python 高级文件操作的得力助手

在Python的标准库中,shutil模块犹如一位技艺精湛的工匠,为我们处理文件和目录提供了一系列高级操作功能。无论是文件的复制、移动、删除,还是归档与解压缩,shutil都能以简洁高效的方式完成...

怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!

前面用Python+Flet开发的“我的计算器v3”,怎么打包为exe文件呢?这样才能分发给他人,直接“双击”运行使用啊!今天我给大家分享一个简单的、可用的,把Flet开发的程序打包为...