自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

屈帅波的技术博客

努力过好每一天,充实每一天

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python基础进阶之gc模块

Python中的gc模块封装了许多和对象以及垃圾回收相关的方法一 导致引用计数+1的情况对象被创建,并被一个对象所引用。例如a=23对象被另外一个变量引用。例如b=a。对象被作为参数传递给函数。例如func(a)。对象被添加到容器中,比如添加到列表、元组、字典、集合中等。例如temp=[a]。导致引用计数-1的情况:引用这个对象的变量被删掉掉了。例如del a。引用这个对象的变量指向其他的对象了。例如a=‘abc’。函数作用域执行完毕后。比如一个函数中的临时变量,在这个函数执行结束后就.

2020-10-31 11:06:51 1743

原创 Python基础进阶之垃圾回收机制

一 引用计数在Python中,使用了引用计数这一技术实现内存管理。一个对象被创建完成后就有一个变量指向他,那么就说明他的引用计数为1,以后如果有其他变量指向他,引用计数也会相应增加,如果将一个变量不再执行这个对象,那么这个对象的引用计数减1。如果一个对象没有任何变量指向他,也即引用计数为0,那么这个对象会被Python回收。示例代码如下:class Person(object): def __init__(self,name): self.name = name def

2020-10-31 11:03:14 248

原创 Kubernetes之Configmap挂载单个文件

apiVersion: v1data: xxxx.yml: |- #这里可以用你的文件替代 spring: cloud: nacos: discovery: server-addr: xxxxx config: server-addr: xxxxx dubbo: metadata-report: address: xxxx prot

2020-10-31 10:20:18 1853 1

原创 云原生模式读后感(一)

云原生模式书籍介绍:https://item.jd.com/12704245.html记录一些书中的总结第一部分云原生上下文1.什么是云原生(1)即使遇到基础设施不断变化甚至发生故障的情况,云原生应用程序依然可以保持稳定。(2)现代应用程序的关键要求是支持快速迭代和频繁发布新版本、零停机时间以及大量新的设备连接。(3)云原生应用程序的模型有三个关键实体:云原生应用程序云原生数据云原生交互(4) “云”是指软件在哪里运行,而“云原生”指的是软件如何运行。(5) 云原生并不是非此即彼的架

2020-10-28 14:34:19 1379

原创 Python基础进阶之对象池

一 小整数对象池在一个程序中,[-5,256]之间的数字是经常被使用的。因此Python在程序运行过程中,定义好了一个小整数池,也就是说从-5到256之间的数字都是提前在内存中建立好的,不会被系统回收,并且以后你创建了一个变量是在这个范围之内,那么都是同一个对象。同样对于单个字母也是一样的。示例:a = 1b = 1# 以下两个值是一样的print(id(a))print(id(b))a = -6b = -6# 以下两个值是不一样的print(id(a))print(id(b))#

2020-10-27 13:58:16 389

原创 Python基础进阶之元类

一 类也是对象在理解元类之前,你需要先掌握Python中的类在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这一点仍然成立:>>> class ObjectCreator(object):… pass…>>> my_object = ObjectCreator()>>> print my_object<__main__.ObjectCreator object at 0x8974f2c&gt

2020-10-27 11:56:23 166

原创 Python基础进阶之动态属性添加方法

一 动态添加属性动态添加属性,就是这个属性不是在类定义的时候添加的,而是在程序运行过程中添加的,动态添加属性有两种方法,第一个是直接通过对象名.属性名,第二个是通过setattr添加:第一种:使用对象名.属性名添加,示例如下:p.age = 18第二种:使用setattr函数添加,示例如下: if not hasattr(p,'age'): setattr(p,'age',18)hasattr是用来判断一个对象是否有某个属性,而setattr是用来给某个对象添加属性,并且指定这个属

2020-10-26 14:53:19 287

原创 Python基础进阶之装饰器

个人理解:用函数修饰函数 在执行函数之前我们做一些判断或者其他的逻辑操作,有点类似于go的func类型然后通过func 做一些修饰一 什么是装饰器装饰器利用了函数也可以作为参数传递和闭包的特性,可以让我们的函数在执行之前或者执行之后方便的添加一些代码。这样就可以做很多事情了,比如@classmethod装饰器可以将一个普通的方法设置为类方法,@staticmethod装饰器可以将一个普通的方法设置为静态方法等。所以明白了装饰器的原理以后,我们就可以自定义装饰器,从而实现我们自己的需求。二 理解拿.

2020-10-26 14:27:13 227

原创 kube-Scheduler启动流程源码解读

本文为《Kubernetes 源码剖析》读书笔记,书籍简介:http://www.broadview.com.cn/book/6104一 Scheduler简介kube-scheduler组件是Kubernetes系统的核心组件之一,主要负责整个集群Pod资源对象的调度,根据内置或扩展的调度算法(预选与优选调度算法),将未调度的Pod资源对象调度到最优的工作节点上,从而更加合理、更加充分地利用集群的资源。二 Sheduler架构kube-scheduler是Kubernetes的默认调度器,其架构设

2020-10-21 18:38:16 574 1

原创 Python基础进阶之闭包

一 闭包是什么东西如果在一个函数中,定义了另外一个函数,并且那个函数使用了外面函数的变量,并且外面那个函数返回了里面这个函数的引用,那么称为里面的这个函数为闭包。例如:def greet(name): def say_hello(): print('hello my name is %s' % name) return say_hello二 用闭包完成一个计算器def calculator(option): operator = None if op

2020-10-20 11:16:57 191

原创 Python基础进阶之生成器

生成器其实也是迭代器也是可迭代对象因为生成器是迭代器也是可迭代的对象,那么可以通过for循环进行遍历。并且因为她自身集成了迭代器和可迭代对象两个身份,因此他只能被遍历一次。一 为什么需要生成器假如现在有一个需求,我要打印从1-1亿的整形。如果我们采用普通的方式,直接调用range函数,那么程序肯定会崩溃,因为range(1,100000000)函数直接产生一个从1-1亿的列表,这个列表中的所有数据都是存放在内存中的,会导致内存爆满。这时候我们可以采用生成器来解决这个问题,生成器不会一次性把所有数据.

2020-10-19 15:44:30 177

原创 Python基础进阶之迭代器

一 什么是迭代器用来做什么的:用来给for...in...遍历的。已知的数据类型:list、dict、tuple、str、set、生成器。需要满足的条件:需要实现一个__iter__的方法,并且这个方法要返回一个迭代器对象。迭代器可以让我们访问集合的时候变得非常方便。之前我们通过for…in…的方式访问一个集合的时候,就是使用迭代器完成的。如果没有迭代器,那么我们只能通过while循环,每次循环的时候通过下标访问了。二 可迭代的对象用来做什么的:用来返回数据的,每次循环的时候都会调用

2020-10-19 14:04:13 207

原创 Python基础进阶之虚拟环境

一 为什么需要虚拟环境到目前位置,我们所有的第三方包安装都是直接通过pip install xx的方式进行安装的,这样安装会将那个包安装到你的系统级的Python环境中。但是这样有一个问题,就是如果你现在用Django 1.10.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9开发的,让你来维护,但是Django 1.10不再兼容Django 0.9的一些语法了。这时候就会碰到一个问题,我如何在我的电脑中同时拥有Django 1.10和Django 0.9两套环境呢?这时候我们就

2020-10-15 11:28:14 130

原创 Python基础之补充知识点(三目运算符 列表生成式 装饰器)

一 列表生成式列表生成式,可以将好几行的代码写在一行中。比如要获取一个从1-100的整数值的列表。如果通过传统的方式,那么只能这样写:values = []for x in range(1,101): value.append(x)如果通过列表生成式,那么可以通过以下一行代码实现:values = [x for x in range(1,101)]当然也可以在列表生成式的时候,判断条件,只有满足条件的才会被加入到列表中:values = [x for x in range(1,10

2020-10-14 14:11:17 279 1

原创 Python基础之模块管理

一 为什么需要模块和包随着项目越来越大,所有代码都放在一个文件中,已经不能满足我们的需求了。这时候就要将代码进行整理了,模块和包的出现就是为了解决这个问题的。模块可以将一些相关联的代码组合在一个py文件中,包可以将一些相关联的模块组合在一个文件夹中。二 将一个模块导入到当前文件中的几种方式1.import导入某个模块。以后要使用模块中的函数或者方法或者变量,则需要使用模块名.xxx的形式调用。2.from xxx import xxx从某个模块中导入某个对象或者方法等。也可以一次性的从模块中导入

2020-10-14 11:53:36 6405 1

原创 Python练习(七)

宠物管理系统添加宠物。显示所有宠物。宠物信息用文件存储。用面向对象的方式实现。import osimport jsonimport datetimeclass File(object): def Rfile(self): fp = open("test.txt", "r+", encoding='utf-8') data = fp.read() if data == "": return {}

2020-10-10 13:45:10 125

原创 Python基础之异常处理

一 程序开发中为什么需要异常处理有些时候我们的程序在运行过程中可能会有意想不到的事情发生,这种情况就叫做异常,异常如果不处理好,可能直接导致我们的程序退出崩溃。因此我们要对异常进行处理,来确保我们的程序能够稳健的运行。二 异常处理的语法try: # 你感觉可能会崩溃的代码except 异常名字: # try语句出现异常的时候执行的代码else: # try语句中没有抛出异常的时候执行的代码finally: # 不管程序有没有抛出异常,都会执行的代码示例:tr

2020-10-10 11:41:08 271

原创 Python基础之单例

一 __new__函数__new__方法是用来控制这个类创建对象的执行逻辑。这个方法是在对象还没有创建之前就会执行的。而__init__方法是在对象创建完毕后才执行。比如看下以下代码的执行顺序:class Person(object): # __new__方法的参数不是self,而是cls,代表当前这个类 def __new__(cls,*args,**kwargs): print('new方法执行') # 一定要返回对象,不然就不会创建对象

2020-10-09 16:24:39 222

原创 Python基础之面对对象

一 什么是面向对象面向对象是现代语言必备的一个特性。传统的面向过程编程(模块封装都是通过函数实现的,类似于C语言),不符合人类思考的一种方式。比如人吃饭这种行为,如果使用面向过程编程,那么是首先定义一个吃饭的行为,然后再把这个人传过去。这明显是不符合人类的思考方式的,人类正常的思考方式应该是,吃饭这个行为是属于人类的,应该由人的这个对象自己去执行。这种思考方式的转变,就是面向对象。面向对象把所有属于某种物体(比如人)的属性和行为全都定义在这个物体上,比如年龄,身高,体重这些是属性,比如招手,跑步,吃饭这些

2020-10-09 15:37:56 408

原创 Python练习(六)

将练习4的学生管理系统,添加文件存储的功能。要求如下:要求记录学生的学号、姓名、年龄、所属班级信息。可以新增学生。可以列出所有学生。可以根据学号查找学生。需要使用函数来模块化。要求使用文件来存储信息,下次打开系统,数据依然存在。将第四天的学生管理系统,添加文件存储的功能。要求如下:要求记录学生的学号、姓名、年龄、所属班级信息。可以新增学生。可以列出所有学生。可以根据学号查找学生。需要使用函数来模块化。要求使用文件来存储信息,下次打开系统,数据依然存在。import o

2020-10-04 11:00:54 207

原创 Python基础之文件操作

一、打开和关闭文件1.打开文件 f = open('xxx.txt','w') #以写的方式打开一个文件2.关闭文件 f = open('xxx.txt','w') f.close() #关闭文件二、文件的打开模式打开模式说明r(read)以只读的方式打开。文件的指针将会放在文件的开头。这是默认的模式w(write)以只写的方式。如果该文件已经存在则将其覆盖。如果不存在,则创建一个文件用于写入。a(append)以追加的方式打开文件。如果该文件存在将新

2020-10-04 10:58:42 500

K8s学习路线.mmap

kubernetes学习路线主要介绍,所属博客为https://blog.csdn.net/weixin_45413603/article/details/107678496 有什么不足之处可以一起讨论

2020-08-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除