2016 - 2024

感恩一路有你

python怎么判断字符串含有数字 python程序员二面一般问什么?

浏览量:2991 时间:2023-04-30 14:08:51 作者:采采

python程序员二面一般问什么?

python程序员二面一般问以下几个问题:

1: Python 列表、元组、字典的区别?

这个问题应该经常被问到,我们在这里详细做个解释。

列表(List),Python的列表实际上是一个动态数组,存储在一个连续的内存区块中,随机存取的复杂度是O(1),插入和删除元素时会造成内存块的移动,时间复杂度是O(n)。同时它是一个可变对象,当我们对列表进行赋值时获取到的只是它的内存地址,如果需要将列表里的内容全部复制给另一个变量,需要用到copy(浅拷贝)和deepcopy(深度拷贝)。

元组(Tuple),Python的元组是一个不可变的数据结构,它本质上也是一个数组。因为是不可变对象,所以Tuple的长度在创建时就是恒定的,所以我们也无法对它进行添加和删除元素的操作。不过在Tuple内所包含的对象是可变的。当我们把包含元组的变量赋值给另一个变量时,实际上是在内存中重新申请了一块内存空间用于新建了一个元组。

字典(Dict),Python的字典是一个哈希表,根据键值对(Key,Value)直接访问的数据结构。关于哈希函数在这里不多做解析,大家可以自行了解。如果字典在产生哈希时,也就是Key遇到重复的时候。Python会通过开放定址法来计算下一个候选位置,反复测试最终保证生成的哈希值不会产生。字典跟列表一样,也是可变对象,复制内容同样需要用到copy(浅拷贝)和deepcopy(深度拷贝)。

2: 如何将一个字符串或者数字倒序输出?

字符串倒序,我们可以利用Python的切片对字符串进行倒序,参考如下代码:

str1 #34长风几万里,吹度玉门关#34print(str1[::-1])

切片的参数格式: [start_ind: stop_ind: st::-1])# 负整数的情况numb::-1]))

3: 谈一下Python的内存管理机制

Python内建了垃圾回收处理机制,引用计数是这个机制的一部分。

在Pyhton源码中,实际上是用 Py_INCREF(op) 和 Py_DECREF(op) 这两个宏来增加和减少引用计数。

当一个对象被创建、被赋值、被参数传递,函数返回之前的时候,它的引用计数值(ob_refcnt)都可能会被加1(INC),一直进行累加。

当对象变量失去作用域的时候,引用计数的值会减1(DEC)。

当一个对象的引用计数减少到0之后(ob_refcnt为0),Py_DECR: 什么是Session、Cookie、Token?

Session是一个概念,信息存储在服务端。

Cookie是对Session的一种实现,并信息存储在客户端(浏览器)。

因为HTTP协议无状态的特性,以至于我们需要在浏览器和服务端之间建立一个用于识别用户身份和详细信息的凭证,这个凭证可以是Cookie、Token任意一种。

当用户登陆成功时,我们可以将其的身份凭证在服务端生成一个Session信息,保存在文件,数据库或者内存里,通常Session会有一个Session id。

因为访问服务端Session 信息需要用到Session id,所以通常情况下,我们将Session id存在Cookie里。

Cookie其实信息在用户登陆产生Session信息之后再将Session id或者别的附加信息返回给客户端,由客户端存储在本地文件里。

当浏览器向服务端发起请求时会带着Cookie里的Session id访问服务端,服务端根据Session id找到存储好的Session信息,如果信息能找到并且内容无误,即视为访问有效。

Cookie除了存储Session id外也可以存储其他非敏感的信息(例如用户昵称,头像等),提供给浏览器直接使用,而不用每次都从服务端去拿。

关于Token,实际上用在基于RESTAPI相关的服务里比较多。

它的认证机制是当用户登陆后服务端算出一个Token信息存储在服务端并返回给客户端,内容通常包含 用户id,当前时间戳,签名和其他信息。

Token在客户端一般存放于localStorage、cooki

python判断一个字母是否为小写字母?

判断字符串是否全为小写():

1.方法()用来判断字符串是否全由小写字母组成。如果字符串全由小写字母组成,返回结果True。

2.如果字符串由小写 大写字母组成,返回结果False。如果字符串含有除字母外的字符作文,返回结果假。

对象 Python 内存 字典 服务端

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。