分类目录归档:教程

Python的高阶函数


把函数作为参数传入,这样的函数称为高阶函数,高阶函数是函数式编程的体现。函数式编程就是指这种高度抽象的编程范式。

体验高阶函数

在python中,abs()函数可以完成对数字绝对值计算。

abs(-10)
输出:10

round()函数可以完成对数字的四舍五入计算。

round(1.2)
输出1
round(1.9)
输出2

这里有个需求:任意两个数字,按照指定要求整理数字后(绝对值计算或四舍五入后)再进行求和计算。

方法1:

def add_num(a, b):
    return abs(a) + abs(b)

result = add_num(-1,2)
print(resu

Read more

macOS11.0.1 Big Sur下载失败怎么办?附满速官方下载链接


很多同学在下载Big Sur的时候,通过系统偏好设置的软件更新升级,主要会遇到3个问题:

  1. 下载速度慢
  2. 下载到一半,提示下载失败
  3. 下载完成后安安装的时候出现错误

而且如果上述事件发生一次,那么即使重新来一遍,也会大概率发生第二次。

DpYv6J.jpg

好在苹果下载的文件是一个pkg文件,我们只需要抓到这个链接,放到safari浏览器或者下载器(例如迅雷)里,就可以下载到安装包,双击就可以安装新系统了。

而且速度很快,基本满速。

下载链接:

http://swcdn.apple.com/content/downloads/50/49/001-79699-A_93OMDU5KFG/dkjnjkq9eax1n2wp

Read more

在Ubuntu上安装Pyenv


什么是pyenv

pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源.

如何安装?

1. 安装git

$ sudo apt install git-core

2. 克隆github上的源码仓库并添加bash路径垫片(一行一行复制)

$ git clone --depth 1 https://github.com/pyenv/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv

Read more

python学习之字典


目标

  • 字典的应用场景
  • 创建字典的语法
  • 字典常见操作
  • 字典的循环遍历

一. 字典的应用场景

思考1: 如果有多个数据,例如:'Tom', '男', 20,如何快速存储?

答:列表

list1 = ['Tom', '男', 20]

思考2:如何查找到数据'Tom'?

答:查找到下标为0的数据即可。

list1[0]

思考3:如果将来数据顺序发生变化,如下所示,还能用list1[0]访问到数据'Tom'吗?。

list1 = ['男', 20, 'Tom']

答:不能,数据'Tom'此时下标为2。

思考4:数据顺序发生变化,每

Read more

dart条件表达式


Dart编程语言支持两种条件表达式,其中一种格式如下:

条件? 表达式1: 表达式2

如果条件判断为true,则执行表达式1,并返回结果;反之则执行表达式2,并返回结果。 另一种格式如下:

表达式1 ?? 表达式2

如果表达式1的值不是null,则返回表达式1的结果;如果表达式1的值是null,则返回表达式2的结果。

示例如下:

//条件表达式
var conditionBool = true;
print(conditionBool? 'true': 'false');
conditionBool = null;
print(conditionBool ?

Read more

Mac Python3 Matplotlib中文方框乱码解决方案


在macOS上,使用Python 3的绘图库Matplotlib,当输出中文时遇到方框形乱码。

造成Matplotlib中文乱码是因为Mac下没有SimHei字体库,需要下载SimHei字体,再配置Matplotlib。

如果我们找到Mac里支持中文的字体,然后在Matplotlib里设置为默认,也就不需要再下载了。

from matplotlib.font_manager import FontManager
fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
print(mat_fonts)

运行以上代码,可以发现

Read more

Python的列表、集合和字典推导式


列表推导式是Python最受喜爱的特性之一。它允许用户方便的从一个集合过滤元素,形成列表,在传 递参数的过程中还可以修改元素。形式如下:

[expr for val in collection if condition]

它等同于下面的for循环:

result = []
for val in collection:
if condition: result.append(expr)

filter条件可以被忽略,只留下表达式就行。例如,给定一个字符串列表,我们可以过滤出⻓度在2及以 下的字符串,并将其转换成大写:

strings = ['a', 'as', &

Read more

设置树莓派中frp客户端开机自启


最近入手了树莓派4B,开始了这个小玩意的折腾之旅。因为家里的电信网络没有公网IP,为了便于从外网环境下随时随地访问本地树莓派上部署的监控和远程下载等功能,我使用了国人开发的frp反向代理来实现内网穿透,项目的GitHub地址:https://github.com/fatedier/frp

为了实现树莓派上frp客户端的开机自启,以应对断电重启后带来的访问问题,我写了一个systemd的脚本: 首先获取root权限,进入树莓派的systemd目录:

sudo -i
cd /lib/systemd/system

然后使用nano编辑器新建frpc.service服务文件:

nano frpc.se

Read more

树莓派RaspberryPi安装|配置mariadb


//安装命令
$ sudo apt-get install mariadb-server -y    //raspbian中已经废弃了mysql,只有mariadb
//安装完毕后,暂时还不能使用,需要通过sudo mysql 登录进行修改密码,授权等操作,这些操作与其他MySQL是一样的。
$ sudo mysql
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY 'yourpasswd';
MariaDB [mysql]> FLUSH PRIVILEGES;
MariaD

Read more

Mac OS Catalina 通过pyenv 安装和使用任意版本的python


在Mac更新至Catalina之前因为Mac没有集成python3,所以可以使用homebrew安装python3进行管理,但Mac更新至Catalina后开始集成python3,为了不影响系统的python3环境,我们可以直接通过homebrew安装python3就会带来一些冲突问题,这里可以使用pyenv解决。

什么是pyenv

pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源.

安装步骤

1.先安装homebrew(已安装的略过)

/usr/bin/

Read more