Python 基本语法知识详

目录

  1. 引言
  2. Python 基础语法
    • 变量与数据类型
    • 运算符
    • 字符串
  3. 控制结构
    • 条件语句
    • 循环语句
  4. 函数
    • 定义与调用
    • 参数
    • 返回值
  5. 数据结构
    • 列表
    • 元组
    • 集合
    • 字典
  6. 模块与包
  7. 文件操作
  8. 面向对象编程
    • 类与对象
    • 继承
    • 多态
  9. 异常处理
  10. 常用标准库
  11. 总结

引言

Python 以其简洁明了的语法、丰富的库和强大的功能,成为了许多开发者的首选语言。本文将从 Python 的基础语法入手,逐步深入,详细介绍 Python 编程中的各个方面。无论你是初学者,还是希望巩固自己基础的开发者,都能从本文中找到有价值的信息。

Python 基础语法

变量与数据类型

在 Python 中,变量无需声明即可使用,变量名是大小写敏感的。常见的数据类型包括整数、浮点数、字符串、布尔值等。

# 变量赋值
x = 10
y = 3.14
name = "Alice"
is_student = True# 输出变量的类型
print(type(x))         # <class 'int'>
print(type(y))         # <class 'float'>
print(type(name))      # <class 'str'>
print(type(is_student)) # <class 'bool'>

运算符

Python 支持多种运算符,包括算术运算符、比较运算符、逻辑运算符和赋值运算符。

# 算术运算符
a = 10
b = 3
print(a + b)  # 13
print(a - b)  # 7
print(a * b)  # 30
print(a / b)  # 3.3333333333333335
print(a // b) # 3
print(a % b)  # 1
print(a ** b) # 1000# 比较运算符
print(a == b) # False
print(a != b) # True
print(a > b)  # True
print(a < b)  # False
print(a >= b) # True
print(a <= b) # False# 逻辑运算符
c = True
d = False
print(c and d) # False
print(c or d)  # True
print(not c)   # False# 赋值运算符
e = 5
e += 2  # 等同于 e = e + 2
print(e) # 7

字符串

字符串是字符的序列,可以使用单引号或双引号定义。Python 提供了丰富的字符串操作方法。

# 字符串定义
s1 = 'Hello'
s2 = "World"# 字符串拼接
s3 = s1 + ' ' + s2
print(s3) # Hello World# 字符串长度
print(len(s3)) # 11# 字符串切片
print(s3[0:5])  # Hello
print(s3[6:11]) # World# 字符串方法
print(s3.lower())     # hello world
print(s3.upper())     # HELLO WORLD
print(s3.startswith('He')) # True
print(s3.endswith('ld'))   # True
print(s3.replace('World', 'Python')) # Hello Python

控制结构

条件语句

条件语句用于根据条件的真假来执行不同的代码块。常用的条件语句有 ifelifelse

age = 18if age < 18:print("You are a minor.")
elif age >= 18 and age < 65:print("You are an adult.")
else:print("You are a senior.")

循环语句

循环语句用于重复执行代码块。常用的循环语句有 forwhile

# for 循环
for i in range(5):print(i) # 0 1 2 3 4# while 循环
count = 0
while count < 5:print(count) # 0 1 2 3 4count += 1

函数

定义与调用

函数是代码的可重用块,可以通过 def 关键字定义。

def greet(name):print(f"Hello, {name}!")greet("Alice") # Hello, Alice!

参数

函数可以接受多个参数,支持位置参数、关键字参数和默认参数。

def add(a, b=0):return a + bprint(add(1, 2)) # 3
print(add(1))    # 1

返回值

函数可以返回一个或多个值,使用 return 关键字。

def swap(a, b):return b, ax, y = swap(1, 2)
print(x, y) # 2 1

数据结构

列表

列表是有序的可变集合,用方括号定义。

fruits = ["apple", "banana", "cherry"]
print(fruits)            # ['apple', 'banana', 'cherry']
fruits.append("date")
print(fruits)            # ['apple', 'banana', 'cherry', 'date']
print(fruits[1])         # banana
fruits[1] = "blueberry"
print(fruits)            # ['apple', 'blueberry', 'cherry', 'date']
print(fruits[1:3])       # ['blueberry', 'cherry']
del fruits[2]
print(fruits)            # ['apple', 'blueberry', 'date']

元组

元组是有序的不可变集合,用圆括号定义。

colors = ("red", "green", "blue")
print(colors)          # ('red', 'green', 'blue')
print(colors[1])       # green

集合

集合是无序的唯一元素集合,用花括号定义。

animals = {"cat", "dog", "bird"}
print(animals)           # {'cat', 'dog', 'bird'}
animals.add("fish")
print(animals)           # {'cat', 'dog', 'bird', 'fish'}
animals.remove("dog")
print(animals)           # {'cat', 'bird', 'fish'}

字典

字典是键值对集合,用花括号定义。

person = {"name": "Alice", "age": 25}
print(person)             # {'name': 'Alice', 'age': 25}
print(person["name"])     # Alice
person["age"] = 26
print(person)             # {'name': 'Alice', 'age': 26}
del person["name"]
print(person)             # {'age': 26}

模块与包

模块是一个包含 Python 代码的文件,可以使用 import 语句导入。

# 导入整个模块
import math
print(math.sqrt(16)) # 4.0# 从模块中导入特定的函数
from math import pi
print(pi) # 3.141592653589793

包是一个包含多个模块的目录,目录下有一个 __init__.py 文件。

文件操作

Python 提供了丰富的文件操作函数,可以轻松实现文件的读写操作。

# 写入文件
with open("example.txt", "w") as file:file.write("Hello, Python!")# 读取文件
with open("example.txt", "r") as file:content = file.read()print(content) # Hello, Python!

面向对象编程

类与对象

Python 是一种面向对象的编程语言,支持类和对象的概念。

class Person:def __init__(self, name, age):self.name = nameself.age = agedef greet(self):print(f"Hello, my name is {self.name} and I am {self.age} years old.")p = Person("Alice", 25)
p.greet() # Hello, my name is Alice and I am 25 years old.

继承

继承是面向对象编程中的一个重要概念,可以通过子类继承父类的属性和方法。

class Student(Person):def __init__(self, name, age, student_id):super().__init__(name, age)self.student_id = student_iddef study(self):print(f"{self.name} is studying.")s = Student("Bob", 20, "S12345")
s.greet()  # Hello, my name is Bob and I am 20 years old.
s.study()  # Bob is studying.

多态

多态是面向对象编程中的另一个重要概念,可以通过不同的类实现相同的方法。

class Animal:def speak(self):passclass Dog(Animal):def speak(self):return "Woof!"class Cat(Animal):def speak(self):return "Meow!"animals = [Dog(), Cat()]
for animal in animals:print(animal.speak()) # Woof! Meow!

异常处理

异常处理用于捕获和处理程序运行时的错误,避免程序崩溃。

try:x = 1 / 0
except ZeroDivisionError as e:print(f"Error: {e}")
finally:print("This block will always execute.")

常用标准库

Python 提供了丰富的标准库,涵盖了从文件操作到网络通信的各个方面。以下是几个常用的标准库示例:

os 模块

os 模块提供了与操作系统交互的功能。

import os# 获取当前工作目录
print(os.getcwd())# 列出当前目录中的文件
print(os.listdir("."))

sys 模块

sys 模块提供了与 Python 解释器交互的功能。

import sys# 获取命令行参数
print(sys.argv)# 退出程序
sys.exit()

datetime 模块

datetime 模块提供了日期和时间操作的功能。

from datetime import datetime, timedelta# 获取当前日期和时间
now = datetime.now()
print(now)# 日期和时间的加减
future = now + timedelta(days=5)
print(future)

json 模块

json 模块提供了 JSON 数据的编码和解码功能。

import json# 将 Python 对象转换为 JSON 字符串
data = {"name": "Alice", "age": 25}
json_str = json.dumps(data)
print(json_str)# 将 JSON 字符串转换为 Python 对象
json_data = '{"name": "Alice", "age": 25}'
data = json.loads(json_data)
print(data)

总结

本文详细介绍了 Python 的基本语法知识,从变量与数据类型、运算符、字符串、控制结构,到函数、数据结构、模块与包、文件操作、面向对象编程、异常处理和常用标准库。通过这些内容,读者可以全面了解 Python 的基本用法,并在实际开发中灵活运用这些知识。

Python 以其简洁明了的语法和强大的功能,为开发者提供了极大的便利。希望本文能帮助读者更好地掌握 Python 语言,为今后的编程学习和工作打下坚实的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【b站-湖科大教书匠】6 应用层 - 计算机网络微课堂

课程地址&#xff1a;【计算机网络微课堂&#xff08;有字幕无背景音乐版&#xff09;】 https://www.bilibili.com/video/BV1c4411d7jb/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 6 应用层 6.1 应用层概述 6.2 客户-服务器方式和对等方…

PsExec横向:IPCPTHPTT

一.IPC下的PsExec 二.PTH下的psexec&#xff08;CS操作&#xff09; 三.PTT下的psexec PsExec工具&#xff1a; psexec 是 windows 下非常好的一款远程命令行工具。psexec的使用不需要对方主机开方3389端口&#xff0c;只需要对方开启admin$共享和ipc$ (该共享默认开启&#…

Spring boot 后端向前端发送日期时间发现少了8小时

问题 数据库 后端的控制台输出 前端控制台输出 可以发现少了8小时 问题 springboot 向前端响应数据是默认 Json 格式&#xff0c;所以会有类型转换&#xff0c;springboot 就通过 Jackson 来对 data 类型数据进行转换&#xff0c;但是Jackson 类型的时区是 GMT&#xff0c;与…

Google AI非坦途

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Pytorch框架之神经网络

一、全连接神经网络的整体结构 二、全连接神经网络的单元结构 找出一组w,b使得结果最优 三、常见激活函数 四、前向传播 学习率是指训练模型时每次迭代更新模型参数的步长。 五、梯度下降法 六、反向传播计算 七、总结 1、准备数据 2、搭建模型 3、开始训练(设置学习率、…

【TS】TypeScript中的接口(Interface):对象类型的强大工具

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 TypeScript中的接口(Interface):对象类型的强大工具引言1. 接口的基本概念1.1 什…

【基于PSINS】UKF/SSUKF对比的MATLAB程序

UKF与SSUKF UKF是&#xff1a;无迹卡尔滤波 SSUKF是&#xff1a;简化超球面无迹卡尔曼滤波 UKF 相较于传统的KF算法&#xff0c;UKF能够更好地处理非线性系统&#xff0c;并且具有更高的估计精度。它适用于多种应用场景&#xff0c;如机器人定位导航、目标跟踪、信号处理等。…

【人工智能】深度剖析:Midjourney与Stable Diffusion的全面对比

文章目录 &#x1f34a;1 如何选择合适的AI绘画工具1.1 个人需求选择1.2 比较工具特点1.3 社区和资源 &#x1f34a;2 Midjourney VS Stable Diffusion&#xff1a;深度对比与剖析 2.1 使用费用对比 2.2 使用便捷性与系统兼容性对比 2.3 开源与闭源对比 2.4 图片质量对比 2.5 上…

19145 最长无重复子数组

这个问题可以使用滑动窗口的方法来解决。我们可以使用两个指针&#xff0c;一个指向子数组的开始&#xff0c;一个指向子数组的结束。然后我们使用一个哈希表来记录每个元素最后出现的位置。当我们遇到一个已经在子数组中出现过的元素时&#xff0c;我们就将开始指针移动到这个…

Mac文件拷贝到移动硬盘怎么做Mac拷贝之后Win电脑里看不到

在日常使用mac电脑的过程中&#xff0c;我们经常需要将一些重要的文件备份到外部硬盘上&#xff0c;以防止数据丢失或电脑故障。传输文件到硬盘可以通过多种方法实现&#xff0c;比如拖拽或者复制至移动硬盘&#xff0c;但有时也会遇到移动硬盘无法粘贴&#xff0c;或拷贝后无法…

SSRF (服务端请求伪造)

&#x1f3bc;个人主页&#xff1a;金灰 &#x1f60e;作者简介:一名简单的大一学生;易编橙终身成长社群的嘉宾.✨ 专注网络空间安全服务,期待与您的交流分享~ 感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持&#xff01;❤️ &#x1f34a;易编橙终身成长社群&#…

图像生成中图像质量评估指标—PSNR的详细介绍

文章目录 1. 背景介绍2. 实际应用3. 总结和讨论 1. 背景介绍 峰值信噪比&#xff08;Peak Signal-to-Noise Ratio&#xff0c;简称PSNR&#xff09;是一种广泛应用于图像和视频处理领域的客观图像质量评价指标。它主要用于衡量图像的噪声水平和图像质量&#xff0c;可以用来评…

Python酷库之旅-第三方库Pandas(051)

目录 一、用法精讲 186、pandas.Series.is_monotonic_increasing属性 186-1、语法 186-2、参数 186-3、功能 186-4、返回值 186-5、说明 186-6、用法 186-6-1、数据准备 186-6-2、代码示例 186-6-3、结果输出 187、pandas.Series.is_monotonic_decreasing属性 187…

嵌入式人工智能(34-基于树莓派4B的红外传感器、紫外传感器、激光传感器)

这三种光传感器都是不可见光传感器&#xff0c;光是由电场和磁场交替传播而形成的波动现象。光是一种电磁辐射&#xff0c;属于电磁波的一种。下图是电磁波的频谱范围&#xff0c;生活中多数光是看不到的&#xff0c;但是确真实存在&#xff0c;本文介绍几种光传感器&#xff0…

C++从入门到起飞之——友元内部类匿名对象对象拷贝时的编译器优化 全方位剖析!

&#x1f308;个人主页&#xff1a;秋风起&#xff0c;再归来~&#x1f525;系列专栏&#xff1a;C从入门到起飞 &#x1f516;克心守己&#xff0c;律己则安 目录 1、友元 2、内部类 3、 匿名对象 4、对象拷⻉时的编译器优化 5、完结散花 1、友元 • 友元提供…

基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台

在现代招聘领域&#xff0c;数据驱动的决策已成为提升招聘效率和质量的关键因素。基于爬虫技术和机器学习算法&#xff0c;结合Django框架和Bootstrap前端技术&#xff0c;我们开发了一套完整的招聘数据分析与可视化系统。该系统旨在帮助企业从海量招聘信息中提取有价值的数据&…

学习Numpy的奇思妙想

学习Numpy的奇思妙想 本文主要想记录一下&#xff0c;学习 numpy 过程中的偶然的灵感&#xff0c;并记录一下知识框架。 推荐资源&#xff1a;https://numpy.org/doc/stable/user/absolute_beginners.html &#x1f4a1;灵感 为什么 numpy 数组的 shape 和 pytorch 是 tensor 是…

等保2.0测评 — 容器测评对象选取

之前有小伙伴提问到&#xff0c;关于容器到底要测评哪些内容&#xff0c;也就是测评对象的选取。 首先要区分的是容器与容器集群这两个概念。容器集群概念可参考该篇文章。 不使用容器扩展要求情况 当仅使用容器技术时&#xff0c;采用安全通用要求&#xff0c;无需使用容器…

昇思25天学习打卡营第15天|探索 Diffusion 扩散模型:从构建到应用的全过程

目录 环境配置 构建Diffusion模型 位置向量 ResNet/ConvNeXT块 Attention模块 组规一化 条件U-Net 正向扩散 数据准备与处理 训练过程 推理过程 环境配置 首先进行环境配置、库的导入和一些设置操作&#xff0c;具体代码如下&#xff1a; %%capture captured_output …

土体的有效应力原理

土体的有效应力原理 有效应力原则1. 总应力的测定2. 孔隙水压力的测定3. 有效应力的确定 有效应力的重要性 土体中的有效应力原理是卡尔太沙基在1936年提出的重要理论之一。它是总应力和孔隙水压力之间的差值。下面简要说明土壤中有效应力的更多特征和测定。 有效应力原则 有…