for _ in range(n)"c" & n + 1) = "=""人民币(大写) ""&N2RMB(i41)这个(i41)怎么不能用变量?

2.编写一个函数,求多个数中的最大值

3.编写一个函数,实现摇骰子的功能,打印N个骰子的点数和

4.编写一个函数,交换指定字典的key和value。

5.编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串

6.写一个函数,求多个数的平均值

7.写一个函数,默认求10的阶乘,也可以求其他数字的阶乘

8. 写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母

9.写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束

10.写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串

11.写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母

12.一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充写

13.写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1

14.写一个自己的len函数,统计指定序列中元素的个数

15.写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值

16.写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在

17.写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串

18.写四个函数,分别实现求两个列表的交集、并集、差集、补集的功能

  • 编写函数,求1+2+3+…N的和 编写一个函数,求多个数中的最大值 编写一个函数,实现摇骰子的功能,打印N个骰子的...

  • 编写函数,求1+2+3+…N的和 sum2(100) 编写一个函数,求多个数中的最大值 编写一个函数,实现摇骰子的...

  • 1. 编写函数,求1+2+3+…N的和 2. 编写一个函数,求多个数中的最大值 3. 编写一个函数,实现摇骰子的功...

  • 一片,两片,数片,花瓣在生发过程中不断调整自己的姿态,以适应花儿日益丰满的成长格局。 一元,二元,多元,艺术在繁衍...

  • 我今年二十五岁,今天我要讲的,是我和他的故事。 我们是在高二认识的。 高二的时候,我正深受抑郁症的折磨...

  • 如果时间是一场洪流,我们都将被淹没,有太多的美好我们来不及遇见。也挺烦恼人为"什么"而活着,“什么”这个词,我们将...

  • 早上8点多醒来,一看手机7个未接来电,全是老公早上出门后打来的,还有几条他的微信留言。他留言说,老婆,起床后快给我...

  • 我记忆中的少年啊,你可还在否

今天在痴海的公众号看到了170道爬虫相关的题目,打算自己在这里先回答能够回答的部分,等6月23日出正式结果了对比一下看看,自己和大佬之间的天埑有多宽

答:Python2中,int型能表示的数字长度取决于系统位数,32位系统长度为32位,64位系统长度为64位,long型则不受长度限制。在Python3中,所有的整型都为长整型。

答:两关键字都是用于生成指定范围的列表,在Python3中已经合并为range了。在Python2中,xrange生成结果为迭代器,占用空间小,range生成结果为列表,占据空间较大。

答:PEP8是Python编程的一种格式要求,为了提高程序的可读性和规范性,在程序员之间互相约定好的一种代码格式,详情可见

答:Python推崇代码即文档,通常在函数中第一个语句即表明了函数的用法及接受的参数,可以通过functiong.__doc__属性来获得。

10.了解类型注解么?
答:类型注解是Python3中引入的新特性,通过def(x:int, y:int) -> int: 这样的方式,标记参数及返回值的类型,这里要注意,即使添加了了类型注解也不会对代码产生影响,它的作用更像是注释,只是方便其他程序员了解参数及返回值类型。

11.例举你知道 Python 对象的命名规范,例如方法或者类等

答:2种,单行的使用#的注释方式,跨行的使用使用三个双引号或三个单引号的的注释方式。

13.如何优雅的给一个函数加注释?
答:函数注释通常在 def 语句下方,第一行表示函数用法,接下来对函数接受的参数进行解释,最后对函数的返回值进行注释,方便他人理解函数的用法。

14.如何给变量加注释?
15.Python 代码缩进中是否支持 Tab 键和空格混用。
答:不支持,同时尽量使用4个空格代替Tab缩进。

16.是否可以在一句 import 中导入多个库?

17.在给 Py 文件命名的时候需要注意什么?
答:使用全小写或者下划线进行命名。

18.例举几个规范 Python 代码风格的工具
答:YAPF,谷歌开发的代码规范工具。Black,依赖Python3.6+的第三方库,可以直接将原代码变为符合PEP8标准的代码

20.如何区别可变数据类型和不可变数据类型
答:可变的数据类型有 列表、字典、集合,不可变的有字符串、数字、元组。

22.如何检测字符串中只含有数字?
答:Python的语法糖,字符串类型自带函数isdigit(),当字符串中只存在数字返回True,反之返回False。

25.有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。

28.单引号、双引号、三引号的区别?
答:单引号表示的字符串中不能带有双引号。双引号表示的字符串中可以存在单引号。三引号中可以存在单引号和双引号,并且可以跨行表示字符串,而单双引号皆不能跨行。

答:list(set(AList)) 可以利用集合中不能存在相同元素的特性,利用类型转换进行去重。也可使用循环遍历进行判断。

32.给定两个 list,A 和 B,找出相同元素和不同元素
答:如果列表内不存在重复元素的话,可以转化为集合,利用集合的 “&&” 找出相同元素,再利用 “a-b","a^b"找出不同元素。若列表内存在重复元素,暂时只能想到两个for循环进行查找。

答:这题没理解,字面上合并相加就好了吧。。。。难道暗示要排序?

35.如何打乱一个列表的元素?
答:使用random库中的random.shuffle(list)函数,该函数无返回值,会将传入的参数列表随机排序。

答:pop()函数会返回删除的值,而del()函数直接删除元素,没有返回值。

37.按照字典的内的年龄排序


  

39.如何使用生成式的方式生成一个字典,写一段功能代码。
答:这道题不能理解题目意思,暂时不答。

44.我们知道对于列表可以使用切片操作进行部分元素的选择,那么如何对生成器类型的对象实现相同的功能呢?
答:使用自带的itertools库进行实现,具体实现方式 itertools.islice(生成器对象,起始位置,结束位置),即可实现切片功能。

答:read将整个文本都读取为一个字符串,占用内存大,readline读取为一个生成器,支持遍历和迭代,占用空间小。readlines将文本读取为列表,占用空间大。

51.json 序列化时,可以处理的数据类型有哪些?如何定制支持 datetime 类型?
答:字符串、数字(整数和浮点数)、字典、列表、布尔值、None。使用strftime将datetime格式化为标准字符串类型即可。

52.json 序列化时,默认遇到中文会转换成 unicode,如果想要保留中文怎么办?
答:使用json.dumps函数时,添加参数ensure_ascii=False,如果想显示的更美观,可以添加indent=2参数,会在每个key值前添加两个空格。

53.有两个磁盘文件 A 和 B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件 C 中。
答:读取两个文件,利用split函数将字符串切割成列表,再将两个列表合并,利用sort函数对合并后的列表进行排序,最后将列表内容拼接成字符串写入即可。

54.如果当前的日期为 ,要求写一个函数输出 N 天后的日期,(比如 N 为 2,则输出 )。
答:利用自带的datetime库即可实现,
55.写一个函数,接收整数参数 n,返回一个函数,函数的功能是把函数的参数和 n 相乘并把结果返回。

56.下面代码会存在什么问题,如何改进?

 

答:没有对num进行校验,num应该为一整数,添加一个type类型校验。

58.with 语句的作用,写一段代码?
答:常用于打开文本后的自动关闭,例如:

 

60.请写一个 Python 逻辑,计算一个文件中的大写字母数量

 

70.函数装饰器有什么作用?请列举说明?
答:装饰器可以在不修改函数的情况下,对函数的功能进行补充,例如对函数接受的参数进行检查更加详细的内容点此查看极客时间解答

答:最简单的,Python每个变量上都有一个引用计数器,当引用计数器为0时,自动销毁变量。复杂一些的,例如存在互相引用的情况,这时Python依靠两个链表(标记-清除算法)进行垃圾回收。点击这里获得更详细的资料

答:__call__是将类创建为一个实例进行调用,多用在类装饰器中。可以将逻辑代码写在__call__下,不需要实例化类也可直接使用其中的代码。

73.如何判断一个对象是函数还是方法?
答:可以使用type()函数进行判断,函数与方法本质上没有差别,仅仅通过是否与类进行绑定进行区分。绑定后通过类实例化进行调用则为方法,未绑定直接调用即为函数。

答:在类中提前设置好方法,利用NotImplementedError错误,当子类没有覆写方法的时候进行报错。也可使用@abstractmethod对需要覆写的方法进行装饰,任何没有覆写该方法的子类都会报错。

答:反射是用于在类中寻找值的一种方式,有以下几种用法:hasattr(class, key)在实例中寻找是否存在key名的函数或是变量返回布尔值。getattr(class, key, tips)获得实例中变量或是方法的内存地址,可传入第三个参数修改报错提示。setattr(class, name, function)将函数以name为名字传入类中,通过

答:该题不会,等正确答案

79.请列举你知道的 Python 的魔法方法及用途。
答:init 初始化类中的部分属性,new 最先执行的部分,可用来实现单例类,功能与78题类似的 __getattr__试图访问类中不存在的属性时会调用该方法,可自定义返回值, setattr 对类的属性进行新增和赋值,可以进行简单的条件筛选, __delattr__用于删除类中的方法或是属性。

80.如何知道一个 Python 对象的类型?
答:利用type()和isinstance(),前者用于区分对象的类型,后者主要用于区分子类与父类是否一致。

81.Python 的传参是传值还是传址?
答:都不是,Python当中所有东西都视作一个对象,每次的绑定都是在对象上增加一个引用,在使用过程中如果改变变量的值其实是将变量绑定到一个新对象上,如果修改对象的值那所有绑定在该对象的变量,在调用时都返回新值。详情点击这里查看

答:元类真的是盲区,现在还不是能理解元类的意义。

答:any(object)与all(object)区别,any主要判断对象中是否全为空值(0、’’、None、Flase)若对象内全部为空值则返回False否则返回True, all则是判断对象中是否存在空值,只要存在任一个空值则返回False否则返回True

85.什么是猴子补丁?

87.当退出 Python 时是否释放所有内存分配?

88.使用正则表达式匹配出

89.正则表达式匹配中(.)和(.?)匹配区别?

90.写一段匹配邮箱的正则表达式

126.找出列表中的重复数字
127.找出列表中的单个数字
128.写一个冒泡排序
129.写一个快速排序
130.写一个拓扑排序
132.有一组“+”和“-”符号,要求将“+”排到左边,“-”排到右边,写出具体的实现方法。
134.交叉链表求交点
136.找出数据流的中位数
137.二叉搜索树中第 K 小的元素
139.简要写一下 lxml 模块的使用方法框架
142.scrapy 中间件有几种类,你用过哪些中间件
143.你写爬虫的时候都遇到过什么?反爬虫措施,你是怎么解决的?
144.为什么会用到代理?
145.代理失效了怎么处理?
147.说一说打开浏览器访问 获取到结果,整个流程。
148.爬取速度过快出现了验证码怎么处理
150.分布式爬虫主要解决什么问题
151.写爬虫是用多进程好?还是多线程好? 为什么?
152.解析网页的解析器使用最多的是哪几个
153.需要登录的网页,如何解决同时限制 ip,cookie,session(其中有一些是动态生成的)在不使用动态爬取的情况下?
154.验证码的解决(简单的:对图像做处理后可以得到的,困难的:验证码是点击,拖动等动态进行的?)

157.简要介绍三次握手和四次挥手
158.什么是粘包? socket 中造成粘包的原因是什么? 哪些情况会发生粘包现象?

170.git 如何查看某次提交修改的内容x

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

虽然  已经很强大了,但是在实际使用上还是有诸多不便,比如集群管理、资源调度、文件管理等等。那么在这样一个百花齐放的容器时代涌现出了很多解决方案,比如 Mesos、Swarm、Kubernetes 等等,其中谷歌开源的  是作为老大哥的存在。

kubernetes 已经成为容器编排领域的王者,它是基于容器的集群编排引擎,具备扩展集群、滚动升级回滚、弹性伸缩、自动治愈、服务发现等多种特性能力。

Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果到容器的流量很大, 可以负载均衡并分配网络流量,从而使部署稳定。

Kubernetes 允许您自动挂载您选择的存储系统,例如本地存储、公共云提供商等。

您可以使用  描述已部署容器的所需状态,它可以以受控的速率将实际状态更改为所需状态。例如,您可以自动化 Kubernetes 来为您的部署创建新容器,删除现有容器并将它们的所有资源用于新容器。

Kubernetes 允许您指定每个容器所需 CPU 和内存(RAM)。当容器指定了资源请求时, 可以做出更好的决策来管理容器的资源。

Kubernetes 重新启动失败的容器、替换容器、杀死不响应用户定义的运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。

 允许您存储和管理敏感信息,例如密码、OAuth 令牌和 ssh 密钥。您可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需在堆栈配置中暴露密钥。

Kubernetes 的出现不仅主宰了容器编排的市场,更改变了过去的运维方式,不仅将开发与运维之间边界变得更加模糊,而且让 DevOps 这一角色变得更加清晰,每一个软件工程师都可以通过  来定义服务之间的拓扑关系、线上的节点个数、资源使用量并且能够快速实现水平扩容、蓝绿部署等在过去复杂的运维操作。

主要介绍学习一些什么知识

传统的客户端服务端架构

节点组成,其中 Master 节点主要负责存储集群的状态并为 Kubernetes 对象分配和调度资源。

作为管理集群状态的 Master 节点,它主要负责接收客户端的请求,安排容器的执行并且运行控制循环,将集群的状态向目标状态进行迁移。Master 节点内部由下面三个组件构成:

API Server: 负责处理来自用户的请求,其主要作用就是对外提供 RESTful 的接口,包括用于查看集群状态的读请求以及改变集群状态的写请求,也是唯一一个与 etcd 集群通信的组件。

etcd: 是兼具一致性和高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库。

Scheduler: 主节点上的组件,该组件监视那些新创建的未指定运行节点的 Pod,并选择节点让 Pod 在上面运行。调度决策考虑的因素包括单个 Pod 和 Pod 集合的资源需求、硬件/软件/策略约束、亲和性和反亲和性规范、数据位置、工作负载间的干扰和最后时限。

controller-manager: 在主节点上运行控制器的组件,从逻辑上讲,每个控制器都是一个单独的进程,但是为了降低复杂性,它们都被编译到同一个可执行文件,并在一个进程中运行。这些控制器包括:节点控制器(负责在节点出现故障时进行通知和响应)、副本控制器(负责为系统中的每个副本控制器对象维护正确数量的 Pod)、端点控制器(填充端点 Endpoints 对象,即加入 Service 与 Pod))、服务帐户和令牌控制器(为新的命名空间创建默认帐户和 API 访问令牌)。

kubelet: 是工作节点执行操作的 agent,负责具体的容器生命周期管理,根据从数据库中获取的信息来管理容器,并上报 pod 运行状态等。

kube-proxy: 是一个简单的网络访问代理,同时也是一个 Load Balancer。它负责将访问到某个服务的请求具体分配给工作节点上同一类标签的 Pod。kube-proxy 实质就是通过操作防火墙规则(iptables或者ipvs)来实现 Pod 的映射。

主要介绍关于 K8s 的一些基本概念

主要由以下几个核心组件组成:

所有服务访问的唯一入口,提供认证、授权、访问控制、API 注册和发现等机制

负责维护集群的状态,比如副本期望数量、故障检测、自动扩展、滚动更新等

负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上

键值对数据库,保存了整个集群的状态

负责维护容器的生命周期,同时也负责 Volume 和网络的管理

负责镜像管理以及 Pod 和容器的真正运行

除了核心组件,还有一些推荐的插件:

可以为集群中的 SVC 创建一个域名 IP 的对应关系解析的 DNS 服务

给 K8s 集群提供了一个 B/S 架构的访问入口

官方只能够实现四层的网络代理,而 Ingress 可以实现七层的代理

给 K8s 集群提供资源监控的能力

提供一个可以跨集群中心多 K8s 的统一管理功能,提供跨可用区的集群

以上内容参考链接: 

我要回帖

更多关于 C/N 的文章

 

随机推荐