python基础之常见面试题

本文深入解析Python中的关键概念,如continue与break的区别、作用域规则、垃圾回收机制、lambda函数的使用及其优势、异常处理、with语句的用途、数据库查询结果的获取方法、dir()方法的功能、事务的特性、Redis与MySQL的对比以及URL的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. continue 和 break 有什么区别?

2. Python 中的作用域?

3. Python 垃圾回收机制?

4. 什么是 lambda 函数?它有什么好处?

5. 介绍一下 except 的用法和作用?

6. with 语句

7. cursor.execute 查询出结果后,有哪些方法可以获得结果?

8. Dir ()方法

9. 事务的特性

10. readis 和 mysql 的区别
11.什么是 URL ?


答案:

一。break 语句可用于跳出循环   break所在的循环体已经结束。

continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代   continue所在的循环体并没有结束。

二。Python的4个作用域。局部作用域(L)(函数内部声明但没有使用global的变量),之后是上一层结构中def或者lambda的外部嵌套函数作用域(E),之后是全局作用域(G)(函数中使用global声明的变量或在模块层声明的变量),最后是内置作用域(B)(即python的内置类和函数等。

三。Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存。

四。1.lambda 函数是一种快速定义单行的最小函数。可以被用在任何需要函数的地方。可以接收任意多个参数(包括可选参数)并且返回单个表达式值的匿名函数。

2.使用lambda函数的好处:

(1)lambda函数比较轻便,即用即扔,很适合需要完成某一项简单功能,但是这个简单的功能只在此一处使用,连名字都很随意的情况下;

(2)lambda是匿名函数,一般用来给filter,map,reduce这样的函数式编程服务

(3)作为回调函数,可以传递给某些应用,比如消息处理等。

五。Python的except用来捕获所有异常

六。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。

七。fetchone    fetchall     fetchmany 可指定返回个数  例如:fetchmany(3)

八。用 dir()函数可以查看对像内所有属性及方法

九。原子性: 事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。
       一致性: 几个并行执行的事务 , 其执行结果必须与按某一顺序串行执行的结果相一致。
       隔离性:事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。
       持久性: 对于任意已提交事务 , 系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障

十。readis 是内存数据库,数据保存在内存中,速度快。mysql 是关系型数据库 , 持久化存储 , 存放在磁盘里面 , 功能强
大。检索的话,会涉及到一定的 IO ,数据访问也就慢。

十一。URL,即统一资源定位符,也就是我们说的网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以
及浏览器应该怎么处理它。

### Python 基础语法常见面试题 以下是针对 Python 基础语法的一些常见面试题及其解答: #### 1. **Python 中的基本数据类型有哪些?** Python 的基本数据类型包括整型 (`int`)、浮点型 (`float`)、布尔型 (`bool`) 和字符串 (`str`)[^1]。 ```python integer_value = 42 float_value = 3.14 boolean_value = True string_value = "Hello, World!" ``` #### 2. **解释 `is` 和 `==` 的区别。** `==` 是用于比较两个对象的值是否相等,而 `is` 则是用来判断两个变量是否指向同一个内存地址。 ```python a = [1, 2, 3] b = a print(a == b) # 输出 True print(a is b) # 输出 True c = list(a) print(a == c) # 输出 True print(a is c) # 输出 False ``` #### 3. **什么是可变与不可变的数据类型?举例说明。** 在 Python 中,像列表 (`list`) 和字典 (`dict`) 这样的容器类型是可变的,意味着它们的内容可以被修改而不改变其身份(即内存地址)。相反,元组 (`tuple`)、字符串 (`str`) 和数值类型(如 `int`, `float`)是不可变的,任何对其内容的更改都会创建一个新的对象。 ```python my_list = [1, 2, 3] my_list.append(4) # 修改原列表 print(my_list) # 输出 [1, 2, 3, 4] my_tuple = (1, 2, 3) # my_tuple[0] = 4 # 将引发 TypeError 错误 ``` #### 4. **如何定义函数并设置默认参数?** 可以通过在函数定义中的形参后面赋值来设定默认参数。 ```python def greet(name="World"): return f"Hello, {name}!" print(greet()) # 输出 Hello, World! print(greet("Alice")) # 输出 Hello, Alice! ``` #### 5. **解释局部变量和全局变量的区别以及作用域的概念。** 在一个函数内部声明的变量通常被认为是局部变量,在该函数外部无法访问;而在函数外声明的变量则属于全局变量,可以在整个程序范围内使用。如果想在函数内修改全局变量,则需使用 `global` 关键字。 ```python global_var = "I am global" def test_scope(): local_var = "I am local" print(local_var) test_scope() # print(local_var) # 报错:未定义名称 'local_var' print(global_var) # 正确打印 ``` #### 6. **列举几种常见的异常类型,并描述何时会发生这些错误。** 一些常见的内置异常有: - `TypeError`: 当操作或函数应用于不适当类型的对象时发生。 - `ValueError`: 发生于传入有效类型但非法值的情况下。 - `NameError`: 如果尝试访问一个不存在的名字就会抛出此错误。 - `IndexError`: 访问序列中不存在的索引位置时触发。 - `KeyError`: 对字典执行查找过程中找不到指定键的时候会遇到这个问题。 ```python try: int('abc') # ValueError except Exception as e: print(e) try: []['key'] # KeyError except Exception as e: print(e) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值