Python面试准备(四)之 python操作类题目

2020最新 面试| Python 自动化测试面试经典题目回顾 Python 自动化测试面试题目汇总 1、super 是干嘛用的?在 Python2 和 Python3 使用,有什么区别?为什么要使用 super?请举例说明。 答: super 用于继承父类的方法、属性。 super 是新式类中才有的,所以 Python2 中使用时,要在类名的参数中写 Object。Python3 默认是新式类,不用写,直接可用。 使用 super 可以提高代码的复用性、可维护性。修改代码时,只需修改一处。 代码举例: class baseClass: def. 阅读详情

操作类题目

  1. Python 交换两个变量的值

答:在 Python 中交换两个对象的值通过下面的方式即可

a , b = b ,a
但是需要强调的是这并不是元组解包,通过 dis 模块可以发现,这是交换操作的字节码是 ROT_TWO,意思是在栈的顶端做两个值的互换操作。

  1. 在读文件操作的时候会使用 read、readline 或者 readlines,简述它们各自的作用

答:read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果希望一行一行的输出那么就可以使用 readline(),该方法会把文件的内容加载到内存,所以对于对于大文件的读取操作来说非常的消耗内存资源,此时就可以通过 readlines 方法,将文件的句柄生成一个生产器,然后去读就可以了。

  1. json 序列化时,可以处理的数据类型有哪些?如何定制支持 datetime 类型?

答: 可以处理的数据类型是 str、int、list、tuple、dict、bool、None, 因为 datetime 类不支持 json 序列化,所以我们对它进行拓展。

#自定义时间序列化
import json
from datetime import datetime, date

#JSONEncoder 不知道怎么去把这个数据转换成 json 字符串的时候,它就会去调 default()函数,所以都是重写这个函数来处理它本身不支持的数据类型,
# default()函数默#认是直接抛异常的。
class DateToJson(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, datetime):
            return obj.strftime('%Y-%m-%d %H:%M:%S')
        elif isinstance(obj, date):
            return obj.strftime('%Y-%m-%d')
        else:
            return json.JSONEncoder.default(self, obj)


d = {'name': 'cxa', 'data': datetime.now()}
print(json.dumps(d, cls=DateToJson))
  1. json 序列化时,默认遇到中文会转换成 unicode,如果想要保留中文怎么办?

答:可以通过 json.dumps 的 ensure_ascii 参数解决,代码示例如下:

import json
a=json.dumps({"name":"张三"},ensure_ascii=False)
print(a)
  1. 有两个磁盘文件 A 和 B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件 C 中。

答:

#文件 A.txt 内容为 ASDCF
#文件 B.txt 内容为 EFGGTG
with open("A.txt") as f1:
    f1_txt = f1.readline()
with open("B.txt") as f2:
    f2_txt = f2.readline()
f3_txt = f1_txt + f2_txt

f3_list = sorted(f3_txt)

with open("C.txt", "a+") as f:
     f.write("".join(f3_list))
输出的文件 C 的内容为 ACDEFFGGGST
  1. 如果当前的日期为 20190530,要求写一个函数输出 N 天后的日期,(比如 N 为 2,则输出 20190601)。

答:这个题目考察的是 datetime 里的 timedelta 方法的使用,参数可选、默认值都为 0:datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) 通过这个参数可以指定不同的日期类型进行加减操作,这里我们需要改的是 days,代码如下

import datetime


def datetime_operate(n: int):
    now = datetime.datetime.now()  # 获取当前时间
    _new_date = now + datetime.timedelta(days=n)  # 获取指定天数后的新日期
    new_date = _new_date.strftime("%Y%m%d")  # 转换为指定的输出格式
    return new_date


if __name__ == '__main__':
    print(datetime_operate(4))
  1. 写一个函数,接收整数参数 n,返回一个函数,函数的功能是把函数的参数和 n 相乘并把结果返回。

答:这个题目考查了闭包的使用代码示例如下,返回函数之类型是函数对象。

def mul_operate(num):
    def g(val):
        return num * val

    return g


m = mul_operate(8)
print(m(5))
  1. 下面代码会存在什么问题,如何改进?

    def strappend(num):
    str=‘first’
    for i in range(num):
    str+=str(i)
    return str

答: 首先不应该使用 Python 的内置类似 str 作为变量名这里我把它改为了 s,另外在Python,str 是个不可变对象,每次迭代都会生成新的存储空间,num 越大,创建的 str 对象就会越多,内存消耗越大。使用 yield 改成生成器即可, 还有一点就是命名规范的位置,函数名改为_分割比较好,完整的代码如下:

def str_append(num):
    s = 'first'
    for i in range(num):
        s += str(i)
        yield s

if __name__ == '__main__':
    for i in str_append(3):
        print(i)
  1. 一行代码输出 1-100 之间的所有偶数。

答:可以通过列表生成式,然后使用与操作如果如 1 与之后结果为 0 则表明为偶数,等于 1 则为奇数。

# 方法1
print([i for i in range(1, 101) if i & 0x1 == 0])
# 方法2:测试发现方法二效率更高
print(list(range(2, 101, 2)))
  1. with 语句的作用,写一段代码?

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

其他的内容看下面我之前写的代码。

#一般访问文件资源时我们会这样处理:

f = open(
    'c:\test.txt', 'r')
data = f.read()
f.close()
# 这样写没有错,但是容易犯两个毛病:
# 1. 如果在读写时出现异常而忘了异常处理。
# 2. 忘了关闭文件句柄

#以下的加强版本的写法:

f = open('c:\test.txt', 'r')
try:
    data = f.read()
finally:
    f.close()

#以上的写法就可以避免因读取文件时异常的发生而没有关闭问题的处理了。代码长了一些。
#但使用 with 有更优雅的写法:

with open(r'c:\test.txt', 'r') as f:
    data = f.read()
#with 的实现

class Test:
    def __enter__(self):
        print('__enter__() is call!')
        return self

    def dosomething(self):
        print('dosomethong!')

    def __exit__(self, exc_type, exc_value, traceback):
        print('__exit__() is call!')
        print(f'type:{exc_type}')
        print(f'value:{exc_value}')
        print(f'trace:{traceback}')
        print('__exit()__ is call!')

with Test() as sample:
      pass

#当对象被实例化时,就会主动调用__enter__()方法,任务执行完成后就会调用__exit__()方法,
#另外,注意到,__exit__()方法是带有三个参数的(exc_type, exc_value, traceback),
#依据上面的官方说明:如果上下文运行时没有异常发生,那么三个参数都将置为 None, 
#这里三个参数由于没有发生异常,的确是置为了 None, 与预期一致.

# 修改后不出异常了
class Test:
    def __enter__(self):
        print('__enter__() is call!')
        return self

    def dosomething(self):
        x = 1/0
        print('dosomethong!')

    def __exit__(self, exc_type, exc_value, traceback):
        print('__exit__() is call!')
        print(f'type:{exc_type}')
        print(f'value:{exc_value}')
        print(f'trace:{traceback}')
        print('__exit()__ is call!')
        return True


with Test() as sample:
  1. Python 字典和 json 字符串相互转化方法

答:

在 Python 中使用 dumps 方法 将 dict 对象转为 Json 对象,使用 loads 方法可以将 Json 对象转为 dict 对象。

dic = {'a': 123, 'b': "456", 'c': "liming"}
json_str = json.dumps(dic)
dic2 = json.loads(json_str)
print(dic2)
打印:
'{"a": 123, "b": "456", "c": "liming"}'
{'a': 123, 'b': '456', 'c': 'liming'}
我们再来看一个特殊的例子

import json
dic = {'a': 123, 'b': "456", 'c': "liming"}
dic_str = json.loads(str(dic).replace("'", "\""))
print(dic_str)

下面我解释下上面代码是测试什么:

首先 json.loads(jsonstr) 这里面的参数只能是 jsonstr 格式的字符串.
当我们使用 str 将字典 dic 转化为字符串以后,得到的结果为:"{‘a’: 123, ‘b’: ‘456’, ‘c’: ‘liming’}"。
如果直接使用 json.loads(str(dic)) 你会发现出现错误,原因就是,单引号的字符串不符合Json的标准格式所以再次使用了 replace("’", “”")。得到字典
其实这个例子主要目的是告诉大家 Json 的标准格式是不支持单引号型字符串的,否则会出现以下错误。
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
60. 请写一个 Python 逻辑,计算一个文件中的大写字母数量

答:

with open('A.txt') as fs:
    count = 0
    for i in fs.read():
        if i.isupper():
            count += 1
print(count)
61. 请写一段 Python连接Mongo数据库,然后的查询代码。

答:

# -*- coding: utf-8 -*-
# @Author : 陈祥安
import pymongo
db_configs = {
    'type': 'mongo',
    'host': '地址',
    'port': '端口',
    'user': 'spider_data',
    'passwd': '密码',
    'db_name': 'spider_data'
}


class Mongo():
    def __init__(self, db=db_configs["db_name"], username=db_configs["user"],
                 password=db_configs["passwd"]):
        self.client = pymongo.MongoClient(f'mongodb://{db_configs["host"]}:db_configs["port"]')
        self.username = username
        self.password = password
        if self.username and self.password:
            self.db1 = self.client[db].authenticate(self.username, self.password)
        self.db1 = self.client[db]

    def find_data(self):
        # 获取状态为0的数据
        data = self.db1.test.find({"status": 0})
        gen = (item for item in data)
        return gen

if __name__ == '__main__':
    m = Mongo()
    print(m.find_data())
  1. 说一说Redis的基本类型

答: Redis 支持五种数据类型: string(字符串) 、 hash(哈希)、list(列表) 、 set(集合) 及 zset(sorted set: 有序集合)。

  1. 请写一段 Python连接Redis数据库的代码。

答:

from redis import StrictRedis, ConnectionPool
redis_url="redis:/[敲打]xx@112.27.10.168:6379/15"
pool = ConnectionPool.from_url(redis_url, decode_responses=True)
r= StrictRedis(connection_pool=pool)
  1. 请写一段 Python连接Mysql数据库的代码。

答:

conn = pymysql.connect(host='localhost', 
port=3306, user='root', 
passwd='1234', db='user', charset='utf8mb4')#声明mysql连接对象
cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)#查询结果以字典的形式
cursor.execute(sql语句字符串)#执行sql语句
conn.close()#关闭链接

65.了解Redis的事务么

答: 简单理解,可以认为 redis 事务是一些列 redis 命令的集合,并且有如下两个特点: 1.事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 2.事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 一般来说,事务有四个性质称为ACID,分别是原子性,一致性,隔离性和持久性。 一个事务从开始到执行会经历以下三个阶段:

开始事务
命令入队
执行事务 代码示例:

import redis
import sys
def run():   
    try:
        conn=redis.StrictRedis('192.168.80.41')
       # Python中redis事务是通过pipeline的封装实现的
        pipe=conn.pipeline()
        pipe.sadd('s001','a')
        sys.exit()
        #在事务还没有提交前退出,所以事务不会被执行。
        pipe.sadd('s001','b')
        pipe.execute()
        pass
    except Exception as err:
        print(err)
        pass
if __name__=="__main__":
      run()

66.了解数据库的三范式么?

答: 经过研究和对使用中问题的总结,对于设计数据库提出了一些规范,这些规范被称为范式 一般需要遵守下面3范式即可: 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。 第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。

67.了解分布式锁么

答: 分布式锁是控制分布式系统之间的同步访问共享资源的一种方式。 对于分布式锁的目标,我们必须首先明确三点:

任何一个时间点必须只能够有一个客户端拥有锁。
不能够有死锁,也就是最终客户端都能够获得锁,尽管可能会经历失败。
错误容忍性要好,只要有大部分的Redis实例存活,客户端就应该能够获得锁。 分布式锁的条件 互斥性:分布式锁需要保证在不同节点的不同线程的互斥 可重入性:同一个节点上的同一个线程如果获取了锁之后,能够再次获取这个锁。 锁超时:支持超时释放锁,防止死锁 高效,高可用:加锁和解锁需要高效,同时也需要保证高可用防止分布式锁失效,可以增加降级。 支持阻塞和非阻塞:可以实现超时获取失败,tryLock(long timeOut) 支持公平锁和非公平锁
分布式锁的实现方案 1、数据库实现(乐观锁) 2、基于zookeeper的实现 3、基于Redis的实现(推荐)

68.用 Python 实现一个 Reids 的分布式锁的功能

答:REDIS分布式锁实现的方式:SETNX + GETSET,NX是Not eXists的缩写,如SETNX命令就应该理解为:SET if Not eXists。 多个进程执行以下Redis命令:

SETNX lock.foo <current Unix time + lock timeout + 1>

如果 SETNX 返回1,说明该进程获得锁,SETNX将键 lock.foo 的值设置为锁的超时时间(当前时间 + 锁的有效时间)。 如果 SETNX 返回0,说明其他进程已经获得了锁,进程不能进入临界区。进程可以在一个循环中不断地尝试 SETNX 操作,以获得锁。

import time
import redis
from conf.config import REDIS_HOST, REDIS_PORT, REDIS_PASSWORD

class RedisLock:
    def __init__(self):
        self.conn = redis.Redis(host=REDIS_HOST, port=REDIS_PORT, password=REDIS_PASSWORD, db=1)
        self._lock = 0
        self.lock_key = ""
    @staticmethod
    def my_float(timestamp):
        """
        Args:
            timestamp:
        Returns:
            float或者0
            如果取出的是None,说明原本锁并没人用,getset已经写入,返回0,可以继续操作。
        """
        if timestamp:
            return float(timestamp)
        else:
            #防止取出的值为None,转换float报错
            return 0

    @staticmethod
    def get_lock(cls, key, timeout=10):
        cls.lock_key = f"{key}_dynamic_lock"
        while cls._lock != 1:
            timestamp = time.time() + timeout + 1
            cls._lock = cls.conn.setnx(cls.lock_key, timestamp)
            # if 条件中,可能在运行到or之后被释放,也可能在and之后被释放
            # 将导致 get到一个None,float失败。
            if cls._lock == 1 or (
                            time.time() > cls.my_float(cls.conn.get(cls.lock_key)) and
                            time.time() > cls.my_float(cls.conn.getset(cls.lock_key, timestamp))):
                break
            else:
                time.sleep(0.3)

    @staticmethod
    def release(cls):
        if cls.conn.get(cls.lock_key) and time.time() < cls.conn.get(cls.lock_key):
            cls.conn.delete(cls.lock_key)


def redis_lock_deco(cls):
    def _deco(func):
        def __deco(*args, **kwargs):
            cls.get_lock(cls, args[1])
            try:
                return func(*args, **kwargs)
            finally:
                cls.release(cls)
        return __deco
    return _deco


@redis_lock_deco(RedisLock())
def my_func():
    print("myfunc() called.")
    time.sleep(20)

if __name__ == "__main__":
    my_func()

69.写一段 Python 使用 mongo 数据库创建索引的代码:

答:

# -*- coding: utf-8 -*-
# @Time : 2018/12/28 10:01 AM
# @Author : cxa
import pymongo
db_configs = {
    'type': 'mongo',
    'host': '地址',
    'port': '端口',
    'user': 'spider_data',
    'passwd': '密码',
    'db_name': 'spider_data'
}


class Mongo():
    def __init__(self, db=db_configs["db_name"], username=db_configs["user"],
                 password=db_configs["passwd"]):
        self.client = pymongo.MongoClient(f'mongodb://{db_configs["host"]}:{db_configs["port"]}')
        self.username = username
        self.password = password
        if self.username and self.password:
            self.db1 = self.client[db].authenticate(self.username, self.password)
        self.db1 = self.client[db]

    def add_index(self):
        """
          通过create_index添加索引
        """
        self.db1.test.create_index([('name', pymongo.ASCENDING)], unique=True)

    def get_index(self,):
        """
          查看索引列表
        """
        indexlist=self.db1.test.list_indexes()
        for index in indexlist:
            print(index)

if __name__ == '__main__':
    m = Mongo()
    m.add_index()
    print(m.get_index())
面试Python工程师会问哪些问题?需要准备什么?| 面试官这样说 我们在参加Python开发岗位面试的时候都要做哪些准备? 一般Python技术方面的面试会问哪些问题? 今天,我们从2位面试官的角度来看看,参加Python开发岗面试需要做哪些准备。 1 我之前在豆瓣负责过一段时间我们组的技术面试。由于现在不再去面试,可以爆一爆。 1. 我从来不问google可获得的答案的问题, 只是问问面试者「在过去的工作中,遇到的Ta认为最有成就感的一件事情是什么」和「如果出现了一个google不到的问题,你会怎么解决」这样的问题。 2. 我从来不问操作系统等和Python无关的话题, 阅读详情

相关推荐

Python 面试全攻略:从准备到应对,解锁面试成功密码

项目经验是面试中展示个人能力的重要依据。在面试前,要对自己参与过的 Python 项目进行全面梳理和总结,包括项目背景、目标、技术选型、实现过程、遇到的问题及解决方案等。在描述项目时,要突出自己在项目中的角色和贡献,强调解决问题的思路和方法,以及取得的成果和收获。可以准备一些项目代码片段或案例,在面试中展示自己的编程能力和解决实际问题的能力。同时,要对项目中使用的技术和工具进行深入思考,了解其优缺点和适用场景,以便在面试中能够与面试官进行深入的交流。

饼干的博客 1430

Java基础之练习题03

想测试的话,复制然后在main方法里调用一下就完事了 1.写一个函数add,接受两个整数作为参数,返回两个整数的和 代码: //两数之和 public static int q_1(int a,int b) { return a+b; } 2.写一个函数,接受一个整数,输出这个整数的所有因子 代码: //求因数 public static void q_2(int x) { for(int i=1;i<x;i++) { if(x%i==0) { System.out.print(i+"

qq_43336579的博客 1507

python考试题目及答案-python考试题库

广告关闭2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。4. 能够阅读和分析 python程序。 5. 熟练使用idle开发环境,能够将脚本程序转变为可执行程序。 6. 了解python计算生态在以下方面(不限于)的主要第三方库名称:网络爬虫、数据分析、数据可视化、机器学习、web开发等。 考试内容一、 python语言基本语法元...

q6q6q的专栏 1万+

python面试题总结(7)--操作类

1. Python 交换两个变量的值 答:在 Python 中交换两个对象的值通过下面的方式即可 a , b = b ,a 但是需要强调的是这并不是元组解包,通过 dis 模块可以发现,这是交换操作的字节码是 ROT_TWO,意思是在栈的顶端做两个值的互换操作。 2. 在读文件操作的时候会使用 read、readline 或者 readlines,简述它们各自的作用 答:.read() 每次读取整...

fanxindong0620的博客 454

备战金三银四,腾讯Python开发实习岗面试题

自我介绍 首先简单介绍一下自己的情况:本科山东大学,专业软件工程。没有任何项目经验,也没有任何科研竞赛经历,有参与过一篇SCI论文在投(不是第一作者,不过没啥用),当过几个学生干部,实习只有一个通信模块和商城模块的实习经历,其他的就没啥拿得出手的资历了。 面试经历 (总用时1小时) 今天受约去腾讯复试了Python开发,公司主要的项目是做自动化测试系统。早上匆匆吃了早餐坐了20站地铁来到了科兴大厦C1一楼,进去是有门禁的,拿身份证在一楼的机器上输入预约码,会给一张纸上面有二维码,刷二维码就可以进去。来到八楼

JAVAmonster12的博客 1009

常见的python与爬虫面试题准备好了

init:对象初始化方法new:创建对象时候执行的方法,单列模式会用到str:当使用print输出对象的时候,只要自己定义了str(self)方法,那么就会打印从在这个方法中return的数据del:删除对象执行的方法散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字 “指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。

m0_72444380的博客 1270

python 专题十四 字典

字典 >>> {} # 空字典 {} >>> {"a":1, "b":2} # 普通构造方式 {'a': 1, 'b': 2} >>> dict(a = 1, b = 2) # 构造 {'a': 1, 'b': 2} >>> dict((["a", 1], ["b", 2])) # 用两个序列类型构造字典。 {'a': 1, 'b': 2} >>> dict(zip(

wcc526的专栏 4127

selenium+python面试题目总结

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

m0_60635321的博客 997

python, 交换列表中的两个值遇到的坑

python中交换两个值有种很方便的用法,如下 a, b = b, a 对于两侧都只有2或3个值的时候,它是通过栈stack来操作的 >>> import dis >>> def foo(a, b): ... a, b = b, a ... >>> dis.dis(foo) 2 0 LOAD_FAST ...

weixin_39544046的博客 1103

Python高频面试题 - 操作类题目五道

Python高频面试题 - 操作类题目五道

孤寒者的博客 1万+

别再纠结了!车规MCU选M7还是R52?一张图看懂你的车身控制器/域控制器该用谁

本文深入探讨车规MCU选型中Cortex-M7与Cortex-R52的核心差异,提供基于安全等级与实时性需求的选型决策图。通过对比ASIL认证、实时性能及成本效益,帮助工程师在车身控制器/域控制器设计中做出精准选择,避免潜在风险与隐性成本。

weixin_42628688的博客 397

Python数据类型练习1

Python数据类型练习

2301_76550501的博客 1652

H无穷控制学习笔记——加权灵敏度H无穷控制问题

一、加权灵敏度H无穷问题 系统结构如上图所示。被控对象P的状态空间方程为(Ap,Bp,Cp,DpA_p,B_p,C_p,D_pAp​,Bp​,Cp​,Dp​),加权函数W1的状态空间方程为(A1,B1,C1,D1A_1,B_1,C_1,D_1A1​,B1​,C1​,D1​),加权函数W2的状态空间方程为(A2,B2,C2,D2A_2,B_2,C_2,D_2A2​,B2​,C2​,D2​),加权函数W3的状态空间方程为(A3,B3,C3,D3A_3,B_3,C_3,D_3A3​,B3​,C3​,D3​)。

一饮丶一啄的博客 4350

数据分析岗位面试准备请看这篇!

面试过一些人,也被人面试过,今天我来谈谈对数据分析岗位面试准备的理解,特别是互联网行业面试考察的主要方面,以及如何快速准备。注意,面试准备大体上仅针对面试,并不会涵盖数据分析全方面的知识...

luoluo96321的博客 9693

从5V降到3.3V,你的LDO到底有多烫?手把手算功耗、选散热,避开这些坑

本文详细解析了LDO在5V转3.3V电路中的发热问题,提供了精确的功耗计算公式和散热设计方法。通过对比不同封装的热阻参数和优化PCB布局,帮助工程师有效降低LDO温度,避免热保护触发。文章还探讨了替代方案的技术拐点,为电源系统优化设计提供实用指导。

weixin_30304375的博客 436

基于Qt C++开发一款国产化的福昕风格PDF编辑工具

QString text = QInputDialog::getText(this, "文本批注", "输入批注内容:", QLineEdit::Normal, "", &ok);QString savePath = QFileDialog::getSaveFileName(this, "保存加密PDF", "", "PDF文件 (*.pdf)");QAction* zoomInAct = new QAction(QIcon::fromTheme("zoom-in"), "放大", this);

寒寒豆豆软件公司的博客 237

python面试题目

(前端+django+爬虫+数据分析+机器学习+NLP+Linux) Web全栈开发+数据分析(含爬虫)2份简历 技术要求 django+docker+ 数据分析 爬虫+数据分析 django + flask + bootstrap + echarts.js vue.js + tornado + 数据分析+异步(前后端分离) vue.js、restful风格、node.js、docker、前后端...

eric的博客 2799

基于STM32L4XX、HAL库的DP83822 以太网收发器(PHY)驱动程序设计

一、简介:DP83822是德州仪器(TI)推出的一款低功耗、高性能10/100Mbps以太网物理层收发器(PHY)。它具有以下主要特性:支持10BASE-T和100BASE-TX以太网标准低功耗设计,适合嵌入式应用MII/RMII接口,方便与微控制器连接内置自检和诊断功能支持自动协商和手动配置工业级温度范围(-40°C至+85°C)

zhusl6688的博客 528

不打无准备之战,Python100道经典题目,新人小白参考学习(附答案)

不打无准备之战,Python100道经典题目,新人小白参考学习(附答案)

xiangxue888的博客 8090

【Python百日进阶-Web开发-Feffery】Day385 -“一起Dash”训练营Lesson-07_利用fac构建表单(上)

文章目录前言:fac是什么?“人生苦短,我用Python;Web开发,首选Feffery!”↓↓↓ 今日笔记 ↓↓↓一、费老师课堂1.1 什么是表单1.2 页面效果1.3 课堂源码二、课后作业2.1 页面效果2.2 项目源码 前言:fac是什么? feffery-antd-components(简称fac),是国内大佬费弗里(Feffery)老师基于著名的React UI组件库ant design进行二次开发,将ant design中的诸多实用组件及特性引入Dash,帮助开发者使用极低的纯Python代

专注于医院数据分析技术与系统开发的创作与分享。 251

Google 二次签名 导致 Facebook , Google 登录失败

google 授权登录

xq610928的博客 1957

python后端面试题目总结

此文作为面试题目记录,其中会有一些自己遇到过的和在网上看到的比较具有代表性的面试题,其中如果在前面文章中已经写过的就会比较简略,持续更新,没有顺序。 1、python中的浅拷贝与深拷贝,变量及其引用(python基础) 参https://blog.csdn.net/weixin_44806420/article/details/96456447 python中的赋值变量全部都是引用。 2、数据库的...

weixin_44806420的博客 835

【STM32Cube_14】使用硬件I2C读写环境光强度传感器(BH1750)

本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设读取环境光强度传感器数据(BH1750)

Mculover666的博客(嵌入式) 7242

不打无准备之战,Python100道经典题目,参考学习(附答案)

近年来,Python在编程语言界里赚足了风头,无论是受欢迎程度,还是薪资待遇,都非常可观,相应的,Python岗位要求也越来越高,无论你是零基础还是老前辈,在Python面试中都不能轻视。不打无准备之战,在平时我们就需要多积累,今天就给大家分享一份,全是,非常全面,,供大家参考学习。题目答案一一对应,,不仅可当作练习使用,也可以当作面试参考,建议人手一份。

xx_nm98的博客 3007

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python面试50题!面试巩固必看!

鸭子类型是动态类型语言判断一个对象是不是某种类型时使用的方法,也叫做鸭子判定法。简单的说,鸭子类型是指判断一只鸟是不是鸭子,我们只关心它游泳像不像鸭子、叫起来像不像鸭子、走路像不像鸭子就足够了。换言之,如果对象的行为跟我们的预期是一致的(能够接受某些消息),我们就认定它是某种类型的对象。bytesbytearraymemoryviewStringIOBytesIOGzipFilesocketstrbytes),其中file-like对象都能支持read和write。

Saki_Python的博客 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Python面试小白指南:从零开始准备

Python面试并不难,关键在于打好基础和多加练习。如果你觉得手动编写代码和测试比较麻烦,可以试试InsCode(快马)平台,它提供了便捷的代码编辑和运行环境,还能一键部署项目,非常适合新手快速上手。我自己用过几次,发现它的界面很友好,操作简单,特别适合用来练习面试题。

CrystalwaveStag的博客 861
上一篇: Python面试准备(三)之 python数据类型
下一篇: Python 小易的字典
GhostintheCode
博客等级 码龄8年 53粉丝 105原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值