Python应用八股文

        大家好!在 Python 学习的道路上,掌握一些基础知识要点至关重要,这些要点常被称为“Python 八股”。以下是对它们的简易总结,帮助你快速回顾和巩固 Python 的核心概念。

       一、数据结构

  1. 列表(List):有序可变序列,可包含不同类型的元素,如`my_list = [1, 'apple', 3.14]`。
  2. 元组(Tuple):有序不可变序列,与列表类似但不可修改,如`my_tuple = (1, 'banana', 2.71)`。
  3. 字典(Dictionary):无序键值对集合,键不可重复,用于存储和检索数据,如`my_dict = {'name': 'John', 'age': 25}`。
  4. 集合(Set):无序唯一元素集合,用于执行集合操作,如`my_set = {1, 2, 3}`。

        它们主要区别在于可变性、有序性和是否允许重复元素。

      二、数据类型

  1. 整数(int):表示整数值,占用字节取决于系统位数,如`x = 5`。
  2. 浮点数(float):表示带有小数点的数字,通常占用 8 个字节,如`y = 3.14`。
  3. 字符串(str):表示文本,用单引号或双引号,占用字节数与长度和编码相关,如`text = 'Hello, World!'`。
  4. 布尔值(bool):表示真或假,只有`True`或`False`,通常占用 1 个字节。
  5. 字节串(bytes):表示二进制数据,字节数等于元素数量,如`b = b'hello'`。
  6. 字节数组(bytearray):可变字节串,允许修改元素,占用字节数等于元素数量,如`ba = bytearray(b'hello')`。
  7. NoneType:表示空或不存在的数据,通常用于初始化变量,占用很小固定字节数。

      三、控制流语句

  1. break 和 continue:`break`用于终止循环,跳出循环体;`continue`用于跳过循环体剩余代码,直接进行下一轮循环。
  2. return 和 yield:`return`用于从函数返回值并终止函数执行;`yield`用于生成迭代器,函数暂停保存状态,下次调用继续执行。

      四、拷贝

  1. 浅拷贝:创建新对象,复制原对象元素引用,只复制对象一层,修改原始嵌套对象会影响浅拷贝,用`copy()`函数或切片操作。
  2. 深拷贝:创建新对象,递归复制原对象所有元素,包括嵌套元素,新对象与原始对象完全独立,用`copy.deepcopy()`函数,但更耗费资源且可能遇循环引用问题。

      五、其他重要知识点

  1. range 和 xrange:Python 2 中,`range`返回列表,`xrange`返回生成器;Python 3 中,`xrange`被移除,`range`成生成器。
  2. is 和==:`==`比较对象值是否相等,`is`比较对象身份标识是否相等。
  3. lambda 函数:匿名函数,用于简化代码,常用于函数参数传递简单功能。
  4. 字符串拆分方法:`split()`、`splitlines()`、`partition()`等。
  5. 引号区别:单引号和双引号表示字符串无实质性区别,三引号表示多行字符串,也可作多行注释。
  6. Python 传参:注意参数顺序和类型匹配,有位置参数、关键字参数、默认参数和可变参数。
  7. 装饰器:修改函数或方法行为的高级技术,不改变函数代码和调用方式添加新功能,应用场景如性能测试、插入日志、权限校验。
  8. 作用域:分为局部作用域、全局作用域和嵌套作用域,决定变量或函数在程序中的可访问区域。
  9. 解释型和编译型语言:解释型语言运行时逐行解释源代码,编译型语言运行前先将源代码转换为机器代码。
  10. \_\_init\_\_和\_\_new\_\_:`__init__`初始化对象属性,`__new__`创建对象并返回实例。
  11. 常用模块:`math`、`datetime`、`random`、`os`、`sys`等。
  12. list 和 numpy.array:`list`是 Python 内置通用序列类型,不支持数学运算;`numpy.array`是 NumPy 提供的数组类型,支持高效数学运算。
  13. 类中 self:指向对象本身的引用,用于在类中引用对象的属性和方法,应用包括初始化属性、访问属性和方法、调用其他方法。
  14. Python 面向对象特征:封装、继承、多态,是一门多范式编程语言。

        以上是 Python 八股文的简易总结,希望对你有所帮助。在学习过程中,建议多动手实践,加深对这些知识点的理解和掌握,这样才能在 Python 编程的世界中更加得心应手。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在 CentOS中安装Docker并安装青龙脚本——笔记

安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加 Docker 官方 GPG 密钥 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo安装 Docker 引擎 sudo yum install -y docker-ce docker-ce-cli con…

MySQL分库分表面试题深度解析

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 MySQL分库分表面试题深度解析一、核心概念与…

AI首次自主发现人工生命

转: 近日,人工智能领域迎来了一项革命性的突破。Transformer 论文作者之一的 Llion Jones 与前谷歌研究人员 David Ha 共同创立的人工智能公司 Sakana AI,联合MIT、OpenAI、瑞士AI实验室IDSIA等机构的研究人员,共同提出了一种名为…

企业架构框架深入解析:TOGAF、Zachman Framework、FEAF与Gartner EA Framework

执行摘要 企业架构(EA)是一项至关重要的实践,它使组织能够协调其业务战略、运营流程和技术基础设施,以实现整体战略目标。企业架构框架作为结构化的方法论和综合性工具,旨在管理企业级系统的固有复杂性,提…

[7-01-03].第03节:环境搭建 - 集群架构

RabbitMQ学习大纲 一、使用集群的原因 1.基于以下原因,需要搭建一个 RabbitMQ 集群来解决实际问题 单机版的,无法满足目前真实应用的要求。如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况,会导致rabbitMQ无法提供服务单台 R…

基于大模型预测过敏性紫癜的技术方案大纲

目录 一、引言(一)研究背景(二)研究目的二、技术方案(一)数据收集与预处理(二)大模型构建与训练(三)术前预测(四)术中预测与监测(五)术后预测与护理(六)麻醉方案制定(七)统计分析(八)技术验证方法(九)实验验证证据(十)健康教育与指导三、技术方案流程图…

Mysql 忘记密码后如何修改

如果忘记了 Linux 上 MySQL 的 root 密码,可以通过以下步骤重置(适用于 MySQL 5.7+ 及 MariaDB): 步骤 1:停止 MySQL 服务 systemctl stop mysql步骤 2:以跳过权限表的方式启动 MySQL mysqld_safe --skip-grant-tables --skip-networking &此命令会临时禁用密码验证…

从信息孤岛到智能星云:学习助手编织高校学习生活的全维度互联网络

一、项目背景与目标 随着高校信息化建设的推进,大学生在日常学习中对信息获取、时间管理、任务安排等方面的需求日益增长。为了帮助大学生更高效地管理学习生活,我们设计并实现了一个基于 API 调用的学习小助手系统。该系统通过调用外部服务接口&#x…

【SAS求解多元回归方程】REG多元回归分析-多元二次回归

多元二次回归是线性回归的扩展形式,通过引入自变量的二次项和交互项来捕捉非线性关系。适用于因变量与多个自变量之间存在曲线或交互效应的情况。其模型形式比简单线性回归更复杂,能够拟合更灵活的数据模式。 目录 【示例】 数据预处理 基本语法 SA…

多参表达式Hive UDF

支持的操作符 :跳过,即无条件筛选:等于!:不等于range:区间内,range[n,m]表示 between n and mnrange:区间外,即not between andin:集合内,in(n,m,j,k)表示 in…

Flink读取Kafka写入Paimon

Flink SQL -- 1)注册 Paimon 源 CREATE CATALOG paimon_hive WITH(type paimon,warehouse hdfs://xxxxx/paimon,metastore hive,hive-conf-dir /xxxxx/conf,uri thrift://域名1:9083,thrift://域名2:9083);-- 2)声明 Kafka 源 create table kafkaS…

【开源工具】:基于PyQt5的智能网络驱动器映射工具开发全流程(附源码)

🔗 【开源工具】:基于PyQt5的智能网络驱动器映射工具开发全流程 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自每…