面试 Python 基础八股文十问十答第六期

面试 Python 基础八股文十问十答第六期

作者:程序员小白条,个人博客

相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新!

⭐点赞⭐收藏⭐不迷路!⭐

1) Python支持什么数据类型?

Python支持多种数据类型,其中包括但不限于:

  • 数字类型: 整数 (int)、浮点数 (float)、复数 (complex)
  • 序列类型: 列表 (list)、元组 (tuple)、字符串 (str)
  • 集合类型: 集合 (set)、不可变集合 (frozenset)
  • 映射类型: 字典 (dict)
  • 布尔类型: 布尔值 (bool)
  • 空类型: 空值 (NoneType)

2) docstring是什么?

Docstring 是 Python 中用于文档字符串的术语。它是位于模块、函数、类或方法的开头的字符串文本,用于描述该模块、函数、类或方法的功能、用法、参数、返回值等信息。通常,docstring 是被包含在三重引号 (""") 或单引号 (''') 中的字符串。

Docstring 在代码中起着重要的作用,它们不仅可以作为注释,还可以被 Python 解释器所识别,并通过 help() 函数或 __doc__ 属性来获取相关信息。

例如:

def my_function(param):"""This is a docstring.It describes what the function does,what parameters it takes, and what it returns.Parameters:param (int): The parameter description.Returns:str: The return value description."""return "Hello, " + str(param)

3) PYTHONPATH变量是什么?

PYTHONPATH 是一个环境变量,用于指定 Python 解释器在搜索模块时应该查找的目录列表。当你导入一个模块时,Python 解释器会按照一定的顺序搜索模块所在的路径,其中就包括 PYTHONPATH 中指定的路径。

如果你的模块不在标准库路径中,而是位于自定义的目录中,你可以将这个目录添加到 PYTHONPATH 中,这样 Python 解释器就能够找到并导入这个模块了。

在 Unix/Linux 系统中,你可以通过以下方式设置 PYTHONPATH

export PYTHONPATH=/path/to/your/module/directory

在 Windows 系统中,你可以通过以下方式设置 PYTHONPATH

set PYTHONPATH=C:\path\to\your\module\directory

这样设置后,Python 解释器就会在搜索模块时包括你指定的目录。

4)什么是切片?

在 Python 中,切片是一种用于从序列(如列表、元组、字符串等)中获取子序列的方法。它通过使用[start:stop:step]的形式来指定子序列的范围,其中:

  • start 表示起始索引(包含在切片中)。
  • stop 表示结束索引(不包含在切片中)。
  • step 表示步长(可选参数,默认为1)。

切片操作返回一个新的序列,包含原始序列中指定范围内的元素。切片可以用于列表、元组、字符串等任何序列类型。

例如:

my_list = [1, 2, 3, 4, 5]# 获取索引 1 到索引 3 的子列表(不包括索引 3)
sub_list = my_list[1:3]
print(sub_list)  # Output: [2, 3]# 获取从索引 0 开始的奇数位置元素
odd_elements = my_list[::2]
print(odd_elements)  # Output: [1, 3, 5]

5)什么是namedtuple?

namedtuple 是 Python 标准库中 collections 模块提供的一个工厂函数,用于创建具有命名字段的元组子类。它与普通元组类似,但每个字段都有一个可读性更好的名称,并且可以像访问对象属性一样访问字段。

namedtuple 返回一个新的元组子类,该子类具有指定名称和字段名的属性。这使得代码更易于阅读和维护,特别适用于表示简单的数据记录。

例如:

from collections import namedtuple# 定义一个名为 Point 的 namedtuple 类型,具有 x 和 y 两个字段
Point = namedtuple('Point', ['x', 'y'])# 创建一个 Point 实例
p = Point(1, 2)# 访问字段
print(p.x)  # Output: 1
print(p.y)  # Output: 2

6)在Python中如何声明一条注释?

在 Python 中,你可以使用 # 符号来声明单行注释,单行注释将在 # 符号后的内容直到行末都被视为注释,不会被 Python 解释器执行。

例如:

# 这是一条单行注释print("Hello, World!")  # 这也是一条单行注释

除了单行注释外,你还可以使用三重引号 ("""''') 来声明多行注释,虽然它们实际上是字符串文本,但通常用于多行注释的目的。

例如:

"""
这是一个多行注释,
它可以跨越多行。
"""'''
这也是一个多行注释,
使用单引号。
'''

多行注释通常用于函数、类、模块的开头,用于提供文档字符串(docstring)注释。

7)在Python中怎样将字符串转换为整型变量?

要将字符串转换为整型变量,你可以使用 int() 函数。这个函数接受一个字符串参数,并尝试将其转换为整数。如果字符串包含数字字符,则会将其转换为相应的整数值;否则,将会抛出 ValueError 异常。

例如:

str_num = "123"
int_num = int(str_num)
print(int_num)  # Output: 123

8)在Python中怎样获取输入?

要从用户那里获取输入,可以使用 input() 函数。该函数将等待用户输入,并在用户按下回车键后返回输入的内容作为字符串。

例如:

name = input("请输入您的姓名:")
print("您好,", name)

input() 函数可以接受一个可选的提示字符串作为参数,用于提示用户输入内容。在用户输入内容后,input() 函数将返回用户输入的字符串。

9)Python中的不可变集合(frozenset)是什么?

在 Python 中,frozenset 是一种不可变的集合数据类型,它与 set 类似,但是 frozenset 的内容在创建后无法更改。这意味着你无法向 frozenset 中添加或删除元素,或者对其进行修改。

frozenset 类型通常用于需要将集合作为键或在集合之间进行比较时,因为它们是不可变的,所以可以安全地用作字典的键或集合的元素。

例如:

my_set = frozenset([1, 2, 3, 4])
print(my_set)  # Output: frozenset({1, 2, 3, 4})

10)在Python中如何生成一个随机数?

要在 Python 中生成随机数,可以使用 random 模块。这个模块提供了多个函数用于生成各种类型的随机数。

例如,要生成一个范围在0到1之间的随机浮点数,可以使用 random.random() 函数:

import randomrandom_number = random.random()
print(random_number)

要生成一个指定范围内的随机整数,可以使用 random.randint(a, b) 函数,其中 ab 是范围的起始和结束值(包括边界):

random_int = random.randint(1, 100)
print(random_int)

这只是 random 模块中几个常用函数的示例,还有其他函数可用于生成不同类型的随机数,如随机选择、随机洗牌等。

前后端总计已经 1100+ Star,2W+ 访问!

⭐点赞⭐收藏⭐不迷路!⭐

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

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

相关文章

经典的目标检测算法有哪些?

一、经典的目标检测算法有哪些? 目标检测算法根据其处理流程可以分为两大类:One-Stage(单阶段)算法和Two-Stage(两阶段)算法。以下是一些经典的目标检测算法: 单阶段算法: YOLO (You Only Loo…

iOS ------代理 分类 拓展

代理协议 一,概念: 代理,又称委托代理(delegate),是iOS中常用的一种设计模式。顾名思义,它是把某个对象要做的事委托给别的对象去做。那么别的对象就是这个对象的代理,代替它来打理…

考研数学精选题目014

题目 lim ⁡ n → ∞ n ∫ 0 1 x n 1 x d x \mathop {\lim }\limits_{n \to \infty } n\int_0^1 {{{{x^n}} \over {1 x}}dx} n→∞lim​n∫01​1xxn​dx 来源 题目和答案均来自网络 证明 lim ⁡ n → ∞ n ∫ 0 1 x n 1 x d x lim ⁡ n → ∞ n n 1 ∫ 0 1 1 1 x d x n …

Oracle特殊恢复:异常掉电导致的ORA-600 [kfrValAcd30]故障处理

一、 问题描述 现象:硬件掉电后,oracle集群无法启动。 [rootrac2 ~]# crsctl stat res -t CRS-4535: Cannot communicate with Cluster Ready Services CRS-4000: Command Status failed, or completed with errors. [rootrac2 ~]# crsctl start crs C…

多路径网格问题的解决策略:比较五种不同算法【python力扣62题】

题目描述 一个机器人位于一个 m x n 网格的左上角(起始点在下图标记为 “Start” )。机器人每次只能向下或向右移动一步。机器人试图达到网格的右下角(在下图标记为 “Finish”)。问总共有多少条不同的路径? 输入格式…

MySQL生成日期序列与表关联的 SQL 查询

1、内部日期序列生成 首先,让我们看一下内部日期序列的生成部分。这部分的作用是创建从 2024 年 4 月 1 日开始的日期序列,直到 2024 年 12 月 31 日。SQL 使用 DATE_ADD 函数和一个嵌套的子查询来生成这个日期序列。 SELECT DATE_ADD(2024-04-01, INT…

图书租赁系统-借阅图书

图中展示了所有可以借阅的图书&#xff0c;点击“借阅”按钮便可以借阅图书。 借阅成功后&#xff0c;可以到bookorder菜单中阅读该书。 阅读功能待开发。 add.html借阅图书页面 <!DOCTYPE html> <html lang"zh" xmlns:th"http://www.thymeleaf.org…

学习经验分享【33】YOLOv5 / YOLOv7 / YOLOv8 / YOLOv9 / RTDETR 基于 Pyside6 的图形化界面

大论文可以写两章关于算法创新模型&#xff0c;最后一章可以写对前两章提出方法进行封装&#xff0c;利用PyQT5搭建YOLOv5可视化界面&#xff0c;并打包成exe程序&#xff0c;构建检测平台实现简单的应用。用来凑大论文的字数和工作量&#xff0c;是简单又快速的方法&#xff0…

如何使用国内手机号免费注册一个美区 Apple ID?

因为一些众所周知的原因&#xff0c;在国内使用 iPhone 是被阉割过的&#xff0c;如果想要用完全版就需要用到美区账号&#xff0c;废话不多说直接上图。 在 iPhone 的浏览器上打开链接进行注册 https://appleid.apple.com/account 如果注册提示&#xff1a;Your request cou…

SpringCloud注册nacos错误:Could not resolvplaceholder ‘xxxxx‘ in value “xxxx“

这个错误是我在做spirngcloud注册服务到nacos时发现的&#xff0c;算是折磨我折磨了好久&#xff0c;最后发现了还是先记录一下&#xff0c;首先还是说一下我的项目版本信息&#xff0c;因为不同的版本就有这不同的解决方案&#xff0c;这也是最恶心的一点&#xff0c;以至于我…

【Mysql】Mysql8存储引擎优化与锁和事务管理优化

前一篇博文介绍了Mysql8优化的总体方向&#xff0c;这一篇我们就其中比较重点的内容存储引擎优化与锁和事务管理优化做重点讲解。 一、存储引擎优化 InnoDB 是 MySQL 默认的存储引擎&#xff0c;广泛用于生产环境中&#xff0c;因其支持事务处理、行级锁定和外键等特性而受到…

基于RT-Thread的智能家居助手

一、项目简介 智能家居助手主要基于RT-Thread开发的&#xff0c;该系统主要分为语音子系统&#xff0c;环境监测子系统&#xff0c;智能控制子系统&#xff0c;智能网关子系统&#xff0c;音乐播放器&#xff0c;云端以及应用软件七大部分。语音子系统可通过语音进行人机交互来…

OpenCV——图像分块局部阈值二值化

目录 一、算法原理1、算法概述2、参考文献 二、代码实现三、结果展示 OpenCV——图像分块局部阈值二值化由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫。 一、算法原理 1、算法概述 针对目前局部阈值二值…

from_pretrained明明以及下载好模型,却突然不能加载了报错

本人报错&#xff1a;OSError: Error no file named model_index.json found in directory /home/xxx/我的python学习/textToImage/sdxl-turbo. 原因&#xff1a;路径错误导致无法加载模型的配置文件 pipe AutoPipelineForText2Image.from_pretrained("stabilityai/sdx…

HORROR SYSTEM

HORROR SYSTEM是一个创新的工具包,允许开发者在Unity3D中创建独特的原创恐怖游戏。 HORROR SYSTEM是一款强大而灵活的工具,旨在基于Unity3D引擎创建沉浸式第三人称恐怖游戏。 这项资产易于使用且直观,可以让任何经验水平的开发人员将他们的想法付诸实践,创造出高质量、充满…

文献速递:深度学习胶质瘤诊断---空间细胞结构预测胶质母细胞瘤的预后

Title 题目 Spatial cellular architecture predicts prognosis in glioblastoma 空间细胞结构预测胶质母细胞瘤的预后 01文献速递介绍 胶质母细胞瘤的治疗耐药性的关键驱动因素是肿瘤内的异质性和细胞状态的可塑性。在这里&#xff0c;我们调查了空间细胞组织与胶质母细胞瘤…

python爬虫 - 爬取html中的script数据(zum.com新闻信息 )

文章目录 1. 分析页面内容数据格式2. 使用re.findall方法&#xff0c;编写爬虫代码3. 使用re.search 方法&#xff0c;编写爬虫代码 1. 分析页面内容数据格式 &#xff08;1&#xff09;打开 https://zum.com/ &#xff08;2&#xff09;按F12&#xff08;或 在网页上右键 --…

C++中的五种高级初始化技术:从reserve到piecewise_construct等

C高级初始化技术&#xff1a;reserve、emplace_back、constinit、Lambda表达式、piecewise_construct 一、简介二、reserve 结合 emplace_back三、C 20的constinit四、Lambda表达式和初始化五、make_unique_for_overwrite六、piecewise_construct 和 forward_as_tuple七、总结 …

SpringBoot xxl-job 任务调度

首先官网下载xxl-job的源代码&#xff0c;然后切换到jdk8&#xff0c;等Maven下载依赖 执行mysql的脚本&#xff0c;修改连接配置&#xff0c;启动admin站点 默认地址 http://localhost:8080/xxl-job-admin/ 先新增一个任务执行器&#xff0c;指向未来任务代码的站点 然后在…

Vue.js应用中的多元化通信策略:10+种方法深度解析

Vue.js应用中的多元化通信策略&#xff1a;10种方法深度解析 在构建复杂且交互丰富的Vue 2.x应用程序时&#xff0c;有效的组件间通信是确保数据流通、状态同步与逻辑协调的关键。本文将深入探讨超过10种适用于Vue 2.x的应用内通信方法&#xff0c;覆盖父子组件、兄弟组件、跨…