python判断对错题_错书-python,错题,本,Python

从运行层面上来看,从四个选项选出不同的一个。

正确答案: B

JAVA

Python

objectC

C#

解析:

Python 是动态语言

已知print_func.py的代码如下:

print(‘HelloWorld!’)

print(’__name__value: ',

name

)

def main():

print(‘This message is from main function’)

if

name

== ‘

main

’:

main()

print_module.py的代码如下:

import print_func

print(“Done!”)

运行print_module.py程序,结果是:

答案:

Hello World!

name

value: print_func

Done!

解析:

如果是直接执行print_func文件,则__name__的值为__main__;

如果是以导入模块的形式执行print_func文件,则__name__的值为该文件名print_func。

name

的目的就是如果是以导入模块的形式执行文件,不会执行if __ name__ == '__ main__'下面的语句

补充

__ name__ 就是标识模块的名字的一个系统变量。这里分两种情况:假如当前模块是主模块(也就是调用其他模块的模块),那么此模块名字就是__main__,通过if判断这样就可以执行“__ mian__:”后面的主函数内容;假如此模块是被import的,则此模块名字为文件名字(不加后面的.py),通过if判断这样就会跳过“__ mian__:”后面的内容。

下列程序打印结果为( )

import re

str1 = “Python’s features”

str2 = re.match( r’(.

)on(.

?) .*’, str1, re.M|re.I)

print str2.group(1)

答案:

Pyth

解析:

多个标志可以通过按位 OR(|) 来指定

re.M:多行匹配,影响 ^ 和 $

re.I:使匹配对大小写不敏感

分组:即用圆括号将要提取的数据包住,通过 .group()获取,一般和“|”结合使用

re.match( r’(.

)on(.

?) .*’, str1, re.M|re.I),将on左边和右边分组

print(str2.group(0))

Python’s features

print(str2.group(1))

Pyth

print(str2.group(2))

's

import numpy as np

a = np.repeat(np.arange(5).reshape([1,-1]),10,axis = 0)+10.0 b = np.random.randint(5, size= a.shape)

c = np.argmin(a*b, axis=1)

b = np.zeros(a.shape)

b[np.arange(b.shape[0]), c] = 1

print b

以上函数输出结果为()

答案:

一个 shape = (10,5) 的 one-hot 矩阵

解析:

#生成数组[0,1,2,3,4]

np.arange(5)

#原数组共有x个元素,reshape([n,-1])意思是将原数组重组为n行x/n列的新数组

#所以数组共有5个元素,重组为1行5列的数组

reshape([1,-1])

#因为axis=0,所以是沿着横轴方向重复,增加行数

#所以原数组增加10行

repeat(np.arange(5).reshape([1,-1]), 10, axis = 0)

#数组每个元素都+10

a = repeat(np.arange(5).reshape([1,-1]), 10, axis = 0) + 10

b = np.random.randint(5, size= a.shape) #生成[0,5)随机矩阵,大小和矩阵a相同

c = np.argmin(a*b, axis=1) #矩阵a和b乘积,返回每行最小值位置

b = np.zeros(a.shape) #与矩阵a相同大小的全零矩阵

#b.shape[0]表示b的行数,10行

b[np.arange(b.shape[0]), c] = 1 #表示将b中每一行的c位置处赋值为1

python代码如下:

foo = [1,2]

foo1 = foo

foo.append(3)

答案:

正确答案: B D

foo 值为[1,2]

foo 值为[1,2,3]

foo1 值为[1,2]

foo1 值为[1,2,3]

解析:

列表在 python 中是以“列表类”的形式存在,创建一个列表,即实例化一个类。 Python 里面的对象赋值实际上是对象的引用。 li = [1] a = li 就是将列表对象“赋予” a,此时 a 和 li 都是指向内存中同一个对象。而 append() 是列表类的方法(这是关键),append() 方法是在自身对象(关键)上进行操作,因为 a 和 li 都是指向同一个列表对象,所以 a 和 li 会得到同样的结果。 另个一个例子。 li = [2] b = li li= [3] 结果是 b 为 [2],li 为 [3]。 因为 li = [3] 会实例化一个新的列表类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值