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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 牛客网专项练习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_。


相关文章
|
Python
牛客网专项练习30天Pytnon篇第01天
牛客网专项练习30天Pytnon篇第01天
59 1
|
Python
牛客网专项练习30天Pytnon篇第23天
牛客网专项练习30天Pytnon篇第23天
85 0
|
索引 Python
牛客网专项练习30天Pytnon篇第13天
牛客网专项练习30天Pytnon篇第13天
231 0
|
安全 Python
牛客网专项练习30天Pytnon篇第30天
牛客网专项练习30天Pytnon篇第30天
146 0
|
机器学习/深度学习 索引 Python
牛客网专项练习30天Pytnon篇第06天
牛客网专项练习30天Pytnon篇第06天
63 0
|
Python
牛客网专项练习30天Pytnon篇第25天
牛客网专项练习30天Pytnon篇第25天
135 0
|
索引 Python
牛客网专项练习30天Pytnon篇第14天
牛客网专项练习30天Pytnon篇第14天
67 0
|
索引 Python
牛客网专项练习30天Pytnon篇第10天
牛客网专项练习30天Pytnon篇第10天
80 0
牛客网专项练习30天Pytnon篇第27天
牛客网专项练习30天Pytnon篇第27天
72 0
|
索引 Python
牛客网专项练习30天Pytnon篇第18天
牛客网专项练习30天Pytnon篇第18天
87 0