编程语言

python之路(18)django框架入门

06-15
前言 Django框架下的views,templates views视图函数的属性方法 http下有两个核心类:HttpResquest类和HttpResponse类 requesr request.path : 当前url访问的路径 request.get_full_path() : url带参数的全路径 request.method : 返回请求的方式,即GET或POST request.POST.get("") / GET.get("") : 得到value

python 入门知识点总结

06-15
心态准备 编程是一门技术,也可以说是一门手艺.如同书法.绘画.乐器.雕刻等,技艺纯熟的背后肯定付出了长时间的反复练习.编程的世界浩瀚无边,请保持一课敬畏的心态去学习,认真对待写下的每一行代码,甚至每一个字符.收拾好自己的心态,向着编程的世界出发. 对于如何加深对一个知识点的印象,最好的办法就是自己写代码实现一遍.如果还是不懂,那就再来一遍.所以无论你使用什么教程,都请将其中的示列代码全部在电脑上输入并运行. 基本 1,打印 #print 打印 print('hello') #打印字符串 prin

第五周-第05章节-Python3.5-内置模块详解之time与datetime模块

06-15
# pcjimport time# print(time.localtime())# print(time.time())# #print(help(time)) #获取time的帮助# #time.sleep(1) #睡几秒# print(time.gmtime(10000000000)) # convert seconds since Epoch to UTC tuple 标准时间 utc时区# print(time.localtime()) #convert seconds since E

Python中的深拷贝和浅拷贝区别

06-15
首先,我们知道Python3中,有6个标准的数据类型,他们又分为可变和不可变. 不可变:Number(数字).String(字符串).Tuple(元组). 可以变:List(列表).Dictionary(字典).Set(集合). 浅拷贝 copy模块里面的copy方法实现. 浅拷贝后,改变原始对象中为可变类型的元素的值,会同时影响拷贝对象:改变原始对象中为不可变类型的元素的值,不会响拷贝对象. 代码演示 import copy class Father(object): def __init__

java 数组的复制

06-15
java数组的复制分为数组地址的复制和值的复制 地址的复制: int []arrA={11,22,33,44}; //创建一个数组 int [] arrB=new int[5]; System.out.println("拷贝地址(引用)之前"); System.out.println("arrA="+arrA); System.out.println("arrB="+arrB); //引用的拷贝 arrB=arrA; System.out.pri

10java内存

06-15
java内存 1.栈---存储的是变量(不仅仅只有变量),不会对存储的内容进行赋值,存储的内容使用完成之后会立即进行清除 2.堆---存储的是对象.会对存储的内容进行赋值,存储内容使用完成之后会在某个时间进行清除 3.方法区(面向对象讲) 4.本地方法栈:专门开辟的区域,用来与其他语言的交互 5.寄存器(硬件的,跟CPU交互的) public class HellowWorld { //判断一个32位的整数的二进制有几个1 public static void main(String[] arg

Python基本数据类型(列表)

06-15
基本数据类型 三.列表 列表(List)是一个有序的Python对象序列. 1.列表格式 列表可以用一对中括号“[ ]”生成,中间的元素用逗号“,”隔开: li = [1,2,"alex"] 2.列表的运算 列表与字符串类似,支持相加和数乘. 列表相加,相当于将这两个列表按顺序连接: li = [1,2,3] + ["alex",5] print(li) #结果为:[1,2,3,"alex",5] 列表数乘,相当于将这个列表重复多次: li =

3、循环链表(java实现)

06-15
1.节点类 public class Node<T> { public T data; public Node next; } 2.实现类 public class CircularLink<T> { private static Node head = null; /** * 初始化 */ public void initCircularLink() { head = new Node(); head.data = null; head.next = head; } /** *

python之kivy模块

06-15
1.首先关注kivy模块的安装,安装成功能够使用,需要安装几个依赖包 python -m pip install --upgrade pip wheel setuptools virtualenv python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2 kivy_deps.glew python -m pip install kivy_deps.gstreamer python -m pip install kivy_de

python note 23 组合

06-15
1.主动调用其他类的成员 方式一 class Base(object): def f1(self): print('5个功能') class Foo(object): def f1(self): print('3个功能') Base.f1(self) obj = Foo() obj.f1() 总结: Base.实例方法(自己传self) 与继承无关 方式二 # ########### 方式二:按照类的继承顺序,找下一个. class Foo(object): def f1(self): supe

GOF 的23种JAVA常用设计模式总结 03 面向对象七大设计原则

06-15
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率.节约软件开发成本和维护成本. 各位代码界的大佬们总结出的七大设计原则,还是需要好好了解一下 1.开闭原则 开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作<面向对象软件构造>(Object Oriented Software Construction)中提出:软件实

数据结构与算法之二叉树

06-15
排序二叉树 排序二叉树要求父节点的值大于左节点的值,小于有节点的值. 没有父亲节点的节点称为根节点,没有子节点的节点称为叶子节点,其他都称为中间节点. 用JS实现一个排序二叉树 function BinaryTree(){ this.root = null; //初始化根节点为null } BinaryTree.prototype = { constructor: BinaryTree, insert(key){ var Node = function(key){ //定义一个节点类 this.

python 并发编程 多进程 目录

06-15
python multiprocessing模块 介绍 python 开启进程两种方法 python 并发编程 查看进程的id pid与父进程id ppid 原文地址:https://www.cnblogs.com/mingerlcm/p/11029215.html

SwiftUI 官方教程(二)

06-15
SwiftUI 官方教程(二) 2. 自定义 Text View 为了自定义 view 的显示,我们可以自己更改代码,或者使用 inspector 来帮助我们编写代码. 在构建 Landmarks 的过程中,我们可以使用任何编辑器来工作:编写源码.修改 canvas.或者通过 inspectors ,无论使用哪种工具,代码都会保持更新. 接下来,我们使用 inspector 来自定义 text view . SwiftUI教程 2.1 在预览中,按住 Command 并单击问候语来显示编辑窗口,

多线程--生产者/消费者线程模型

06-15
//程序演进1 //thread loop,忙等Busy wait //不断的检查是不是该做什么事情了:为了减少CPU占用,sleep睡眠一会 //while (1) //{ // do_something(); // sleep(time); //} //程序演进2 //while (1) //{ // read_form_intput(); // do_something(); //} //程序员演进3,消息模型 //while (waitForMsg) //{ // if (isQuitM

容器中Java 程序OOMKilled原因浅析

06-15
背景: 业务的容器化刚刚搞完,线上开始告警,容器重启,容器重启.describe pod 查看原因是OOMKilled 分析: OOMKilled 是pod 中的进程使用的内存超过了.spec.containers[*].resources.limits.memory中定义的内存限制,在超出限制后, kubernetes 会向容器中的进程(pid=1)发送kill -9 信号.kill -9 信号对于进程来说是不可捕捉的,进程无法在收到-9 信号后优雅的退出. 这对于业务来说是有损的.那么为啥进

c++对拍程序写法

06-15
以下方法所有程序都必须在同一个文件夹(或者你想打一长串文件路径也行) std是标程,test是暴力(反正要是对的),data是造数据的 第一种 好处:简单易写,不用开文件io 坏处:不能显示运行时间 ps:/W 是忽略空格和空行(一般评测的做法) @echo off :again data>in.txt std<in.txt>stdout.txt test<in.txt>testout.txt fc /W stdout.txt testout.txt >nul if n

python--&gt;二进制的用法

06-15
1 1.10进制转换为其他进制 2 方法一:函数 3 十进制转二进制:bin(10) --> '0b1010' tpye:是字符串类型 0b:表示2进制 4 十进制转八进制:oct(10) --> '0o12' tpye:是字符串类型 0o:表示8进制 5 十进制转十六进制:hex(10) --> '0xa' tpye:是字符串类型 0x:表示16进制 6 方法二:format 7 >>> '{:b}'.format(9) 8 '1001' 9 >>>

Java输入及输出处理(I/O流)

06-15
IO流的分类: 按流向分类:输入流.输出流按操作对象分类: 字节流.字符流按功能分类: 节点流.处理流 Input 输入Output 输出Java.io.File类,文件输入输出类 字节流和字符流: 1,字节流InputStream(读),OutputStream(写).2,字符流:Reader(读),Writer(写).基本的读写操作方式:因为数据通常都以文件形式存在.所以就要找到 IO 体系中可以用于操作文件的流对象.通过名称可以更容易获取该对象.因为 IO 体系中的子类名后缀绝大部分是父类

多线程--Executor线程池框架

06-15
Executor的介绍 在Java 5之后,并发编程引入了一堆新的启动.调度和管理线程的API.其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动.执行和关闭,可以简化并发编程的操作.因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更易管理,效率更好(用线程池实现,节约开销)外,还有关键的一点:有助于避免this逃逸问题——如果我们在构造器中启动一个线程,因为另一个任务可能会在构造器结束之前开始