摘要:
面试:迭代器,生成器实际开发:协程 gevent 可迭代对象:列表/字典/元组/字符串/集合/文件对象 ... 类似实际生活中看书的时候,看到哪一页就在那一页中放一个书签,主要是为了快速翻到那一页,迭代就是类似于翻书的过程.每次都有一个工具将我们读到哪一页这个位置记录下来. 迭代器的作用:帮助 我们 阅读全文
摘要:
ll 是 ls -l的别名,之所以 ll出现错误是因为没有定义别名. 如果要实现ll 命令,可以做如下操作: 1.编辑 ~./bashrc 添加 ls -l 的别名为 ll即可. vi /root/.bashrc 2.编辑文件内容: # 设置 rm cp mv ll 命令的别名(就是windows中 阅读全文
摘要:
修改CentOS ll命令:以K 为单位显示文件大小 1.编辑 .bashrc 文件:vim /root/.bashrc 2.找到 alias ll 行修改为(如果没有直接添加该行):alias ll='ls -lh --color=auto' 3.运行 source /root/.bashrc 使 阅读全文
摘要:
.gz格式:解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName .tar.gz格式:解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName解压至指定目录: t 阅读全文
摘要:
CentOS踢除已登录用户的方法: 1.>先按下w查看用户终端号 2.>执行pkill -kill -t pts/1 (pts/1为w指令看到的用户终端号)命令 阅读全文
摘要:
源码方式安装 lrzsz库:https://www.cnblogs.com/cocoajin/p/11731787.html 我们都知道安装了lrzsz工具的linux系统环境,在shell里可以非常方便的上传和下载linux里面的文件;xsehll中直接使用sz/rz命令即可在传输文件. 通常的安 阅读全文
摘要:
一、mysql 授权:grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option; 二、导入数据库使用 mysql 命令导入使用 mysql 命令导入数据库格式如下: mys 阅读全文
摘要:
tcp四次挥手: fin(finish)完成,结束 断开连接请求 ack:应答 socket:同时可以收,发.叫做全双工 套接字是双向的半双工:酒店的对讲机(别人说的时候你不能说) 只能在同一时刻进行发或者收操作单工:收音机,话筒,只能有一个 可以理解为以下对话: 男(客户端):我们分手吧女(服务器 阅读全文
摘要:
tcp:三次握手 client和server之间需要经历三次握手才能建立连接(connnect()方法中封装了三次握手的步骤)syn:同步请求,建立连接的请求ack:对syn请求包的确认 应答syn:服务器向客户端发送连接请求ack:确认服务器的连接请求 应答 可以理解为下面的对话: 男(客户端): 阅读全文
摘要:
tcp:tcp使用较多.直接使用较少,使用 封装之后上层的库 较多. 不会有人从头开始写一个tcp的协议,然后做个什么软件的,造轮子这事情,差不多就得了.知道原理,会使用别人造的库就行.出错了能够找到错误的原因,处理掉就好. 面试常问:tcp和udp的区别 tcp:Transmission Cont 阅读全文
摘要:
IP地址:互联网协议地址,计算机的通行证.计算机在网络中的唯一身份标识.桥接:Ubuntu虚拟机 直接连到局域网NAT:网络地址转换点分十进制:192.168.14.115IP地址通常为4个字节,简称ipv4,这个.是形式上有的,实际的数据中没有这个.IPv6:长度为8个字节 127.0.0.1:本 阅读全文
摘要:
异常:Bug,出现问题了.提前干预,提前预防. 网络请求的地方使用的最多.应急处理,预防这种问题. 如果真的产生了,不是让程序停掉,而是让程序给用户一个错误提示,跳过异常继续运行.而不是程序闪退. 预判处理: 如果某些代码很可能出错,就把这些代码放在try里面尝试性的去执行. 当try里面的代码出现 阅读全文
摘要:
is:比较两边的内存地址是否一样 ==:比较两边的数据值是否一样 list1 = [1, 2] list2 = [1, 2] if list1 == list2: # == 是比较数据 print('yes') else: print('no') # list2 = list1 这是赋值运算 # 判 阅读全文
摘要:
""" 对象的创建过程:new创建 返回 模拟实例对象的创建过程. 为啥是静态方法? 先有new后来init.因为init是需要实例对象来调用的,需要一个实例对象和self形参.所以需要new首先来创建一个实例对象. """ class Dog: pass dog1 = Dog() """ 类名() 阅读全文
摘要:
"""str()就是可以自定义输出返回值,必须是str字符串""" class Dog: def __init__(self, name): self.name = name def __str__(self): # 把对象放在print()方法中输出时,就会自动调用str()方法 return ' 阅读全文
摘要:
使用场景:多个对象(由同一个类产生)的属性同名且值都一样,这时就需要使用init()方法. # 多个对象(由同一个类产生)的属性同名且值都一样,这时就需要使用__init__()方法. # class 定义属性和方法,增加代码的复用性 __init__()方法 """ 双下划线开头,双下划线结尾的方 阅读全文
摘要:
会用,会写,即可.解释都是官方的 .实际中编码的思想都是面向过程的. 面向 >过程 :从过程的角度来考虑问题.是大锅饭的模型,国有化好处:容易理解一步接一步,环环相扣.适合做小型的开发坏处:耦合性强,不利于团队开发.重复代码多. 面向 >对象:利于团队开发,降低耦合度.分田到户了,私有化了换了称呼了 阅读全文
摘要:
range: xrange: 阅读全文
摘要:
列表推导式: 生成列表只要一行代码.以表达式的方式来快捷的生成一个列表数据的一种表达式(效率提高了,但是可读性变差了)格式:[计算公式 for X in 可迭代对象 if 条件判断] 计算公式:一个取值规则而已 执行顺序:先执行 for X in 可迭代对象 部分,然后执行 if 条件判断 , 接着 阅读全文
摘要:
set 无序集合特点:没有索引, 里面的数据不会有重复很少使用来表示数据 如果想让列表,元组中没有重复的元素可以把它们转换成set类型不能转字典类型,因为格式不一样set 格式:{元素1,元素2} 集合:无序,不重复作用:1.>去重 2.> 关系测试<测试两组数据之间的交集,差集,并集,对称差集等关 阅读全文