Python基础知识点--总结

1. 注释

注释用于提高代码的可读性,在代码中添加说明文字,使代码更容易理解。

  • 单行注释:使用 # 符号开头,注释内容在符号之后的行内。
  • 多行注释:使用三引号('''""")包裹注释内容,可跨多行。

# 这是一个单行注释
"""
这是一个多行注释
可以跨越多行
"""

2. 变量

变量是存储数据的容器,可以通过赋值操作将数据存储在变量中。

  • 命名规则
    • 变量名由字母、数字和下划线组成,不能以数字开头。
    • 变量名对大小写敏感。
    • 使用有意义的变量名有助于代码的可读性。

age = 25
name = "Alice"

3. 输出

输出是将数据展示给用户或其他程序的过程,Python使用 print() 函数来输出内容。

print("Hello, World!")
print("Age:", age)

4. 输入

输入是从用户或其他程序获取数据的过程,Python使用 input() 函数来获取用户输入的数据。

name = input("Enter your name: ")
print("Hello, " + name)

5. 转换数据类型

Python支持多种数据类型,可以通过类型转换函数将一种数据类型转换为另一种。

  • 常见的类型转换函数:
    • int():将数据转换为整数类型
    • float():将数据转换为浮点数类型
    • str():将数据转换为字符串类型

age = int(input("Enter your age: "))
height = float(input("Enter your height: "))

6. 运算符

运算符用于对变量或值执行操作。

  • 算术运算符+, -, *, /, //, %, **
  • 比较运算符==, !=, >, <, >=, <=
  • 逻辑运算符and, or, not
  • 赋值运算符=, +=, -=, *=, /=, %=
  • 位运算符&, |, ^, ~, <<, >>
result = 3 + 5
is_equal = (3 == 5)

7. 条件语句

条件语句根据条件是否为真来决定执行的代码块,使用 ifelifelse 关键字。

age = 18
if age >= 18:
    print("You are an adult.")
else:
    print("You are a minor.")

8. 循环

循环用于重复执行一段代码。

  • for 循环:用于遍历序列(如列表、字符串)中的每个元素。
  • while 循环:在条件为真时重复执行代码块。

# for循环
for i in range(5):
    print(i)

# while循环
count = 0
while count < 5:
    print(count)
    count += 1

9. 字符串

字符串是字符的序列,使用单引号或双引号定义。

  • 常用操作:
    • 连接字符串:+
    • 重复字符串:*
    • 访问字符:[]
    • 切片:[:]
greeting = "Hello"
name = "Alice"
full_greeting = greeting + " " + name
print(full_greeting)

10. 列表

列表是一个有序的可变集合,使用方括号定义,可以包含不同类型的元素。

  • 常用操作:
    • 添加元素:append()
    • 删除元素:remove(), pop()
    • 访问元素:[]
    • 切片:[:]

fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits[1])  # 输出: banana

11. 元组

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

  • 常用操作:
    • 访问元素:[]
    • 解包:将元组中的元素赋值给变量
point = (10, 20)
x, y = point
print(x, y)  # 输出: 10 20

12. 字典

字典是一个无序的键值对集合,使用大括号定义,键和值通过冒号 : 分隔。

  • 常用操作:
    • 添加或更新键值对:dict[key] = value
    • 删除键值对:del dict[key]
    • 访问值:dict[key]
person = {"name": "Alice", "age": 25}
person["age"] = 26
print(person["name"])  # 输出: Alice

13. 集合

集合是一个无序的不重复元素集合,使用大括号定义。

  • 常用操作:
    • 添加元素:add()
    • 删除元素:remove(), discard()
    • 集合运算:交集、并集、差集
fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
print(fruits)

14. 公共操作

公共操作包括序列和集合类型的常见操作。

  • 长度len() 返回序列或集合的元素个数。
  • 最大值/最小值max()min() 返回序列中的最大和最小值。
  • 排序sorted() 返回排序后的序列。
  • 枚举enumerate() 返回枚举对象,通常在 for 循环中使用。
numbers = [3, 1, 4, 1, 5]
print(len(numbers))  # 输出: 5
print(max(numbers))  # 输出: 5
print(sorted(numbers))  # 输出: [1, 1, 3, 4, 5]

15. 推导式

推导式是一种简洁的创建序列或集合的方式。

  • 列表推导式:用于创建列表。
  • 字典推导式:用于创建字典。
  • 集合推导式:用于创建集合。
# 列表推导式
squares = [x**2 for x in range(5)]
print(squares)  # 输出: [0, 1, 4, 9, 16]

16. 函数一

函数是执行特定任务的代码块,使用 def 关键字定义。

  • 定义函数:通过 def 关键字定义函数。
  • 参数和返回值:函数可以接收参数并返回值。
def greet(name):return "Hello, " + nameprint(greet("Alice"))

17. 函数二

函数的高级特性包括默认参数、关键字参数和可变长度参数。

  • 默认参数:为参数提供默认值。
  • 关键字参数:通过参数名传递参数。
  • 可变长度参数:使用 *args**kwargs 接受任意数量的位置参数和关键字参数。
def greet(name, greeting="Hello"):return greeting + ", " + nameprint(greet("Alice"))
print(greet("Alice", "Hi"))

18. 函数三

函数的进阶特性包括匿名函数和闭包。

  • 匿名函数:使用 lambda 关键字定义匿名函数。
  • 闭包:内部函数可以访问外部函数的变量。
# 匿名函数
square = lambda x: x**2
print(square(4))  # 输出: 16# 闭包
def outer_func(msg):def inner_func():print(msg)return inner_funchello_func = outer_func("Hello")
hello_func()  # 输出: Hello

19. 文件操作

Python提供了多种方式来处理文件操作,如读取和写入文件。

  • 打开文件open() 函数用于打开文件。
  • 读取文件read() 读取整个文件,readline() 读取一行,readlines() 读取所有行。
  • 写入文件write() 将数据写入文件。
  • 关闭文件close() 关闭文件。
with open("example.txt", "w") as file:file.write("Hello, World!")with open("example.txt", "r") as file:content = file.read()print(content)

20. 面向对象基础

面向对象编程(OOP)是将数据和操作封装在对象中的编程方式。

  • 类和对象:类是对象的蓝图,使用 class 关键字定义,实例化类创建对象。
  • 属性和方法:类的属性和方法定义了对象的状态和行为。
  • __init__ 方法:构造方法,用于初始化对象。
class Dog:def __init__(self, name, age):self.name = nameself.age = agedef bark(self):print("Woof!")dog = Dog("Rex", 5)
dog.bark()  # 输出: Woof!

21. 面向对象-继承

继承是通过现有类创建新类的机制,新类可以继承父类的属性和方法。

  • 子类:继承自父类,可以重写父类的方法或添加新方法。
  • 多继承:一个类可以继承多个父类。
class Animal:def eat(self):print("Eating...")class Dog(Animal):def bark(self):print("Woof!")dog = Dog()
dog.eat()  # 输出: Eating...
dog.bark()  # 输出: Woof!

22. 面向对象-其他

面向对象编程中还包括封装、抽象和多态性等概念。

  • 封装:将数据和方法封装在类中,控制对内部细节的访问。
  • 抽象:通过接口和抽象类来定义行为,而不实现具体功能。
  • 多态性:不同类的对象可以通过相同的接口调用不同的实现。
class Shape:def draw(self):raise NotImplementedError("Subclass must implement abstract method")class Circle(Shape):def draw(self):print("Drawing a circle")shape = Circle()
shape.draw()  # 输出: Drawing a circle

23. 异常

异常处理用于捕获和处理运行时错误,以防止程序崩溃。

  • 捕获异常:使用 tryexcept 块捕获异常。
  • finally:无论是否发生异常,finally 块的代码总是会执行。
  • 自定义异常:可以创建自定义异常类,继承自 Exception
try:result = 10 / 0
except ZeroDivisionError:print("Cannot divide by zero")
finally:print("Execution complete")

24. 模块和包

模块和包用于组织和管理代码,模块是一个Python文件,包是包含模块的目录。

  • 导入模块:使用 import 导入模块。
  • 自定义模块:将Python代码保存在 .py 文件中,可以作为模块导入。
  • 标准库:Python提供了丰富的标准库,可以直接导入使用。
import math
print(math.sqrt(16))  # 输出: 4.0

25. 包

包是包含多个模块的目录,通过层次化组织代码,包中必须包含 __init__.py 文件。

  • 创建包:将模块放入目录中,并添加 __init__.py 文件。
  • 导入包:使用 import 导入包中的模块或子包。
# 目录结构
# mypackage/
# ├── __init__.py
# ├── module1.py
# └── module2.pyfrom mypackage import module1

这些知识点构成了Python编程的基础,掌握这些内容将为更高级的编程打下坚实的基础。

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

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

相关文章

树莓派5 笔记25:第一次启动与配置树莓派5_8G

今日继续学习树莓派5 8G&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下&#xff1a; 今日购得了树莓派5_8G版本&#xff0c;性能是同运…

springboot航班进出港管理系统--论文源码调试讲解

第2章 开发环境与技术 本章节对开发航班进出港管理系统管理系统需要搭建的开发环境&#xff0c;还有航班进出港管理系统管理系统开发中使用的编程技术等进行阐述。 2.1 Java语言 Java语言是当今为止依然在编程语言行业具有生命力的常青树之一。Java语言最原始的诞生&#xff…

SQL每日一练-0815

今日SQL题难度&#xff1a;&#x1f31f;☆☆☆☆☆☆☆☆☆ 1、题目要求 计算每个产品类别在每个月的总销售额和总销量。找出每个月销售额最高的产品类别&#xff0c;显示类别名称、销售月份、总销售额和总销量。 2、表和虚拟数据 现有两个表&#xff1a;Products 和…

React前端面试每日一试 8.什么是React Portals?

在React中&#xff0c;Portals 是一种技术&#xff0c;允许你将组件的子节点渲染到父组件DOM层次结构之外的DOM节点中。通常&#xff0c;React组件会按照嵌套结构渲染其子节点&#xff0c;但在某些情况下&#xff0c;我们希望将组件内容放置在DOM的其他位置&#xff0c;比如模态…

牛客网习题——通过C++实现

一、目标 实现下面4道练习题增强C代码能力。 1.求123...n_牛客题霸_牛客网 (nowcoder.com) 2.计算日期到天数转换_牛客题霸_牛客网 (nowcoder.com) 3.日期差值_牛客题霸_牛客网 (nowcoder.com) 4.打印日期_牛客题霸_牛客网 (nowcoder.com) 二、对目标的实现 1.求123...n_…

springboot整合springmvc

1、创建springboot项目&#xff0c;勾选Spring web 当前springboot选择的是2.6.13版本&#xff0c;jdk1.8尽量选2.几的springboot 2、在pom.xml中导入相应的坐标 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-…

WPF中XAML相对路径表示方法

在WPF XAML中&#xff0c;相对路径是一种非常实用的方式来引用资源文件&#xff0c;如图像、样式表和其他XAML文件。相对路径可以帮助您构建更加灵活和可移植的应用程序&#xff0c;因为它允许资源文件的位置相对于XAML文件的位置进行定位。 相对路径的表示方法 在XAML中&…

[机器学习]--KNN算法(K邻近算法)

KNN (K-Nearest Neihbor,KNN)K近邻是机器学习算法中理论最简单,最好理解的算法,是一个 非常适合入门的算法,拥有如下特性: 思想极度简单,应用数学知识少(近乎为零),对于很多不擅长数学的小伙伴十分友好虽然算法简单,但效果也不错 KNN算法原理 上图是每一个点都是一个肿瘤病例…

对比state和props的区别?

在React中&#xff0c;state和props是两个核心概念&#xff0c;它们都用于管理组件的数据和状态&#xff0c;但在使用和作用上存在明显的区别。以下是它们之间的详细对比&#xff1a; 1. 定义与来源 props&#xff08;属性&#xff09;&#xff1a; 定义&#xff1a;props是组…

Sakana.ai 迈向完全自动化的开放式科学发现

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

OFDM系统调制,子载波间隔越小,有啥影响?

在OFDM&#xff08;正交频分复用&#xff09;系统中&#xff0c;子载波间隔是一个重要的参数&#xff0c;它直接影响系统的性能。当OFDM系统的子载波间隔越小时&#xff0c;会产生以下几个主要影响&#xff1a; 1. 对多普勒频移和相位噪声的敏感性增加 多普勒频移&#xff1a…

从零开始搭建k8s集群详细步骤

声明&#xff1a;本文仅作为个人记录学习k8s过程的笔记。 节点规划&#xff1a; 两台节点为阿里云ECS云服务器&#xff0c;操作系统为centos7.9&#xff0c;master为2v4GB,node为2v2GB,硬盘空间均为40GB。&#xff08;节点基础配置不低于2V2GB&#xff09; 主机名节点ip角色部…

Docker最佳实践进阶(一):Dockerfile介绍使用

大家好&#xff0c;上一个系列我们使用docker安装了一系列的基础服务&#xff0c;但在实际开发过程中这样一个个的安装以及繁杂命令不仅仅浪费时间&#xff0c;更是容易遗忘&#xff0c;下面我们进行Docker的进阶教程&#xff0c;帮助我们更快速的部署和演示项目。 一、什么是…

力扣面试经典算法150题:找出字符串中第一个匹配项的下标

找出字符串中第一个匹配项的下标 今天的题目是力扣面试经典150题中的数组的简单题: 找出字符串中第一个匹配项的下标 题目链接&#xff1a;https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/?envTypestudy-plan-v2&envIdto…

docker compose部署rabbitmq集群,并使用haproxy负载均衡

一、创建rabbitmq的data目录 mkdir data mkdir data/rabbit1 mkdir data/rabbit2 mkdir data/rabbit3 二、创建.erlang.cookie文件&#xff08;集群cookie用&#xff09; echo "secretcookie" > .erlang.cookie 三、创建haproxy.cfg配置文件 global log stdout fo…

深度学习基础—正则化

正则化&#xff1a;解决模型过拟合的手段&#xff0c;本质就是减小模型参数取值&#xff0c;从而使模型更简单。常用范数如下&#xff1a; 使用最多的是L2范数正则项&#xff0c;因此加入正则项的损失函数变为&#xff1a; 使用梯度下降法的权重调整公式&#xff1a; 推导后得到…

HTML浏览器缓存(Browser Cache)

介绍&#xff1a; 浏览器缓存是Web缓存中最直接、最常见的一种形式。当浏览器首次请求某个资源时&#xff0c;如果服务器响应中包含了缓存控制指令&#xff08;如Cache-Control、Expires等&#xff09;&#xff0c;浏览器就会将这些资源存储在本地缓存中。后续请求相同资源时&a…

项目实战:Qt+Opencv相机标定工具v1.3.0(支持打开摄像头、视频文件和网络地址,支持标定过程查看、删除和动态评价误差率,支持追加标定等等)

若该文为原创文章&#xff0c;转载请注明出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/141334834 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、Op…

python之一文秒懂re正则表达式

引言 Python 中的正则表达式是一个强大的工具&#xff0c;用于处理字符串&#xff0c;查找、替换、分割等。正则表达式使用特殊语法来表示一系列匹配字符串的字符规则。Python 通过 re 模块提供对正则表达式的支持。 1. 查找 1.re.search(pattern, string[, flags0]) 功能&…

二十二、状态模式

文章目录 1 基本介绍2 案例2.1 Season 接口2.2 Spring 类2.3 Summer 类2.4 Autumn 类2.5 Winter 类2.6 Person 类2.7 Client 类2.8 Client 类的运行结果2.9 总结 3 各角色之间的关系3.1 角色3.1.1 State ( 状态 )3.1.2 ConcreteState ( 具体的状态 )3.1.3 Context ( 上下文 )3.…