牛客网专项练习30天Pytnon篇第09天

简介: 牛客网专项练习30天Pytnon篇第09天

1.有一段python的编码程序如下,请问经过该编码的字符串的解码顺序是:(D)

urllib.quote(line.decode("gbk").encode("utf-16"))

A.gbk utf16 url解码


B.gbk url解码 utf16


C.url解码 gbk utf16


D.url解码 utf16 gbk


解析:


      字符串编译的过程:gbk==>unicode==>utf16==>url解码


      字符串解码顺序为:url解码==>utf16==>unicode==>gbk


2.下面有关计算机基本原理的说法中,正确的一项是:(D)


A.堆栈(stack)在内存中总是由高地址向低地址方向增长的。


B.发生函数调用时,函数的参数总是通过压入堆栈(stack)的方式来传递的。


C.在64位计算机上,Python3代码中的int类型可以表示的最大数值是2^64-1。


D.在任何计算机上,Python3代码中的float类型都没有办法直接表示[0,1]区间内的所有实数。


解析:


      A:Intel中规定,栈是从高地址向低地址生长的;堆是由低地址向高地址增长的。ARM就没有规定的很死,可以选择栈是升序还是降序。


      B:x64下面在x64下函数调用的前4个参数总是放在寄存器中传递,剩余的参数则压入堆栈中。而x86上则是全部压入堆栈中(除了fastcall方式)。这4个用于存放参数的寄存器分别是:存放整数参数的RCX,RDX,R8,R9;存放浮点数参数的XMM0,XMM1,XMM2,XMM3。


      C:32位机器上,整数位数取值范围-2^31~2^31-1,即-2147483648~2147483647;64位系统上,整数位数取值范围-2^63~2^63-1,即-9223372036854775808~9223372036854775807。


      D:只要知道,计算机里的浮点类型只是一种用离散方式近似表达实数区间的方法,就可以知道,Python 里的 float 是不可能涵盖 [0,1] 区间内的所有实数的。即,只是---近似---表示,不是真正的能表达实数区间。


3.对于python中__new__和__init__的区别,下列说法正确的是:(ABCD)


A.__new__是一个静态方法,而__init__是一个实例方法


B.__new__方法会返回一个创建的实例,而__init__什么都不返回


C.只有在__new__返回一个cls的实例时,后面的__init__才能被调用


D.当创建一个新实例时调用__new__,初始化一个实例时用__init__


解析:


      __init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。__new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法。__new__在__init__之前被调用,__new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数。


4.下列关于python socket操作叙述正确的是:(CD)


A.使用recvfrom()接收TCP数据


B.使用getsockname()获取连接套接字的远程地址


C.使用connect()初始化TCP服务器连接


D.服务端使用listen()开始TCP监听


解析:


      sk.recv(bufsize[,flag]):接受套接字的数据。数据以字符串形式返回,bufsize指定最多可以接收的数量。flag提供有关消息的其他信息,通常可以忽略。


      sk.recvfrom(bufsize[.flag]):与recv()类似,但返回值是(data,address)。其中data是包含接收数据的字符串,address是发送数据的套接字地址。


      sk.getsockname():返回套接字自己的地址。通常是一个元组(ipaddr,port)


      sk.connect(address):连接到address处的套接字。address的格式为元组(hostname,port),如果连接出错,返回socket.error错误。


      sk.listen(backlog):开始监听传入连接。backlog指定在拒绝连接之前,可以挂起的最大连接数量。


5.对于Python类中单下划线_foo、双下划线__foo与__foo__的成员,说法正确的是:(ABC)


A._foo 不能直接用于’from module import *’


B.__foo解析器用_classname__foo来代替这个名字,以区别和其他类相同的命名


C.__foo__代表python里特殊方法专用的标识


D.__foo 可以直接用于’from module import *’


解析:


      1)example:前后无下划线表示该变量、函数、成员或方法公有,可以以任何形式访问。


      2)_example:前置单下划线表示该内容受保护。如果是变量或函数,在from some_module import *这种情况下,不会被导入。如果是成员或者方法,仅允许类内部使用及该类的子类继承。


      3)__example:前置双下划线表示该变量、函数、成员或方法私有,无法被外部直接使用。类的私有成员及方法无法被子类继承,但本类仍可以用a_instance._ClassName__MethodName()来调用。


      4)__example__:前后双下划线的命名方式用于python里的特殊方法。


      5)example_:后置单下划线,用于避免和Python关键词冲突,无特殊含义,例如:int_。


相关文章
|
7月前
|
存储 人工智能 安全
业财一体 ERP 数智化管理系统
业财一体 ERP 数智化管理系统是基于钉钉 + 钉钉低代码构建,作为企业管理体系数字化转型升级的驱动器,目标是将业务管理与财务管理深度融合,帮助企业构建一个集成、高效、智能的管理体系。旨在通过先进的信息技术,打通各业务模块数据传递链路,进行业务财务的一体化管理,采取智能化手段大幅度提升工作效率,逐步实现企业数字化转型和智能化改造。
367 12
|
Java Spring 监控
Spring Boot Actuator:守护你的应用心跳,让监控变得触手可及!
【8月更文挑战第31天】Spring Boot Actuator 是 Spring Boot 框架的核心模块之一,提供了生产就绪的特性,用于监控和管理 Spring Boot 应用程序。通过 Actuator,开发者可以轻松访问应用内部状态、执行健康检查、收集度量指标等。启用 Actuator 需在 `pom.xml` 中添加 `spring-boot-starter-actuator` 依赖,并通过配置文件调整端点暴露和安全性。Actuator 还支持与外部监控工具(如 Prometheus)集成,实现全面的应用性能监控。正确配置 Actuator 可显著提升应用的稳定性和安全性。
503 0
|
安全 网络协议 前端开发
< 了解 HTTP 这一篇就够了 :什么是 HTTP ?HTTP 和 HTTPS 有什么区别 ? >
在前端开发中,是和浏览器打交道最为频繁的行业之一。但是大部分卷王们,可能仅仅是知道如何使用浏览器,只是知道 URL 跳转到浏览器变成一个完整的网页。 本篇文章将讲述 什么是HTTP、 HTTP 和 HTTPS的区别 及 URL 是如何渲染到页面。 那么到这里,肯定会有人问: 那我们为什么要学习这个呢 ? 问得好,这个分为两方面: 一是学习上述内容,能够厚实我们的理论基础。有些内容,虽然用的不多,但是技多不压身,道理懂吧? 二是学习这个,对我们后续的性能优化、排查浏览器上某些错误 的能力都有提升!
1037 0
< 了解 HTTP 这一篇就够了 :什么是 HTTP ?HTTP 和 HTTPS 有什么区别 ? >
|
Unix Linux
# chkconfig: 2345 40 60 是什么
【6月更文挑战第10天】# chkconfig: 2345 40 60 是什么
80 5
|
机器学习/深度学习 人工智能 编解码
一文读懂“生成式 AI”
本文基于谷歌的:《Introduction to Generative AI》整理而成,帮助大家理解生成式 AI 这个概念
7666 1
一文读懂“生成式 AI”
vscode 如何修改c/c++格式化风格,大括号不换行
vscode 如何修改c/c++格式化风格,大括号不换行
|
存储 消息中间件 监控
架构设计第42讲:美团 - 可视化全链路日志追踪
架构设计第42讲:美团 - 可视化全链路日志追踪
664 0
|
人工智能 大数据 云计算
阿里考试的经历和心得
去年我打算考阿里云ACP认证,本来非常信心满满,但是现实给我上了一堂大课,我足足考了两次才考过,最近我有很多师弟师妹来问我考证的事,我决定把这次经历分享出来。
366 0
|
应用服务中间件 API
Postman HTTP Status 400 问题
转载https://blog.csdn.net/qq_15118961/article/details/80422379