-
增加GitHub Action部署到腾讯云函数
2020-12-08 19:04:07<div><ul>增加自动部署到腾讯云函数任务,默认手动执行为 未配置定时和触发,如有需要可配置master分支修改触发</li><li><code>severless.yml</code> 增加环境变量配置,调整默认节点为香港方便TG... -
Python基础入门:函数与Lambda表达式-Task3-阿里云天池
2020-09-12 20:40:29Python基础入门:函数与Lambda表达式-Task3-阿里云天池 〇、整体的学习感受 整体感觉还不错,尤其是函数的参数那一章节介绍的很不错,特别适合新手入门,希望以后能够增加具体实例,来实现函数使用的代入感。 一、...Python基础入门:函数与Lambda表达式-Task3-阿里云天池
〇、整体的学习感受
整体感觉还不错,尤其是函数的参数那一章节介绍的很不错,特别适合新手入门,希望以后能够增加具体实例,来实现函数使用的代入感。
一、具体的学习内容
-
Lambda-表达式
1. 匿名函数的定义
2. 匿名函数的应用
函数这一部分很重要,所以详细地写一写
1.1 函数的定义
- 函数以
def
关键词开头,后接函数名和圆括号()。 - 函数执行的代码以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回
None
。
def functionname (parameters):
“函数_文档字符串”
function_suite
return [expression]1.2 函数参数
Python 的函数具有非常灵活多样的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。从简到繁的参数形态如下:
- 位置参数 (positional argument)
- 默认参数 (default argument)
- 可变参数 (variable argument)
- 关键字参数 (keyword argument)
- 命名关键字参数 (name keyword argument)
- 参数组合
1. 位置参数
def functionname(arg1):
“函数_文档字符串”
function_suite
return [expression]arg1
- 位置参数 ,这些参数在调用函数 (call function) 时位置要固定。
2. 默认参数
def functionname(arg1, arg2=v):
“函数_文档字符串”
function_suite
return [expression]arg2 = v
- 默认参数 = 默认值,调用函数时,默认参数的值如果没有传入,则被认为是默认值。- 默认参数一定要放在位置参数 后面,不然程序会报错。
3. 可变参数
顾名思义,可变参数就是传入的参数个数是可变的,可以是 0, 1, 2 到任意个,是不定长的参数。
def functionname(arg1, arg2=v, *args):
“函数_文档字符串”
function_suite
return [expression]*args
- 可变参数,可以是从零个到任意个,自动组装成元组。- 加了星号(*)的变量名会存放所有未命名的变量参数。
4. 关键字参数
def functionname(arg1, arg2=v, *args, **kw):
“函数_文档字符串”
function_suite
return [expression]**kw
- 关键字参数,可以是从零个到任意个,自动组装成字典。
5. 命名关键字参数
def functionname(arg1, arg2=v, *args, *, nkw, **kw):
“函数_文档字符串”
function_suite
return [expression]*, nkw
- 命名关键字参数,用户想要输入的关键字参数,定义方式是在nkw 前面加个分隔符*
。- 如果要限制关键字参数的名字,就可以用「命名关键字参数」
- 使用命名关键字参数时,要特别注意不能缺少参数名。
6. 参数组合
在 Python 中定义函数,可以用位置参数、默认参数、可变参数、命名关键字参数和关键字参数,这 5 种参数中的 4 个都可以一起使用,但是注意,参数定义的顺序必须是:
- 位置参数、默认参数、可变参数和关键字参数。
- 位置参数、默认参数、命名关键字参数和关键字参数。
要注意定义可变参数和关键字参数的语法:
*args
是可变参数,args
接收的是一个tuple
**kw
是关键字参数,kw
接收的是一个dict
命名关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。定义命名关键字参数不要忘了写分隔符
*
,否则定义的是位置参数。
闭包- 是函数式编程的一个重要的语法结构,是一种特殊的内嵌函数。
- 如果在一个内部函数里对外层非全局作用域的变量进行引用,那么内部函数就被认为是闭包。
- 通过闭包可以访问外层非全局作用域的变量,这个作用域称为 闭包作用域。
变量作用域
- Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。
- 定义在函数内部的变量拥有局部作用域,该变量称为局部变量。
- 定义在函数外部的变量拥有全局作用域,该变量称为全局变量。
- 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。
递归
- 如果一个函数在内部调用自身本身,这个函数就是递归函数。
匿名函数的定义
在 Python 里有两类函数:
- 第一类:用
def
关键词定义的正规函数 - 第二类:用
lambda
关键词定义的匿名函数
Python 使用
lambda
关键词来创建匿名函数,而非def
关键词,它没有函数名,其语法结构如下:lambda argument_list: expression
lambda
- 定义匿名函数的关键词。argument_list
- 函数参数,它们可以是位置参数、默认参数、关键字参数,和正规函数里的参数类型一样。:
- 冒号,在函数参数和表达式中间要加个冒号。expression
- 只是一个表达式,输入函数参数,输出一些值。
注意:
expression
中没有 return 语句,因为 lambda 不需要它来返回,表达式本身结果就是返回值。- 匿名函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
匿名函数 常常应用于函数式编程的高阶函数 (high-order function)中,主要有两种形式:
- 参数是函数 (filter, map)
- 返回值是函数 (closure)
如,在
filter
和map
函数中的应用:filter(function, iterable)
过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用list()
来转换。map(function, *iterables)
根据提供的函数对指定序列做映射。- 除了 Python 这些内置函数,我们也可以自己定义高阶函数。
二、学习总结
写几点自己的收获或者是自己觉得需要注意的地方吧
(1)Python 允许函数调用时参数的顺序与声明时不一致,但这时需要把默认参数名称给写上,因为 Python 解释器能够用参数名匹配参数值。
(2)「可变参数」和「关键字参数」的同异总结如下:- 可变参数允许传入零个到任意个参数,它们在函数调用时自动组装为一个元组 (tuple)。
- 关键字参数允许传入零个到任意个参数,它们在函数内部自动组装为一个字典 (dict)——所以,如果要“调用”关键字参数的话,需要用赋值的形式传入,及:key=value。
(3)虽然可以组合多达 5 种参数,但不要同时使用太多的组合,否则函数很难懂。
(4)- 当内部作用域想修改外部作用域的变量时,就要用到global
和nonlocal
关键字了。
(5)内嵌函数只能够在外部函数内部被调用。
(6)说实话,闭包的知识点没有太看明白,大概意思是不是函数的返回对象也是一个函数?需要再次传递参数才能得到一个具体的返回值?
(7)函数式编程是指代码中每一块都是不可变的,都由纯函数的形式组成。这里的纯函数,是指函数本身相互独立、互不影响,对于相同的输入,总会有相同的输出,没有任何副作用。(这里的“副作用”主要是指,非函数式编程可能会修改全局变量)三、建议
(纯属个人看法)
(1)可变参数、关键字参数和关键字命名参数的讲解过于简单,建议多一点实例,便于理解python设计这个语法的用意何在;
(2)关于闭包和底层递归函数的知识点,可以再详细一些。学习地址
https://tianchi.aliyun.com/s/58327c15d1faee512c008128d3bb9e32
-
微信小程序云开发使用mysql数据库
2021-01-04 16:04:49按照下面的代码编写通用sql执行云函数第三步 修改package.json,这个是为了方便云函数云端安装依赖所需第四步上传云函数并云端安装依赖,看下图第五步 在云控制台增加环境变量,比如涉及到隐私的数据集地址和密码测试...文章目录
准备
第一步创建一个nodejs云函数
第二步 按照下面的代码编写通用sql执行云函数
// 云函数入口文件 const cloud = require('wx-server-sdk') const mysql = require('mysql2/promise') cloud.init() // 云函数入口函数 exports.main = async (event, context) => { let res; try { const connection =await mysql.createConnection({ host: process.env.ipaddr, database: process.env.database, user: process.env.username, password: process.env.password, }) var sql = event.sql; var params = event.params; res = await connection.execute(sql,params); } catch (err) { console.log("链接错误", err) return err } return { res, code:200 } }
第三步 修改package.json,这个是为了方便云函数云端安装依赖所需
"dependencies": { "wx-server-sdk": "~2.3.2", "mysql2":"~2.2.5" }
第四步上传云函数并云端安装依赖,看下图
第五步 在云控制台增加环境变量,比如涉及到隐私的数据集地址和密码
- 路径:
云函数列表
->定位到目标云函数
->点击版本与配置
->再点击配置
->再点击下方的高级配置
- 注意:数据库要使用公网地址
测试
//加载部门人员 loadGroupUser(depId){ let sql = 'SELECT su.user_id,su.user_name,su.nick_name,su.phonenumber FROM sys_user as su WHERE su.dept_id = ? AND su.del_flag = 0 '; let params = [depId]; wx.cloud.callFunction({ name:'db-operator', data:{ sql:sql, params:params }, success: res=>{ console.log(res) }, fail: err =>{ console.log('[云函数] [db-operator] 调用失败',err) } }) },
结果如下便是成功
有问题请留言
- 路径:
-
微信小程序之重写Page函数,实现监听用户进入和离开页面
2020-11-06 09:19:28描述 需求:实现监听用户进入和离开页面 ... // 重写page函数,增加阿里云监控和日志记录 let oldPage = Page Page = function(obj) { // 重写onShow方法,用一个变量保存旧的onShow函数 let oldOnShow = ob描述
需求:实现监听用户进入和离开页面
方案
- 新建page.js文件,代码如下:
let data // 这里data从app.js中传入,为了获取data的一些参数 function init(_data) { data = _data // 重写page函数,增加阿里云监控和日志记录 let oldPage = Page Page = function(obj) { // 重写onShow方法,用一个变量保存旧的onShow函数 let oldOnShow = obj.onShow obj.onShow = function() { // 此处写进入页面逻辑 console.log('show') // 此处不能写成oldOnShow(),否则没有this,this.setData等方法为undefined。这里的this在Page构造函数实例化的时候才会指定 // 在Page构造函数实例化的时候,小程序会将当前的Page对象的原型链(__proto__)增加很多方法,例如setData。当前的obj没有setData // 上面一段是我猜的 oldOnShow.call(this) } // 重写onHide方法,用一个变量保存旧的onHide函数 let oldOnHide = obj.onHide obj.onHide = function() { // 此处写离开页面逻辑 console.log('show') // 此处不能写成oldOnHide(),否则没有this,this.setData等方法为undefined。这里的this在Page对象实例化的时候才会指定 oldOnHide.call(this) } return oldPage(obj) } } export { init }
- 将这一串代码封在一个js文件中,然后在app.js中引入,在app.js的onLaunch方法中调用该init方法。
import myPage from '/utils/myPage.js' App({ data: {}, onLaunch: function() { // 重写page函数 myPage.init(this.data) }, ... })
参考文章:https://blog.csdn.net/milugloomy/article/details/100545190
-
thinkphp 个别字段无法更新_DiYunCMS(帝云CMS) v4.3.12 更新说明
2020-12-11 22:36:56DiYunCMS(帝云CMS)-免费开源可商用的PHP万能建站程序4.3.12版...value函数,用于生成随机验证码增加自定义存储远程图片时自动补全url地址功能增加模块首页钩子module_index模块首页增加当前页面url的变量增加多站...DiYunCMS(帝云CMS)-免费开源可商用的PHP万能建站程序
4.3.12版更新记录
- 增加内置文章、下载、图片模块
- 增加密码加密认证验证
- 增加字段导入和导出功能
- 增加用户编辑界面注册时间和注册ip的修改文本框
- 增加form类中的get_rand_value函数,用于生成随机验证码
- 增加自定义存储远程图片时自动补全url地址功能
- 增加模块首页钩子module_index
- 模块首页增加当前页面url的变量
- 增加多站点缓存模块时自动删除无效的站点缓存
- 增加邮件发送测试按钮处的弹窗停留功能
- 增加支付前验证函数pay_check的写法
- 增加后台登录时第三方按钮提示文字
- 增加自动识别My/Field的字段类别函数
- 增加联动菜单字段无数据时的提示文字信息
- 增加前端模块控制器的内容格式化_Show_Data函数
- 增加用户名禁止注册时模糊匹配规则
- 增加百度编辑器插入视频可继续进行编辑视频地址
- 增加百度编辑器插入尾部换行符号图标按钮
- 增加Clink针对某条记录进行验证显示权限check参数
- 增加百度编辑器插入图片自动获取标题的title和alt
- 增加xss过滤代码原型在调试模式下可见功能
- 增加属性字段的固定行模式功能
- 增加百度编辑器视频在线浏览选取功能
- 增加ftable类的字段精确匹配的条件查询搜索
- 增加联动菜单快速添加数据功能
- 增加cms.js文件对layer组件的检测提醒
- 增加模块信息调用函数dr_mod_value
- 增加格式化编辑器代码函数dr_ueditor_html
- 增加分页链接单独设置a标签的class属性值配置参数
- 增加插件允许自定义自己的list标签配置
- 增加modules标签支持flag参数和not_flag参数
- 增加附件管理处更改附件名称功能
- 增加在预览mp4附件时的视频播放功能
- 增加语言包的翻译引导文件(开发者模式下有效)
- 增加emoji表情符号入库存储(需要MySQL5.6以上,并且需要升级数据库编码)
- 增加modules标签支持catid参数
- 增加后台显示字段可居中对其方式的参数配置
- 生成静态页面增加生成页面条数控制值设置
- 修复外链内容无法在静态模式下跳转地址
- 去掉网站其他域名SITE_DOMAINS配置值
- 修复部分内容审核管理界面批量操作会失败的问题
-
JavaScript模式中文[pdf] 百度云
2018-08-31 02:37:40尽量少用全局变量 for循环 for-in循环 不要增加内置的原型 SWitch模式 避免使用隐式类型转换 使用parseInt()的数值约定 编码约定 命名约定 编写注释 编写API文档 编写可读性强的代码 同行... -
简单易懂的讲一下Python中的高级专题装饰器
2020-06-10 16:11:15其实说白了就是给函数在不更改源代码及其调用方式的情况下,增加函数的一些功能。 那装饰器到底是个啥? 装饰器就是个不一样的函数。 那么在理解装饰器是啥函数之前,我们要先看懂三句话。 1、函数就是变量 这一点在... -
OneManager-php:基于无服务器的Onedrive索引和管理器。 可以部署到HerokuGlitchSCFFGFCCFCPHP虚拟主机VPS-...
2021-02-05 19:43:36部署到腾讯无服务器云功能(SCF腾讯无服务器云函数) 官方: : DEMO:无注意:SCF增加限制,环境变量整体最大4KB,所以最多添加4个盘。 如何安装: 1,进入函数服务,上方选择地区,然后点击新建。 -
PHP反序列化漏洞原理及示例
2020-08-26 19:53:03序列化过程中还会对不同属性的变量进行不同方式的变化 public的属性在序列化时,直接显示属性名 protected的属性在序列化时,会在属性名前增加0x00*0x00,其长度会增加3 private的属性在序列化时,会在属性名前增加... -
Serverless 掀起新的前端技术变革
2020-12-02 19:54:47常见的 Web IDE 有 AWS 的 Cloud9、阿里云的函数计算 Web IDE、腾讯云的 Cloud Studio。从体验上来说,AWS Cloud9 最好。 <p><a name="9a5b673c"></a></p> 命令行工具 当然,目前最主要的开发方式还是在... -
【最新版】wechat_devtools_1.03.2006090.dmg【亲测可用】最好的微信工具
2020-07-10 01:32:35F 修复 云函数本地调试没有日志的问题 反馈详情 F 修复 API 代码自动补全时按字母序排序不友好的问题 反馈详情 F 修复 版本更新通知时,如未选择更新,后续手动检查更新时一直提示正在下载的问题 F 修复 win 版通知... -
C语言FAQ 常见问题列表
2010-10-28 16:41:29o 2.3 怎样定义和声明全局变量和函数最好? o 2.4 extern 在函数声明中是什么意思? o 2.5 关键字 auto 到底有什么用途? o 2.6 我似乎不能成功定义一个链表。我试过 typedef struct { char *item; NODEPTR next... -
不支持使用 js 系统关键字作为函数或变量名(如 default、import、return、switch 等) 不支持以$开头的变量名称,如 Page({data:{$data:{name:"hello"}}}) ,刚好$data 是 vue 内置变量,so 不支持,需手动修复 不...
-
将参数设置为(引用作用域,函数名称,位移量,透明度),以后可以将其制作成插件供开发者使用,这样在各个页面都能直接调用动画函数,还能将其改为不同的动画效果,减少了代码的冗杂性,增加了代码的复用性。...
-
五指CMS v2.01简体中文GBK.zip
2019-07-16 17:23:32新增私密下载,下载函数 新增百度地图 新增筛选功能 修正全局开始时间bug 栏目缓存增加 ismenu缓存字段。 修改密码同步UC 删除会员同步删除第三方登录信息 修复图片预览 修复基本设置,统计代码无法设置js... -
Discuz! X2 R20120628 简体UTF-8.zip
2019-07-16 18:51:49FIX 修正搜索接口错误调用了implode()函数问题 FIX 好友申请附言问题 FIX 前台管理中已经审核通过文章,后台还是提示审核的问题 FIX QQ互联暴露匿名帖用户信息的问题 FIX 专题模块可使用... -
mahara教师评价系统
2014-12-31 16:14:43补救的办法是给那几个函数增加一个 config 参数,指明 openssl.cnf 的路径。 以下是我修改的 OpenSslRepo 类的一个私有函数, 在 mahara 的 mahara\api\xmlrpc\lib.php 里面,红色加粗是我修改的部分。 private ... -
高效查询纯真IP库lib-qqwry.zip
2019-07-18 04:32:03'255.255.255.255'ipEndianChange(INT) 字节序转换(静态方法)按32位转换参数的字节序一些云平台的环境变量中IP信息可能是Little-Endian形式的数值;比如百度node.js环境中的 process.env.BAE_ENV_COOKIE_IP , 这时候... -
中文版Excel.2007图表宝典 2/2
2012-04-06 19:01:3610.9.1 绘制带一个变量的函数/283 10.9.2 绘制带两个变量的函数/285 10.10 创建一个三维散点图/286 第11章 使用数据透视图/289 11.1 数据透视表/289 11.1.1 数据透视表示例/290 11.1.2 适于创建数据透视表的数据/... -
一个是利用环境变量DYLD_INSERT_LIBRARIES,例如使用它进行dumpdecrypted(补充:Clutch 通过posix_spawnp生成一个新的进程,然后暂停进程并dump内存) 另一个是在挂载的进程上创建一个挂起的线程, 然后在这个线程里...
-
Vue源码详细解析(一)--数据的响应化
2020-11-21 02:42:13如果遇到数组data中的数组实例增加了一些“变异”的push、pop等方法,这些方法会在数组原本的push、pop方法执行后发出消息,表明发生了改动。听起来这好像可以用继承的方式实现: 继承数组然后在这个子类... -
isin()函数用于构建布尔对象,便于删选dateframe的行, pandas中isin()函数及其逆函数使用 建议用loc和iloc选择行 loc以行索引和列索引key来选择元素 iloc以行列所在的整数索引来选择元素,不过都从0开始 待续 ...
-
电脑连接上一个手机或多个手机, 确保adb已经添加到环境变量中,执行下面的命令会自动安装本库所需要的设备端程序:uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch # init 所有的已经连接到...
-
为此我们给每个组件增加一个ApplicationLike类,里面定义了onCreate和onStop两个生命周期函数。 看到网上有个方案说:主项目负责加载组件,由于主项目和组件之间是隔离的,那么主项目如何调用组件ApplicationLike的...
-
枸杞的由来和技术栈
2021-01-02 15:11:32你甚至仍然能找到一个 1k star 但是把临时变量也放在 <code>this.state</code> 里并且直接给 <code>state</code> 赋值的库。好不容易找到一个看起来靠谱的,你又发现它的文档根本没描述清楚它的所有功能ÿ...
-
客户端交互设计适配之屏幕大小
-
项目经理成长之路
-
深究字符编码的奥秘,与乱码说再见
-
货币转换微服务:使用Spring Cloud的货币转换微服务-源码
-
2021 PHP租车系统 毕业设计 毕设源码 源代码使用教程
-
Cmake 教程
-
ubuntu下的apt-get内网本地源的搭建
-
那些技术文档
-
Web前端开发笔记(1)
-
MySQL 主从复制 Replication 详解(Linux 和 W
-
很多朋友都是从此绝交的,故事很短,却说穿了人性!
-
产品团队管理经验一枚
-
OpenCV-学习历程22-像素重映射(cv::remap)
-
NFS 网络文件系统
-
C++代码规范和Doxygen根据注释自动生成手册
-
ELF视频教程
-
斜光轴数字强度相关计量的像模糊容限
-
FastDFS 分布式文件系统部署
-
SecureCRT 连接 GNS3/Linux 的安全精密工具
-
大尺寸薄壳物体表面的三维光学自动检测