100个Python基本语法知识(一)

1. 基本语法结构

缩进
  • Python使用缩进来定义代码块,而不是像其他语言那样使用大括号{}。通常,每个缩进级别使用4个空格。
注释
  • 单行注释以#开头。
  • 多行注释可以使用三引号'''"""
变量
  • Python是动态类型语言,变量无需事先声明类型,直接赋值即可。
  • 变量名可以包含字母、数字和下划线,但不能以数字开头,且区分大小写。

2. 数据类型

数字
  • 整数(int):不带小数点的数字,可以是正数、负数或零。
  • 浮点数(float):带小数点的数字,表示实数。
  • 复数(complex):通过jJ后缀表示虚部,如3+4j
布尔值
  • 布尔(bool):表示真假的值,分别为TrueFalse
字符串
  • 字符串是由字符组成的序列,可以包含字母、数字、符号等。
  • 字符串可以用单引号'、双引号"或三引号'''/"""定义。
  • 字符串支持多种操作,如连接、切片、查找、替换等。
列表(List)
  • 列表是Python中的有序集合,可以包含不同类型的元素。
  • 列表是可变的,支持添加、删除和修改元素。
元组(Tuple)
  • 元组与列表类似,但元组是不可变的。
  • 元组通常用于存储不需要修改的数据。
字典(Dict)
  • 字典是Python中的无序集合,用于存储键值对。
  • 字典的键必须是唯一的,且不可变(如字符串、数字或元组)。
集合(Set)
  • 集合是一个无序的、不包含重复元素的集合。
  • 集合主要用于数学上的集合运算,如并集、交集、差集等。

3. 控制流

条件语句
  • if语句:用于基于条件执行不同的代码块。
  • elif语句else if的缩写,用于在多个条件中选择执行。
  • else语句:当所有if和elif条件都不满足时执行。
循环语句
  • for循环:用于遍历任何序列(如列表、元组、字符串)或其他可迭代对象。
  • while循环:在给定条件为真时重复执行代码块。

4. 函数

  • 函数是完成特定任务的代码块,可以通过调用函数名来执行。
  • 使用def关键字定义函数,return语句用于返回函数的结果。
  • 函数可以接收参数,也可以定义默认参数和可变参数。

5. 模块与包

  • 模块:包含Python定义和声明的文件。文件名就是模块名加上.py后缀。
  • :包含多个模块的文件夹。包内通常有一个__init__.py文件,该文件可以为空,用于标识该文件夹是一个Python包。
  • 使用import语句导入模块或包中的类、函数等。

6. 文件操作

  • Python提供了内置的open()函数用于打开文件,并返回一个文件对象。
  • 文件对象支持多种方法,如read()write()readline()readlines()等,用于读取和写入文件。
  • 使用with语句可以自动管理文件的打开和关闭。

7. 异常处理

  • Python使用try...except语句来处理异常。
  • try块中放置可能引发异常的代码,except块用于捕获并处理异常。
  • 可以有多个except块来捕获不同类型的异常,也可以使用elsefinally子句。

8. 面向对象编程(OOP)

  • Python支持面向对象编程,包括类、对象、继承、封装和多态等概念
  • 类是创建对象的模板,对象是类的实例。
  • 类的属性用于存储数据,方法用于定义对象的行为。
  • 继承允许我们定义一个类(子类)来继承另一个类(父类)的属性和方法。
  • 封装将数据和方法绑定在一起,隐藏内部实现细节,只对外提供有限的接口。

9. 类的定义与实例化

  • 使用class关键字定义类。
  • 类定义中包含属性(变量)和方法(函数)。
  • 使用类名后跟括号(可选地包含参数)来实例化对象。

10. 类的属性与方法

  • 属性:可以是数据属性(用于存储对象的数据)或类属性(属于类本身,被所有实例共享)。
  • 方法:特殊的方法(如__init__构造函数)用于初始化对象状态;普通方法则定义了对象的行为。

11. 继承

  • 通过在子类的定义中指定父类(使用圆括号中的类名),可以实现继承。
  • 子类可以继承父类的属性和方法,也可以覆盖(重写)父类的方法。
  • Python支持多重继承,即一个类可以继承自多个父类。

12. 方法重写与多态

  • 方法重写:子类可以定义与父类同名的方法,从而覆盖父类的方法实现。
  • 多态:不同的类对象对同一消息做出响应,即调用相同的方法但执行不同的逻辑。Python通过继承和方法重写实现多态。

13. 封装与私有属性

  • 封装是隐藏对象属性和实现细节的过程,只提供公共的接口供外部访问。
  • 在Python中,可以通过在属性名或方法名前添加双下划线(__)来创建私有属性或方法。然而,这种“私有”是约定俗成的,技术上仍可通过特殊方式访问。

14. 静态方法与类方法

  • 静态方法:使用@staticmethod装饰器定义,它不接收类或实例的隐式第一个参数(通常是selfcls),相当于定义在类命名空间中的普通函数。
  • 类方法:使用@classmethod装饰器定义,它接收类的引用作为第一个参数(通常命名为cls),而不是实例的引用。类方法通常用于实现与类相关但不需要访问实例属性的功能。

15. 魔术方法(特殊方法)

  • Python中有一系列以双下划线(__)开头和结尾的方法,称为魔术方法或特殊方法。这些方法在Python的类定义中用于实现特定的操作,如对象的初始化(__init__)、字符串表示(__str__)、比较(__eq____lt__等)、迭代(__iter____next__)等。

16. 迭代器与生成器

  • 迭代器:是一个可以记住遍历的位置的对象,它实现了__iter__()__next__()方法。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。
  • 生成器:是一种特殊的迭代器,使用yield语句定义,比标准的迭代器更容易编写和理解。生成器函数在每次调用next()时返回下一个值,并在达到yield语句时挂起执行,直到下次调用。

17. 列表推导式与生成器表达式

  • 列表推导式:提供了一种简洁的方式来创建列表,可以在一行代码中实现循环和条件判断。
  • 生成器表达式:类似于列表推导式,但返回的是一个生成器对象,而不是一次性生成整个列表,从而节省内存。

18. 上下文管理器(with语句)

  • with语句用于封装常用的try...finally模式,确保资源如文件、网络连接等在使用后正确释放。
  • 通过定义类的__enter__()__exit__()方法,可以使类成为上下文管理器。

19. 装饰器

  • 装饰器是一种高阶函数,它接受一个函数作为参数并返回一个新的函数。装饰器通常用于在不修改原有函数代码的情况下,给函数增加新的功能。
  • 使用@符号可以将装饰器应用于函数定义上。

20. 反射与内省

  • Python支持反射和内省机制,允许程序在运行时检查或修改其自身结构。
  • 例如,使用type()函数获取对象的类型,dir()函数获取对象的所有属性和方法,以及getattr()setattr()hasattr()函数动态访问对象的属性。

请注意,以上只是Python基础语法知识的一部分概览,实际上Python的语法和功能远不止于此。要全面掌握Python,还需要深入学习标准库、第三方库、网络编程、并发编程、数据库操作、Web开发等高级主题。

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

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

相关文章

模块与组件、模块化与组件化的理解

在React或其他现代JavaScript框架中,模块与组件、模块化与组件化是核心概念,它们对于提高代码的可维护性、复用性和开发效率具有重要意义。以下是对这些概念的理解: 模块与组件 模块(Module) 定义:模块是…

Java从入门到精通(十二)~ 动态代理

晚上好,愿这深深的夜色给你带来安宁,让温馨的夜晚抚平你一天的疲惫,美好的梦想在这个寂静的夜晚悄悄成长。 文章目录 目录 前言 主要作用和功能: 应用场景: 二、代理概念 1.静态代理 2.动态代理 2.1 概念介绍 …

网址导航系统PHP源码分享

1、采用光年全新v5模板开发后台 2、后台内置8款主题色,分别是简约白、炫光绿、渐变紫、活力橙、少女粉、少女紫、科幻蓝、护眼黑 3、可管理无数引导页主题并且主题内可以进行不同的自定义设置,目前内置16套主题 持续增加中… 4、可单独开发各种插件&a…

OSPF Type2 Message / DBD Packet (Database Descriptor)

注:机翻,未校对。 OSPF Type2 Message / DBD Packet (Database Descriptor) DBD (Database Description or Type2 OSPF Packet) is a sort of summary of the OSPF Database in a router. DBD is used to check if the LSDB between 2 routers is the s…

Linux---make/makefile工具

目录 基本了解 makefile基础语法 依赖关系 依赖方法 makefile文件内容格式 make执行机制 补充知识 机制解释 PHONY关键字 makefile补充语法 基本了解 在Linux中,make/makefile是项目自动化构建工具。如果我们没有make/makefile,那我们要编译一…

基于Java的模拟写字板的设计与实现

点击下载链接 基于Java的模拟写字板的设计与实现 摘要:目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并且涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首…

Linux系统编程——生产者消费者模型

目录 一,模型介绍 1.1 预备知识(超市买东西的例子) 1.2 模型介绍 1.3 CP模型特点 二,基于阻塞队列的CP模型 2.1 介绍 2.2 阻塞队列的实现 2.3 主函数实现 2.4 效果展示 三,POSIX信号量 3.1 信号量原理 3…

一篇文章带你学完Java所有的时间与日期类

目录 一、传统时间与日期类 1.Date类 构造方法 获取日期和时间信息的方法 设置日期和时间信息的方法 2.Calendar类 主要特点和功能 常用方法 1. 获取当前日历对象 2. 获取日历中的某个信息 3. 获取日期对象 4. 获取时间毫秒值 5. 修改日历的某个信息 6. 为某个信息增…

力扣 快慢指针

1 环形链表 141. 环形链表 - 力扣(LeetCode) 定义两个指针,一快一慢。慢指针每次只移动一步,而快指针每次移动两步。初始时,慢指针和快指针都在位置 head,这样一来,如果在移动的过程中&#x…

05。拿捏ArkTS 第 3 天 --- 对象、联合类型、枚举

1,什么是对象?对象是干什么的? ~用来存储不同类型数据的容器 ~用来描述物体的特征和行为 //特征就是属性,行为就是方法(对象内的函数) 2,对象的基本样式是? …

Noah-MP陆面生态水文模拟与多源遥感数据同化技术

了解陆表过程的主要研究内容以及陆面模型在生态水文研究中的地位和作用;熟悉模型的发展历程,常见模型及各自特点;理解Noah-MP模型的原理,掌握Noah-MP模型在单站和区域的模拟、模拟结果的输出和后续分析及可视化等方法;…

OpenGL入门第六步:材质

目录 结果显示 材质介绍 函数解析 具体代码 结果显示 材质介绍 当描述一个表面时,我们可以分别为三个光照分量定义一个材质颜色(Material Color):环境光照(Ambient Lighting)、漫反射光照(Diffuse Lighting)和镜面光照(Specular Lighting)。通过为每…

JQuery 弹幕可上下左右

水平弹幕,可设置向左、向右 containerId为显示弹幕容器ID, message弹幕内容, direction弹幕移动方向 // Jquery指定容器 向左或向右弹幕function sendBarrage_horizontal(containerId, message, direction) {// 第1部分,设置并挂载元素// 定义弹幕元素&#xff0c…

23.jdk源码阅读之Thread(下)

1. 写在前面 上篇文章我们介绍了Tread的一些方法的底层代码实现&#xff0c;这篇文章我们继续。 2. join()方法的底层实现 /*** Waits at most {code millis} milliseconds for this thread to* die. A timeout of {code 0} means to wait forever.** <p> This impleme…

【java】【springboot】启动方法注解详解

在Spring Boot中&#xff0c;启动方法通常是main方法&#xff0c;它位于应用程序的主类中&#xff0c;负责启动Spring应用上下文。 一、SpringBootApplication SpringBootApplication 是 Spring Boot 中一个非常核心的注解&#xff0c;它是一个复合注解&#xff0c;包含了三个…

从工艺到性能:模具3D打印材料不断革新

在模具3D打印领域&#xff0c;材料性能的持续优化与创新是推动模具3D打印的关键因素&#xff0c;近年来&#xff0c;各种3D打印新材料不断涌现&#xff0c;模具3D打印材料也开始重工艺导向逐步向性能导向发展&#xff0c;如毅速公司推出的ESU-EM191/191S及ESU-EM201不锈钢粉末、…

电脑文件误删除如何恢复?数据恢复第一步是什么?这五点要第一时间处理!

电脑文件误删除如何恢复&#xff1f;数据删除恢复的第一时间要做什么&#xff0c;你知道吗&#xff1f; 在使用电脑的过程中&#xff0c;误删除重要文件的情况时有发生。面对这种情况&#xff0c;不必过于慌张&#xff0c;因为有多种方法可以帮助你恢复误删除的文件。以下是恢复…

网络通信---UDP

前两天做了个mplayer项目&#xff0c;今日继续学习 网络内容十分重要&#xff01;&#xff01;&#xff01; 1.OSI七层模型 应用层:要传输的数据信息&#xff0c;如文件传输&#xff0c;电子邮件等&#xff08;最接近用户&#xff0c;看传输的内容类型到底是什么&#xff09; …

香橙派orangepi系统没有apt,也没有apt-get,也没有yum命令,找不到apt、apt-get、yum的Linux系统

以下是一个关于如何在 Orange Pi 上的 Arch Linux 系统中发现缺失包管理器的问题并解决的详细教程。 发现问题 确认系统类型&#xff1a; 使用以下命令检查当前的 Linux 发行版&#xff1a; uname -a cat /etc/os-release如果你看到类似于 “Arch Linux” 的信息&#xff0c;说…