1.https://www.nowcoder.com/test/question/done?tid=24193506&qid=141954
Python 中字符串的前导 r
代表原始字符串标识符,该字符串中的特殊符号不会被转义,适用于正则表达式中繁杂的特殊符号表示。
最典型的例子,如要输出字符串 \n
,由于反斜杠的转义,因此一般的输出语句为:
1 |
|
这里的 \\
将被转义为 \
。而采用原始字符串输出时,则不会对字符串进行转义:
1 |
|
因此本题答案为 C,输出 \nwoow
。注意前导标识符 r
不会被输出,只起标记作用。
2. https://www.nowcoder.com/test/question/done?tid=24193506&qid=141941#summary
多重赋值:x=y=z=1
多元赋值:x,y,z=1,3,'a string'
增量赋值:x+=1
但是y=(x=x+1)
并不适用python,等号右边不能是赋值语句
3.
b是B的实例(instance),也是A的实例(instance),
b不是B的子类(subclass)
4.
1.xrange() 函数用法与 range 完全相同,
所不同的是生成的不是一个数组,而是一个生成器。
2.0的任何次方的值都为1
所以答案为:
0**0=1 , 1**1=1, 2**2=4
5.
原来 Python2 的 math.floor() 函数返回值是浮点型,请大家注意!所以答案应该为5.0。
python3 返回的是整型
6.
sys.argv是命令参数表,包括文件名
argv[
0
]: 【path】
/
my.py
argv[
1
]: v1
argv[
2
]: v2
7.
在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量、可以作为元素添加到集合对象中、可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的。
8.
ython标识符可以使用下划线 字母 数字组成
但是数字不允许作为标识符的开头出现
9.
python 中的标准数据类型:
其中数字类型有:
注意:
string 不是 char!!!!
可变数据类型:列表list[ ]、字典dict{ }
不可变数据类型:整型int、字符串str' '、元组tuple()
10.
答案选B,因为Python 中浮点数的运算存在误差,动手实践就能得到验证,如下图所示:
具体原因是1.2 - 1.0的值不是0.2,而是0.19999999999999996。
11、
C语言中字符串使用'\0'作为结束符以防止越界,但python中字符串其实是一个固定长度的字符数组,并不需要结束符。
12、
这道题考察的是Python的变量作用于(即LEGB规则)
LEGB规则,表示的是Local -> Enclosed -> Global -> Built-in,其中的箭头方向表示的是搜索顺序。
- Local 可能是在一个函数或者类方法内部。
- Enclosed 可能是嵌套函数内,比如说 一个函数包裹在另一个函数内部。
- Global 代表的是执行脚本自身的最高层次。
- Built-in 是Python为自身保留的特殊名称。
因此,如果某个name:object映射在局部(local)命名空间中没有找到,接下来就会在闭包作用域(enclosed)进行搜索,如果闭包作用域也没有找到,Python就会到全局(global)命名空间中进行查找,最后会在内建(built-in)命名空间搜索(注:如果一个名称在所有命名空间中都没有找到,就会产生一个NameError)。
13、
本题主要考察 Python 基本语法与运算符的使用,下面逐个分析每个选项:
A、三元运算符的使用。基本语法为:
1 |
|
上述语句当 condition 为真时等于 a,为假时等于 b。因此 A 选项改为下列语句则正确:
1 |
|
B、还是三元运算符的使用,只不过 B 选项的用法在 C、Java 等语言中成立,在 Python 中没有此用法,正确用法参见选项 A。
C、if 语句缺少冒号,并且正确用法如下:
1 |
|
D、while 语句与 pass 语句的使用。pass语句为空语句,意义只是为了保持程序结构的完整性。该选项写法正确,故选 D。
14、
由于比较运算符优先级大于逻辑运算符,根据上表,当 a > 'b',即 'a' > 'b' 为 Fasle 时('a' 的 ASCII 码比 ‘b’ 小),返回值为 'c',故答案选C。
15、
选项 A:Python 中复数的表示方法;
选项 B:复数的实部与虚部均为浮点数;
选项 C:虚部的后缀可以是 “j” 或者 “J”;
选项 D:复数的 conjugate 方法可以返回该复数的共轭复数
16、
try:的语句出现异常才会执行except后的语句,如果正常,则执行完try后执行else。另外,finally语句不管有无异常都会执行。
17、
Python2 中除法默认向下取整,因此 1/2 = 0,为整型。
For (plain or long) integer division, the result is an integer. The result is always rounded towards minus infinity: 1/2 is 0, (-1)/2 is -1, 1/(-2) is -1, and (-1)/(-2) is 0.
而 Python3 中的除法为正常除法,会保留小数位,因此 1/2 = 0.5,为浮点型。
可参考官方文档:
18、
python中主要存在四种命名方式:
1、object #公用方法
2、_object #半保护
#被看作是“protect”,意思是只有类对象和子类对象自己能访问到这些变量,
在模块或类外不可以使用,不能用’from module import *’导入。
#__object 是为了避免与子类的方法名称冲突, 对于该标识符描述的方法,父
类的方法不能轻易地被子类的方法覆盖,他们的名字实际上是
_classname__methodname。
3、_ _ object #全私有,全保护
#私有成员“private”,意思是只有类对象自己能访问,连子类对象也不能访
问到这个数据,不能用’from module import *’导入。
4、_ _ object_ _ #内建方法,用户不要这样定义
19、
- __init__ 方法为初始化方法, __new__方法才是真正的构造函数。
- __new__方法默认返回实例对象供__init__方法、实例方法使用。
- __init__ 方法为初始化方法,为类的实例提供一些属性或完成一些动作。
- __new__ 方法创建实例对象供__init__ 方法使用,__init__方法定制实例对象。
- __new__是一个静态方法,而__init__是一个实例方法。
20、
Python 中的 tuple 结构为 “不可变序列”,用小括号表示。为了区别数学中表示优先级的小括号,当 tuple 中只含一个元素时,需要在元素后加上逗号。
详情可参考文档中的解释:
>>>
print
(
type
((
1
,)))
<
class
'tuple'
>
>>>
print
(
type
((
1
)))
<
class
'int'
>
21、
python里面%d表数字,%s表示字符串,%%表示一个%;
单引号内嵌套单引号需要转义字符/;单引号内嵌套双引号不需要嵌套;
双引号内嵌套双引号需要转义字符/;双引号内引用单引号不需要转义字符;
>>> A=12
>>> B='test:%d'%A
>>> print(B)
test:12
>>> ' Let\'s go!'
"Let's go!
22、
__name__:name是一个变量,前后加了__ __标记为系统变量,__name__用于标识模块的名字的一个系统变量。
当我单独执行一个模块,我的这个系统变量的值为__main__
当我在模块2导入“这个模块”后,”这个模块”的__name__值为这个模块的名称:“这个模块”。在不同的场所用更方便你理解的化名。
‘__main__’:是顶级代码执行的作用域的名称。
Python 支持连续比较,'a' < 'b' < 'c' 相当于 'a' < 'b' and 'b' < 'c',其本质是字符 ASCII 码的大小比较,该判断式结果为 True。