python编程语言和Redis数据库常见问题

本文涵盖了Python中的type()和isinstance()函数的区别,RESTfulAPI的幂等性概念,匿名函数(lambda)的定义和使用,Python中的常见异常类型,主流数据库及其开发商,操作系统介绍,以及查看网络配置的命令,Python字典内置函数,Linux文件权限,Python内置函数和魔法方法,最后讨论了Redis数据库的特点和应用场景。
摘要由CSDN通过智能技术生成

目录

一、在python中,你知道type()函数和isinstance()函数的区别?

二、简单聊了restful api设计中的幂等性操作?

三、什么是匿名函数?

四、在python中,常见的异常信息有哪些?

五、 常用的数据库有哪些?它们分别是有哪家公司开发的?

六、请列举常见的操作系统?(4个以上) 

七、请列举3个在windows和centos7中查看网卡列表和网络地址的方式和命令? 

七、在python中,字典的内置函数有哪些? 

八、 在Linux操作系统,你知道文件权限吗?

九、您能列举10个python内置函数吗?

十、请您列举9个python魔法方法? 

十一、什么是Redis?

 十二、简述Redis的优点?

十三、Redis有哪些适合的场景? 

十四、Redis中设置过期时间的方式? 

十五、缓存雪崩是啥?咋办?


一、在python中,你知道type()函数和isinstance()函数的区别?

        type()函数用于返回一个对象的类型,他可以返回对象所属类的类型信息。

        isinstance()函数用于检查一个对象是否是指定类型或其子类的实例。它返回一个布尔值,如果对象是指定类型或其子类的实例,则放回True,否则返回False。

        区别: 

  1. type()函数返回对象的具体类型,而isinstance()函数则检查对象是否是指定类型或其子类的实例。
  2. type()返回的是对象的类型,是一个类对象的实例,而isinstance()返回的是一个布尔值,表示对象是否是指定类型或其子类的实例。
  3. type()函数通常用于判断对象的具体类型,例如判断一个对象是否是整数、字符串、列表等。

二、简单聊了restful api设计中的幂等性操作?

        幂等性原本是数学中的含义,表达式的是了N次交换与1次交换的结果相同。而restful api的幂等性是指调用某个方法1次或N次对资源产生的影响结果都是相同的,需要特别注意的是:这里幂等性指的是对资源产生的影响结果,而不是调用HTTP方法的返回结果。

三、什么是匿名函数?

        在python中,匿名函数是没有名称定义的函数。它是一种简单逻辑的函数的简写形式。匿名函数也是一个函数对象,也可以赋值给一个变量,再利用变量来调用。

        语法格式:lambda  x : x + 10

        举例:        

# 匿名函数需要调用才会执行
a = lambda x : print(123)    # 冒号:后面表示返回的结果
a(456)    # 调用匿名函数a,传入一个参数,才会调用print(123)
print(type(a))    # a 是一个函数
print(a)          # a 是一个lambda函数
print(a(456))     # 匿名函数的返回值为 None

四、在python中,常见的异常信息有哪些?

  1. ValueError(数值错误):当一个函数接收到一个不合适的参数或参数时,会引发ValueError异常。例如,尝试将一个字符串转换为整数时,如果字符串无法解析为整数,就会引发ValueError。
  2. TypeError(类型错误):当操作或函数应用于不兼容的类型时,会引发TypeError异常。例如,尝试对字符串进行数值运算,获奖一个不可迭代的对象传递给一个期望可迭代对象的函数,都会引发TypeError。
  3. IndexError(索引错误):但是用无效的索引访问序列中的元素时,会引发IndexError异常。例如,尝试访问一个超出序列范围的索引或负数索引,都会引发IndexError。
  4. KeyError(键错误):当使用一个字典不存在的键访问字典元素时,会引发KeyError异常。
  5. FileNotFoundError(文件未找到错误):但尝试打开一个不存在的文件时,会引发FileNotFoundError异常。
  6. IOError(输入/输出错误):当发生输入/输出操作失败时,会引发IOError时,例如,在读取或写入文件时发生错误,就会引发IOError。
  7. ZeroDivisionError(除零错误):当尝试以零作为除数进行除法运算时,会引发ZeroDivisionError异常。

五、 常用的数据库有哪些?它们分别是有哪家公司开发的?

  1. MySQL数据库之一款开源的小型关系型数据库管理系统,是由瑞典MySQLAB公司研发的。MySQL数据库与其他数据库相比他有着体积小、速度快、使用灵活等特点。
  2. Orecle数据库是被认为比较成功的一款关系型数据,是由Oreacle公司研发的。Oracle数据库具有运行稳定、功能齐全、性能优异等特点。
  3. SQL Server数据库是一款功能全面的数据库,是由Microso公司研发的。
  4. PostgreSQL数据库是一款功能强大的开源对象关系数据库管理系统,用于安全地存储数据;支持最佳做法,并允许在处理请求时检索他们。是由PstgreSQL全球开发集团开发
  5. Sybase数据库是由美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。

六、请列举常见的操作系统?(4个以上) 

        Windows操作系统、Mac OS系统、Linux系统、UNIX系统、纯DOS系统

七、请列举3个在windows和centos7中查看网卡列表和网络地址的方式和命令? 

        windows:

  1. 使用命令提示符或P欧文人Shell:
  • 打开命令提示符或PowerShell
  • 输入命令ipconfig并按回车键
  • 查找以'以太网设配器'或'无线局域网设配器'开头的部分,每个设配器下面会显示其对应的IPv4和IPv6地址
  1. 使用Windows图形界面:
  • 打开   控制面板 -> 网络和Internet -> 网络和共享中心
  • 在左侧导航栏中,点击'更改设配器设置'
  • 查看网卡列表并双击所需的设配器
  • 在弹出的窗口中,点击'详细信息'
  • 在 'IPv4地址' 和 'IPv6地址' 字段中,可以看到该设配器的IP地址
  1. 使用第三方工具,如IPConfinger
  • 下载并安装IPConfiger工具
  • 打开IPConfiger工具
  • 在界面上,你可以看到网卡列表和相应的IP地址,以及其他网络连接和配置信息 

         centos7:

  1. 使用命令行工具  'ifconfig':
  • 打开终端
  • 输入命令inconfig并按回车键
  • 查找以'inet'开头的行,每行对应一个网卡以其IP地址
  1. 使用命令行工具  'ip':
  • 打开终端
  • 输入命令 ip addr show 并按回车键
  • 查找以 'inet' 开头的行,每行对应一个网卡以其IP地址 
  1. 使用 'nmtui' 命令:
  • 打开终端
  • 输入命令 nmtui 并按回车键,进入网络管理的文本界面
  • 使用方向键导航到 'Edit a connection',按回车键
  • 选择要查看的连接,并按回车键
  • 在弹出的窗口中,可以看到该连接的IP地址已其他网络配置信息 

七、在python中,字典的内置函数有哪些? 

  • dict.keys:返回dict_keys对象,可以查看字典所有键
  • dict.values:返回dict_values对象,可以查看字典的所有键
  • dict.items:返回dict_items对象,可以查看字典所有的二元元组
  • dict.clear:删除字典内所有的元素,清空
  • dict.copy:浅拷贝一个字典

八、 在Linux操作系统,你知道文件权限吗?

文件权限
d:文件夹
-:普通文件
l:软链接
b:块设备文件
p:管道文件
c:字符设备文件
s:套接字文件

修改文件的访问权限
指令:chmod    设置文件的访问权限

+:增加权限
-:取消权限
u:拥有者
g:拥有着同族用
o:其他用户
a:所有用户

九、您能列举10个python内置函数吗?

  1. print():打印输出文本或变量内容
  2. len():返回对象的长度或元素个数
  3. type():返回对象的类型
  4. str():将对象转换为字符串类型
  5. int():将对象转换为整数类型
  6. float():将对象转换为浮点数类型
  7. input():从用户获取输入
  8. range():生成一个整数序列
  9. list():将迭代对象转换为列表
  10. dict():创建一个字典

十、请您列举9个python魔法方法? 

  1. __init__(self, ……):初始化方法,用于在创建对象时进行初始化操作
  2. __str__(self):对象的字符串表示,通过str(obj)或print(obj)调用
  3. __len__(self):返回对象的长度,通过len(obj)调用
  4. __getitem__(self, key):获取对象的指定索引或键的值,通过obj[key]调用
  5. __setitem__(self, key, value):设置对象的指定索引或键的值,通过obj[key] = value调用
  6. __delitem__(self, key):删除对象的指定索引或键的值,通过del obj[key]调用
  7. __iter__(self):返回一个迭代器对象,用于支持对象的迭代
  8. __next__(self):迭代器的下一个元素,通过next(obj)调用
  9. __call__(self, ……):将对象作为函数调用,通过obj((……)调用

十一、什么是Redis?

        Redis是一个使用C语言编写的开源、高性能的非关系型的键值对数据库

        Redis可以存储键和五种不同类型值之间的映射,键的类型只能为字符串

        值支持五种数据类型:字符串、列表、集合、哈希、有序集合、流、位图

 十二、简述Redis的优点?

  • 支持数据持久化:支持AOF和RDB两种持久化方式,有效保证数据不丢失
  • 支持事务:Redis的所有操作都是原子性,同时Redis还支持对几个操作合并后的原子性、
  • 数据类型丰富:字符串、列表、集合、哈希、有序集合、流、位图
  • 支持主从复制:主机会自动将数据同步到从机,还可以进行读写分离

十三、Redis有哪些适合的场景? 

  1. 热点数据的缓存
  2. 限时业务的运用
  3. 计数器相关问题
  4. 排行榜相关问题
  5. 分布式锁

十四、Redis中设置过期时间的方式? 

  1. EXPIRE:将key的生存时间设置为秒
  2. PEXPIRE:将key的生成时间设置为毫秒
  3. EXPIREAT:将key的过期时间设置为timestamp所代表的秒数时间戳
  4. PEXPIREAT:将key的过期时间设置为timestamp所代表的毫秒数时间戳

十五、缓存雪崩是啥?咋办?

         缓存雪崩是指,缓存层出现了错误,不能正常工作或者是大面积的key过期

        于是大量的请求都会到达存储层,造成MySQL的访问量暴增,是的存储层挂掉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值