1.请观看下列代码并回答问题:

import collections
from random import choice Card = collection.namedtuple('Card', ['rank', 'suit']) class FrenchDeck:
ranks = [str(n) for n in range(2, 11)] + list('JQKA')
suits = 'spades diamonds clubs hearts'.split() def __init__(self):
self._card = [Card(rank, suit) for suit in self.suits
for rank in self.ranks] def __len__(self):
return len(self._card) def __getitem__(self, position):
return self._cards[position] #1
beer_card = Card('7', 'diamonds')
print(beer_card)
deck = FrenchDeck()
print(len(deck))
print(deck[0])
print(deck[-1])
#2
print(choice(deck))
print(choice(deck))
print(choice(deck))

(1)写出#1段代码的输出

(2)判断:

2段代码的输出一定不一样

FrenchDeck是可迭代的,也可以反向迭代

FrenchDeck是怎么样也无法改变顺序的(除非破坏这个类的封装性)

答案:

(1):
Card(rank=7, suit='diamonds')
52
Card(rank='2', suit='spades')
Card(rank='A', suit='hearts')
(2):



2.请观看下列代码并回答问题:

from math import hypot

class Vector:
def __init__(self, x=0, y=0):
self.x = x
self.y = y def __repr__(self):
return 'Vector(%r, %r)' % (self.x, self.y) def __abs__(self):
return hypot(sef.x, self.y) def __bool__(self):
return bool(abs(self)) def __add__(self, other):
x = self.x + other.x
y = self.y + other.y
return Vector(x, y) def __mul__(self, scalar):
return Vector(self.x * scalar, self.y * scalar) v1 = Vector(2, 4)
v2 = Vector(3, 1)
print(v1 + v2) v = Vector(3, 4)
print(abs(v))
print(v * 3)
print(abs(v * 3))

(1)写出#1段代码的输出

(2)判断:

__init__是用来初始化Vector类的

__repr__是用来输出对象的字符串表达形式的

__mul__是用来求Vector的模的

答案:

Vector(4, 5)
5.0
Vector(9, 12)
15.0



3.请观看下列代码并回答问题:

>>>t = (1, 2, [30, 40])
>>>t[2] += [50, 60]

请问下列哪个说法是对的:

A. t变成(1, 2, [30, 40, 50, 60])

B. 因为tuple不支持对它的元素赋值,所以会抛出TypeError异常

C. 以上两个都不对

D. A和B都是对的

答案:

D

--未完待续--

Python夺命20问的更多相关文章

  1. powershell玩转xml之20问

    powershell玩转xml之20问 powershell 传教士 原创文章 2014-01-30,2015-10-27改 允许转载,但必须保留名字和出处,否则追究法律责任 问:xml文件编码情况如 ...

  2. 二十. Python基础(20)--面向对象的基础

    二十. Python基础(20)--面向对象的基础 1 ● 类/对象/实例化 类:具有相同属性.和方法的一类人/事/物 对象(实例): 具体的某一个人/事/物 实例化: 用类创建对象的过程→类名(参数 ...

  3. python day 20: 线程池与协程,多进程TCP服务器

    目录 python day 20: 线程池与协程 2. 线程 3. 进程 4. 协程:gevent模块,又叫微线程 5. 扩展 6. 自定义线程池 7. 实现多进程TCP服务器 8. 实现多线程TCP ...

  4. python面试必问 知识整理

      一 数据类型 1 数字 整型与浮点型   #整型int 作用:年纪,等级,身份证号,qq号等整型数字相关 定义: age=10 #本质age=int(10) #浮点型float 作用:薪资,身高, ...

  5. 10个Python面试常问的问题

    概述 Python是个非常受欢迎的编程语言,随着近些年机器学习.云计算等技术的发展,Python的职位需求越来越高.下面我收集了10个Python面试官经常问的问题,供大家参考学习. 类继承 有如下的 ...

  6. Python面试常问的10个问题

    很多人想找Python工作,面试往往在基础知识点采坑了 Python是个非常受欢迎的编程语言,随着近些年机器学习.云计算等技术的发展,Python的职位需求越来越高.下面我收集了10个Python面试 ...

  7. Python学习--20 Web开发

    HTTP格式 HTTP协议是基于TCP和IP协议的.HTTP协议是一种文本协议. 每个HTTP请求和响应都遵循相同的格式,一个HTTP包含Header和Body两部分,其中Body是可选的. HTTP ...

  8. Python学习(20):Python函数(4):关于函数式编程的内建函数

    转自http://www.cnblogs.com/BeginMan/p/3178103.html 一.关于函数式编程的内建函数 apply()逐渐被舍弃,这里不讨论 1.filter() #filte ...

  9. python学习(20) 网络编程

    原文链接:http://www.limerence2017.com/2018/01/02/python20/ python 网络编程和基本的C语言编程一样,效率不是很高,如果为了封装通信库建议采用C/ ...

随机推荐

  1. 4月9日 python学习总结 模块

    1.XML模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融 ...

  2. 各种环境下反弹shell

    0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或者UDP模式,添加参数 -u 则 ...

  3. k8s集群Job Pod 容器可能因为多种原因失效,想要更加稳定的使用Job负载,有哪些需要注意的地方?

    k8s集群Job Pod 容器可能因为多种原因失效,想要更加稳定的使用Job负载,有哪些需要注意的地方? 面试官:"计数性Job默认完成模式是什么?Indexed模式如何发布自定义索引呢?& ...

  4. 羽夏看Win系统内核—— VT 入门番外篇

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  5. 【推理引擎】从源码看ONNXRuntime的执行流程

    目录 前言 准备工作 构造 InferenceSession 对象 & 初始化 让模型 Run 总结 前言 在上一篇博客中:[推理引擎]ONNXRuntime 的架构设计,主要从文档上对ONN ...

  6. Android studio Error occurred during initialization of VM

    Unable to start the daemon process. This problem might be caused by incorrect configuration of the d ...

  7. Spring cloud config 客户端连接RabbitMQ 报 socket closed

    java.net.SocketException: socket closed at java.net.SocketInputStream.socketRead0(Native Method)     ...

  8. Jenkins+Docker+Git 自动化部署

    Jenkins+Docker+Git 自动化部署图文教程 https://blog.csdn.net/qq_38252039/article/details/89791247 前言: 通过几天的学习和 ...

  9. Dubbo 服务降级,失败重试怎么做?

    可以通过 dubbo:reference 中设置 mock="return null".mock 的值也可以修 改为 true,然后再跟接口同一个路径下实现一个 Mock 类,命名 ...

  10. uWSGI+django+nginx的工作原理流程与部署

    二.必要的前提 2.1 准备知识 django 一个基于python的开源web框架,请确保自己熟悉它的框架目录结构. uWSGI 一个基于自有的uwsgi协议.wsgi协议和http服务协议的web ...