- 博客(235)
- 收藏
- 关注
原创 Python 生成器函数 的深入浅出
Python 生成器函数 的深入浅出1、生成器 概念1.1 `yield from` 语法1.1.1 示例11.1.2 示例22、生成器函数2.1 示例3、生成器函数的执行3.1 通过以下示例了解生成器函数的执行顺序3.1.1 示例13.1.2 示例23.1.3 示例33.1.4 示例43.1.5 示例53.1.6 示例63.1.7 示例73.1.8 示例83.1.9 示例94、生成器应用4.1 无限循环4.2 计数器4.3 生成器交互4.3.1 有重置功能的计数器 14.3.2 有重置功能的计数器 24.
2021-02-10 17:38:10
345
2
原创 Python 斐波那契数列 三种函数写法比较(递归函数的示例)
Python 斐波那契数列 三种函数写法比较1、斐波那契数列 函数写法2、上例总结3、递归总结1、斐波那契数列 函数写法import datetimedef fib1(n=35): a = 0 b = 1 for i in range(n-1): a, b = b, a + b return bdef fib2(n=35): return 1 if n<3 else fib2(n-1) + fib2(n-2)def fib3(n=
2021-02-10 14:30:20
375
1
原创 Python 之 列表/集合/字典解析式、生成器表达式、迭代器和可迭代对象 的深入浅出
Python 之 列表/集合/字典解析式、生成器表达式、迭代器和可迭代对象 的深入浅出1、列表解析式 List Comprehension1.1 语法1.2 优势1.3 多条件 列表解析式1.4 多元素 列表解析式1.4 示例1.4.1 获取 10 以内的偶数1.4.2 以下代码生成的列表是什么1.4.3 20以内,既能被 2 整除又能被 3 整除的数1.4.4 思考以下 列表解析式 生成的列表2、生成器表达式 Generator Expression2.1 语法2.2 生成器表达式 本质2.3 生成器特
2021-02-10 00:51:10
403
2
原创 Python 列表和字符 + 和 += 的区别
Python 列表和字符 + 和 += 的区别1、列表2、字面场面1、列表+表示两个列表合并,并返回一个全新的列表+代表重新创建了一个列表+=表示,就地修改前一个列表,在其后追加后一个列表,其实就相当于extend方法l1 = [1, 2]l2 = [3, 4]l3 = l1 + l2print(1, id(l1), id(l2))print(2, l3, id(l3))l3 += [5]print(3, l3, id(l3))1 117808584 1306940242 [
2021-02-06 20:35:57
559
1
原创 Python 之 函数标识符的作用域(或变量的作用域) 的深入浅出
Python 之 函数标识符的作用域(或变量的作用域) 的深入浅出1、函数作用域概念2、作用域分类2.1 全局作用域2.2 局部作用域2.3 总结3、嵌套函数3.2 嵌套函数的概念3.2 嵌套函数的作用域4、global 语句4.1 一个变量赋值语句引发的问题4.2 解决上述问题4.3 x+=1 问题总结4.4 global 使用原则5、闭包 及 nonlocal 语句5.1 自由变量5.2 nonlocal 语句5.3 nonlocal 注意事项6、函数参数默认值的作用域6.1 引用类型缺省值6.1.1
2021-02-06 20:19:53
339
1
原创 Python 之 函数/函数参数/参数解构 的深入浅出
Python 之 函数/函数参数/参数解构) 的深入浅出1、函数概念1.1 数学定义1.2 Python 函数1.3 函数的作用2、Python 函数的定义及调用2.1 函数定义2.2 函数调用2.3 函数示例及代码解释3、Python 函数参数及传参方式3.1 传参方式3.2 参数缺省值3.3 可变参数3.3.1 可变位置参数3.3.2 可变关键字参数3.4 keyword-only 参数3.5 参数规则3.6 参数的混合使用4、参数解构4.1 示例14.2 示例21、函数概念1.1 数学定义y
2021-02-06 14:04:28
404
1
原创 Python 之 匿名函数 Lambda 的深入浅出
Python 之 匿名函数 Lambda 的深入浅出1、概念介绍1.1 匿名函数1.2 Lambda 表达式2、示例讲解2.1 特殊匿名参数2.2 Lambda 函数和普通函数的联系和区别2.3 Lambda 函数和 sorted 高级函数配合使用2.4 defaultdict 和 Lambda 函数配合使用2.5 Lambda 函数和map 函数配合使用2.6 Lambda 函数和生成器配合使用2.7 Lambda 函数和字典配合使用2.8 混合使用1、概念介绍1.1 匿名函数没有名字的函数在
2021-02-05 00:15:54
485
2
原创 Python 之 字典 dict 的深入浅出
Python 之 字典 dict 的深入浅出1、字典 dict 概念介绍及初始化1.1 概念介绍1.2 初始化1.3 字典 key 说明2、字典 dict 操作2.1 字典 dict 元素访问2.2 字典 dict 元素增加和修改2.3 字典 dict 元素删除2.4 字典 dict 元素遍历2.4.1 遍历 key2.4.2 遍历 value2.4.3 遍历 kv 对2.4.4 字典遍历总结2.4.5 字典遍历和移除注意事项错误做法1错误做法2正确做法1、字典 dict 概念介绍及初始化1.1 概念介
2021-02-03 00:19:39
461
原创 Python 之 集合 set 的深入浅出
Python 之 集合 set 的深入浅出1、集合 set 概念1.1 约定1.2 set 性质1.3 set 元素2、集合 set 的操作2.1 set 定义 初始化2.2 set 增加元素 add(elem)2.3 set 增加元素 update(*others)2.4 set 删除元素 remove(elem)2.5 set 删除元素 discard(elem)2.6 set 删除元素 pop() --> item2.7 set 清除所有元素 clear()2.8 set 修改、查询、遍历2.9
2021-01-31 12:59:33
391
原创 Python 封装和解构
Python 封装和解构1、封装(装箱)2、解构(拆箱)3、丢弃变量4、练习4.1 从 lst = [1, (2, 3, 4), 5],提取 44.2 环境变量 JAVA_HOME=/usr/bin,返回环境变量名和路径4.3 对列表[1, 9, 8, 5, 6, 7, 4, 3, 2],使用冒泡法排序,要求使用封装和解构来交换数据1、封装(装箱)将多个值使用逗号分隔,组合在一起本质上,返回一个元组,只是省掉了小括号t1 = (1, 2)t2 = 1, 2for i in (t1, t2):
2021-01-31 00:05:40
187
原创 Python 内存管理及变量计数引用
Python 内存管理1、内存管理相关知识2、示例1、内存管理相关知识1、变量无须事先声明,也不需要指定类型,这是Python作为动态语言的特性2、Python编程中,一般无须关心变量的存亡,一般也不用关心内存的管理3、Python使用引用计数记录所有对象的引用数 3.1 当对象引用数变为0,它就可以被垃圾回收 GC 3.2 计数增加 3.2.1 赋值给其它变量就增加引用计数 3.2.2 实参传参 3.3 计数减少 3.3.1 函数运行结束时,局部变量就会自动销毁,对象引用计数减少
2021-01-30 19:01:59
226
原创 Python 运算符及表达式
Python 运算符详解1、算术运算符2、位运算符3、比较运算符4、逻辑运算符4.1、真值表5、赋值运算符6、成员运算符7、身份运算符8、运算符优先级(由高到低)9、表达式 Expression10、赋值即定义 示例10.1 同一对象10.2 赋值即定义1、算术运算符+ - * / % **自然数/结果是浮点数,整除是//print(2+1, 3-2, 2/111, 4//3, 4**2, 4**0.5, 5%2, 4%2)3 1 0.018018018018018018 1 16 2.0
2021-01-30 18:05:36
2695
原创 Python 进制及其内建函数、运算符、码制说明(原码/反码/补码说明)
Python 进制及其内建函数、运算符、码制说明(原码/反码/补码说明)1、进制1.1 十进制数转化为其它进制1.2 其它进制数转换为十进制数1.3 其它各进制之间互转2、算术运算符3、位运算符4、原码/反码/补码/负数表示法4.1 原码(以 一字节 为例)4.2 反码4.3 补码4.4 负数表示法4.5 示例4.5.1 整数12 取反为什么是 -13?4.5.2 异或 10 ^ 9 和 10 ^ -91、进制十进制、二进制、八进制和十六进制print(0xFF, 0o377, 0b11111111,
2021-01-30 14:22:13
281
原创 Python 基础语法和语言类型
Python 基础语法1、Python基础语法1.1 注释1.2 数字1.3 字符串1.4 转义序列1.5 缩进1.6 续行1.7 标识符1.8 常量1.9 字面常量1.10 变量2、Python的语言类型1、Python基础语法1.1 注释# 为注释文本1.2 数字整数Python3开始只有 int 表示整型进制 16进制:0xa 八进制:0o0 二进制:0b10bool型,2个值 True False浮点数1.2 3.1415 -0.12 1.46e9等价于1.46*10
2021-01-30 10:44:05
167
原创 ES6 JavaScript 高阶对象、高阶类 详解
ES6 JavaScript 高阶对象、高阶类 详解前言1、高阶对象实现1.1 普通的继承1.2 匿名类1.3 匿名继承1.4 用箭头函数改进匿名继承1.5 继续演进上述例子2、继承方法2.1 通过类来继承2.1 通过函数来继承3、通过函数给类添加方法的实例3.1 通过函数增加属性方法3.2 通过类增加属性方法4、多函数增加属性方法5、父子属性优先级前言JS 是基于对象的,类 和 对象 都是 对象模版混合 Mixin,指的是将一个对象的全部或者部分拷贝到另一个对象上去,其实就是属性可以将多个类或对
2020-08-06 15:45:24
445
原创 ES6 JavaScript 异常 详解
ES6 JavaScript 异常 详解1、抛出异常2、捕获异常1、抛出异常JS 的异常语法和 JAVA 相同,使用 throw 关键字抛出使用 throw 关键字可以抛出任意对象的异常// throw new Error('New Error');// throw new ReferenceError('Ref Error');// throw 1;// throw 'Not OK';throw () => {};2、捕获异常try...catch 语句捕获异常try.
2020-07-26 14:14:19
1003
原创 ES6 JavaScript 函数详解
ES6 JavaScript 函数详解1、函数概念1.1 函数语法1.1.1 示例1.2 函数表达式1.2.1 匿名函数1.2.2 有名字的函数表达式-11.2.3 有名字的函数表达式-21.2.4 有名字的函数表达式-3(递归函数)1.3 函数/匿名函数/函数表达式的差异1.4 高阶函数1.4.1 示例-计数器 counter1.4.2 示例-计数器 counter(生成器版)2、函数参数2.1 普通参数2.2 可变参数(rest parameters 剩余参数)2.3 arguments 对象2.4 参
2020-07-26 13:56:54
1872
1
原创 ES6 JavaScript 箭头函数(扩展)
ES6 JavaScript 箭头函数(扩展)1、箭头函数的不同形式2、说明1、箭头函数的不同形式const map = function (arr, fn) { let newarr = [] for (let i in arr) { newarr[i] = fn(arr[i]) } return newarr}console.log("=".repeat(25))console.log(10, map([1, 2, 3, 4, 5], (x)
2020-07-24 16:06:39
165
原创 ES6 JavaScript 自定义MAP 函数
1、要求自定义 MAP 函数,要求:map ([array], func) ==> [new array]返回一个新的改变过的数组2、自定义函数1const map = function (arr, fn) { let newarr = [] for (let i=0; i<arr.length; i++) { newarr[i] = fn(arr[i]) } return newarr}console.log(map([1, 2
2020-07-24 10:18:17
330
原创 ES6 JavaScript Symbols 类型
1、Symbols 介绍ES6 提供 Symbols 类型,内建原生类型Symbols l类型的值是通过Symbol构造函数创建的Symbols 是不可改变且唯一的像字符串一样,Symbols 也可以被用做对象属性的键2、示例2.1 Symbol 值唯一let sym1 = Symbol();let sym2 = Symbol('key');let sym3 = Symbol('key');console.log(sym1, sym2, sym3)console.log(sym2
2020-07-22 19:37:28
161
原创 ES6 JavaScript 条件循环等控制语句
ES6 JavaScript 控制语句1、if 条件分支语句1.1 语法1.2 示例2、switch...case 分支语句2.1 语法2.2 示例3、for 循环语句3.1 语法3.2 示例4、while 循环4.1 语法4.2 示例5、do...while 循环5.1 语法5.2 示例6、for...in 循环6.1 语法6.2 数组 --- 示例6.3 C风格 --- 示例6.3 对象 --- 示例7、for...of 循环7.1 语法7.2 示例8、break/continue 说明9、for 迭代
2020-07-22 18:50:40
621
原创 ES6 JavaScript 数组 和类型判断
if (true) { var a = 100 // 函数作用域可以约束 var 定义的变量 let b = 200 // 块 “{}”作用域 c = 300 // 隐性,全局作用域}console.log(a, c)// 向内穿透// for (;;); 死循环// when (1);/*var biggestNum = Number.MAX_VALUEconsole.log(biggestNum)console.log(0b00111111)c
2020-07-20 17:26:38
764
原创 ES6 JavaScript 数字类型、算术运算符、三元运算符和位运算 详解
ES6 JavaScript 数字类型 详解1、数字常量 Number Constant Properties2、数字类型表示方法3、数字方法 number method4、Math 方法 Math Method4.1 扩展5、算术运算符 Arithmetic operator6、位运算 Bit Operations7、三元运算符 Ternary operator1、数字常量 Number Constant Properties// Number Constant Propertiesvar bigg
2020-07-20 17:17:51
913
原创 ES6 JavaScript 字符串详解
JavaScript字符串说明1、说明2、示例1、说明/*1、将一个值用单引号('')或者双引号("")引用起来就是字符串2、ES6提供了反引号(``)定义一个字符串,可以支持多行,还支持插值和插值运算*/2、示例let a = 'abc';let b = "123";let c = `${a+b}`;let d = `First LineSecond LineThird Line`;let name = 'Tom', age = 19console.log(1, a,
2020-07-16 11:34:20
288
原创 JavaScript 生成器表达式
Python 生成器表达式1、生成器表达式示例2、输出结果3、解释说明1、生成器表达式示例function* inc(){ let i = 0; let j = 7; while(true) { yield i++; if(!j--) return 100; }}let gen = inc()for (let i=0; i<10; i++) console.log(gen.next());2、输出结果 (下午1
2020-07-15 13:41:38
1036
原创 JavaScript 数据类型及object类型介绍
1、数据类型2、示例ES 是动态语言,弱类型语言。虽然事先声明了变量,但是变量可以重新赋值任何类型。/*说明:1、遇到字符串,加号就是拼接字符串,所有非字符串隐式转换为字符串2、如果没有字符串,加号把其它所有类型都当数字处理,非数字类型隐式转换为数字3、undefined 特殊,因为它都没有定义值,所以转换数字失败得到一个特殊值 NaN4、如果运算符是逻辑运算符,短路符,返回的就是短路时的类型,没有隐式转换5、除非你十分明确,否则不要依赖隐式转换。写代码的时候,往往为了程序的健壮,请显
2020-07-15 12:23:51
862
原创 网络探测工具和安全/端口扫描器 ---nmap 详解及常用实例
1、基础概念1.1 名称nmap是网络探测工具和安全/端口扫描器。1.2 语法nmap [ <扫描类型> ...] [ <选项> ] { <扫描目标说明> }nmap [Scan Type(s)] [Options] {target specification}1.3 描述Nmap (Network Mapper—网络映射器) 是一款开放源代码的 网络探测 和 安全审核 的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个 主机也没有问题。Nmap以
2020-06-11 17:01:51
2459
1
原创 JS 的 Promise详解
JS 的 Promise详解function runAsync() { return new Promise (function(resolve, reject){ setTimeout(function(){ console.log('Do Sth...'); resolve('OK...') // reject('NOT OK...'); }, 3000); });}runAs
2020-06-08 11:16:45
5056
原创 MySQL 的 常用语句介绍(重点 SELECT 语句)
MySQL 的 常用语句1、安装 MySQL2、登陆 MySQL,创建数据库 和 表3、在表中添加内容4、查看表中内容4、SELECT 语句4.1 查询 Name 列为 Tang 的所有行信息4.2 查询 Name 列为 Tang 的所有行信息(列信息只显示 ID 、Name 和 Age)4.3 查询 Name 列为 Tang 的所有行信息,使用 DISTINCT 可使结果去重(列信息只显示 Name 和 Age,完全一样的行结果才会去重)4.4 查询 Gender 列为 F 的所有行信息,结果需要去重
2020-06-02 17:37:15
341
原创 JS 常量 和 变量 详解
JS 常量 和 变量 详解1、常量和变量的标识符2、变量声明3、例子3.1 简单声明3.2 声明变量说明3.3 变量的作用域3.3.1 函数作用域中的变量3.3.2 函数中变量的作用域1、常量和变量的标识符标识符 必须是 字母 、 下划线 、 美元符号 $ 和 数字 ,但必须是 字母 、 下划线 、 美元符号 $ 开头,依然是不能以 数字 开头。标识符 区分大小写。2、变量声明var 声明一个变量let 声明一个块作用域中的局部变量const 声明一个常量变量声明和初始化是可以分开的
2020-06-01 16:35:03
679
原创 JS 的 单目运算符 ++ 和 -- 详解
JS 的 单目运算符 ++ 和 -- 详解1、介绍2、例子2.1 ++2.2 ++2.3 - -2.4 - -2.5 混合2.6 混合1、介绍++ 和 – 在 JS 中属于单目运算符,代表变量 自增 或 自减 。i++ // 先用后加( 先用 i ,用完之后 i 再增加 1 )++i // 先加后用( i 先自增,然后再使用 i )i-- // 先用后减( 先用 i ,用完之后 i 再减少 1 )--i // 先减后用( i 先自减,然后再使用 i )2、例子2.1 ++let
2020-06-01 15:39:42
2332
原创 Linux 搭建 FTP,用于企业网关批量升级
Linux 搭建 FTP,用于企业网关批量升级1、安装 FTP2、创建 FTP 默认目录,用于存放升级文件3、编辑配置文件4、重启服务5、企业网关下载升级镜像文件1、安装 FTP# CentOS 7: yum -y install vsftpd# Ubuntu: apt-get install vsftpd2、创建 FTP 默认目录,用于存放升级文件# ll /home/ftp/total 60180drwxrwxrwx 2 ftp ftp 4096 May 19 19:48 .
2020-05-21 13:38:05
307
原创 Linux telnet 安装及介绍(包括默认端口号修改)
Linux telnet 安装及介绍1、软件安装及配置1.1 安装telnet-server 、telnet 和 xinetd1.2 配置文件修改(一般可跳过)1.3 启动服务并设置开机启动1.4 查看端口号是否监听正常2、软件测试2.1 telnet 自测失败2.2 telnet 自测失败解决办法2.3 telnet 自测成功3、telnet 端口号修改3.1 修改 telnet.socket 文件3.2 修改 /etc/services 中的默认端口3.3 修改 /etc/xinetd.conf 文件
2020-05-17 22:36:47
3303
1
原创 Linux 硬链接和软链接详细介绍 及 软链接注意事项
Linux 硬链接和软链接详细介绍1、Linux 文件介绍1.1 文件组成1.2 文件 Inode1.3 改变文件名称,Inode 不改变2、硬链接和软链接2.1 前提2.2 硬链接2.2.1 硬链接介绍2.2.2 硬链接创建2.2.3 硬链接特点2.2.4 硬链接答疑2.3 软链接2.3.1 软链接介绍2.3.2 软链接创建文件2.3.3 软链接创建目录(可用于系统升级)2.3.4 软链接特点2.3.5 软链接注意事项12.3.5.1 删除软链接错误示例2.3.5.2 删除软链接正确示例2.3.6 软链接
2020-05-15 16:58:20
433
原创 Python 一些基础面试题
Python 一些基础面试题1、Python有哪些特点和优点?2、深拷贝和浅拷贝之间的区别是什么?3、列表和元组之间的区别是?4、在Python中如何实现多线程?5、解释一下Python中的继承6、什么是猴子补丁?7、请解释使用 *args 和 **kwargs 的含义8、python中new和init的区别是什么?9、解释一下Python中的三元运算10、在Python中是如何管理内存的?11、...
2020-03-18 12:53:25
154
原创 Python3 zip() 函数
Python3 zip 函数1、描述2、语法3、实例3.1 实例13.2 实例23.3 实例31、描述zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。zip 方法在 Python 2 和 Python 3 中的不同:在 Py...
2020-03-12 14:59:07
122
原创 Python3 map() 函数
Python3 - map 函数1、描述2、 语法3、参数4、返回值5、实例5.1 实例15.1 实例21、描述map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。2、 语法# map() 函数语法:map(function, iterable, ...)...
2020-03-12 14:37:57
146
原创 Python 字符串切片
Python 字符串切片SummaryExamplesSummary切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。使用一对方括号、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片。# 格式 [start:end:step] # 起始偏移量:start # 终止偏移量:end # 可选步长:step [:] #...
2020-02-19 17:15:34
5209
原创 Python示例---将一个数逆序放入列表中
Python示例---将一个数逆序放入列表中Problem Description1、字符串切片2、使用数字整除取模递归Problem Description# 将一个数逆序放入列表中# 例如 1234 ==> 【4,3,2,1】 # 一个数字1234被分解后,变成了4项,逆序放在了列表中1、字符串切片data = str(1232245)def revert(data):...
2020-02-19 15:57:57
1352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅