avatar
文章
23
标签
19
分类
5
首页
归档
标签
分类
OKK的个人博客
搜索
首页
归档
标签
分类

OKK的个人博客

Python闭包函数
发表于2026-08-22|内容整理
Python闭包函数(Closure) 这篇文档假设你已经会写普通的函数,知道什么是变量,但还没听说过”闭包”这个词。阅读时间约 15 分钟。看完之后,你会明白:闭包是什么、为什么需要它、怎么用它,以及它最容易踩的坑。 先讲个故事你出国旅行,出发前在家里把行李箱打包好:两件衣服、一个充电器、一沓现金。 到了国外,你打开行李箱拿东西用。这时候你家(出发前的环境)早就离你十万八千里了,但行李箱里的东西还在,随时能用。 Python 里的闭包就是这样一个”带着行李箱的函数”:它把定义时周围的变量打包带走,哪怕后来那个环境已经消失了,这些变量依然跟着它。 这个比喻先记在心里,我们往下看代码就明白了。 第一步:先复习一下普通函数你肯定写过这样的函数: 1234def greet(name): return 'hello, ' + nameprint(greet('小明')) 运行结果: 1hello, 小明 很简单,name 是参数,函数用它拼了一句话返回。 现在问你一个问题:name 这个变量,在函数外面能用吗? 1234def...
Python中一切皆对象
发表于2026-08-12|内容整理
你大概在各种教程、面试题、知乎回答里都见过这句话: Python中一切皆对象。 而本章主要讲解的内容,包括下面几点: 「对象」到底是个什么东西 为什么数字、字符串、函数、甚至 print 本身,都是对象 这句话给你写代码带来了什么实际好处 顺便看懂几个之前觉得「奇怪」的 Python 现象 一、先看一个「奇怪」的现象打开你的终端,进入 Python 交互环境(在命令行输入 python 回车): 12345┌─────────────────────────────────────────┐│$ python ││Python 3.13.0 ││>>> _ │└─────────────────────────────────────────┘ 然后敲下面这几行,一行一行来: 1234>>> 1010>>> type(10...
Python变量
发表于2026-08-08|笔记
在Python中,变量是存储数据的容器,用来存储程序运行过程中需要使用的数据。 数据类型决定了变量可以存储的数据种类。Python的变量无需声明类型,赋值后即可创建,且支持动态类型。 命名规则和规范 规则 只能包含大小写字母、数字、下划线 不能以数字开头 严格区分大小写 不能使用Python内置关键字和预留关键字 规范 示例 推荐变量名使用小写字母 + 下划线(蛇形命名法) user_name、max_score 常量使用全大写 + 下划线 MAX_SIZE、PI 见名知意,避免无意义的单字母 用 student_count 而不是 n 变量的本质Python 中变量存储的其实是对象的引用(可以理解为指向数据的”标签”),也可以说变量是对内存及其地址的抽象。 变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量本身。 变量所需的存储空间大小一致,因为变量只是保存了一个引用。也被称为对象语义和指针语义。变量的每一次初始化,都开辟了一个新的空间,将新内容的地址赋值给变量 用 id() 函数可以查看...
Ollama命令
发表于2026-08-06|笔记
Ollama简介Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。 Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型,支持文本生成、翻译、代码编写、问答等多种自然语言处理任务。 Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。 Ollama相关命令可以输入命令 ollama --help 查看包含的命令 完整实例: 命令 (Command) 说明 (Description) 示例 (Example) ollama serve 启动服务。启动 Ollama 的 API 服务,端口默认是11434(通常后台自动运行)。 ollama serve ollama create 创建模型。根据 Modelfile 创建自定义模型(高级)。 ollama create my-bot -f ./Modelfile ollama show 显示信息。查看模型的元数据、参数或 Modelfile。 o...
Mac解压pkg文件
发表于2019-07-03|笔记
12xar -xf Setup.pkgcat ./Payload | cpio -i cpio用法cpio 指令可以将文件复制到 存档包(archives),也可以从存档包(archives)复制出文件。缺省情况下,cpio从标准输入读取输入数据,向标准输出写入输出数据。 归档包(archives)是一种包含其他文件和有关信息的文件。 有关信息包括: 文件名, 属主, 时间戳(timestamp), 和访问权限。 cpio支持下列的归档格式: binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, POSIX.1 tar。 默认情况下,cpio创建二进制格式存档,以便与旧的cpio程序兼容。从档案中提取时,cpio会自动识别正在读取的归档类型,并可以读取在具有不同字节顺序的计算机上创建的归档。 cpio 有三种操作模式,某些选项只能用在对应的操作模式上; Copy-out 模式 在copy-out模式下,cpio将文件复制到存档(archives)中。它从标准输入读取文件名列表(...
Docker笔记
发表于2019-05-07|笔记
docker操作docker run-i 标志保证容器中STDIN是开启的 -t创建的容器分配一个伪tty终端 docker run --name bob_the_container -i -t ubuntu /bin/bash 创建守护式容器 docker run --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done" docker start | stop | restart | rm | rmi批量删除镜像或者容器删除全部标签为none的镜像 1docker rmi `docker images -a | awk '/^<none>/ { print $3 }'` 删除除某个容器ID外的其他容器 1docker rm `docker ps -a -q | awk '!/81df01422b69/'` docker attach重新回到了容器的Bash提示符 d...
Mac安装Pygame
发表于2019-04-27|环境部署
安装pygame依赖包:brew install hg sdl sdl_image sdl_ttf,如果想启动更高级的功能,如在游戏中包含声音,可安装下面的两个额外的库:brew install sdl_mixer portmidi 安装Pygame:pip3 install --user hg+http://bitbucket.org/pygame/pygame,如果报错可以尝试:pip3 install pygame 验证 Pygame 是否安装成功,可以启动一个Python终端,输入:import pygame
Mac安装MongoDB
发表于2019-04-07|环境部署
下载安装 curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.5.tgz 或者 官网下载tar包 解压 tar -zxvf mongodb-osx-ssl-x86_64-4.0.5.tgz 重命名 mv ./mongodb-osx-ssl-x86_64-4.0.5.tgz ./mongodb 移动到合适位置 sudo mv ./mongodb /usr/local/opt/ 在.bashrc文件添加 export PATH=/usr/local/opt/mongodb/bin:$PATH brew安装 sudo brew install mongodb sudo brew install mongodb --with-openssl // 要安装支持 TLS/SSL 命令 sudo brew install mongodb --devel // 安装最新开发版本 运行数据库 创建数据库目录和日志目录 sudo mkdir -p /usr/l...
使用vscode开发go
发表于2019-02-14|环境部署
首先配置GOPATHGOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号;,Linux系统是冒号:,当有多个GOPATH时默认将go get获取的包存放在第一个目录下,在开发的gopath中写代码,使用go工具(go install, go build) 会将二进制包安装到开发的gopath中 GOPATH目录约定有三个子目录 src存放源代码(比如:.go .c .h .s等) pkg编译时生成的中间文件(比如:.a) bin编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录) 使用vscode在官网下载vscode安装,然后安装Microsoft的go插件,由于网络原因,这时会提示你现在有好几个插件安装失败。 手动把插件安装上: 在$GOPATH的第一个目录下,建立目录:mkdir -p src/golang.org/x 进入上面新建的目录中,下载插件源码:git clone https://github.c...
PostgreSQL触发器
发表于2019-01-08|数据库
触发器的创建语法12345678CREATE [CONSTRAINT] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ...] } ON table_name[ FROM referenced_table_name ]{[ NOT DEFERRABLE ][ DEFERRABLE ]{[ INITIALLY IMMEDIATE ][ INITIALLY DEFERRED]}} [ FOR [ EACH ] { ROW | STATEMENT } ][ WHEN (condition) ]EXECUTE PROCEDURE function_name ( arguments ) 触发器创建步骤先为触发器创建一个执行函数,返回类型为触发器类型,然后创建相应的触发器 1234567891011create or replace function trigger_loans_tmp_del() returns TRIG...
123
avatar
OKK
文章
23
标签
19
分类
5
Follow Me
公告
Everything is ok.
最新文章
Python闭包函数2026-08-22
Python中一切皆对象2026-08-12
Python变量2026-08-08
Ollama命令2026-08-06
Mac解压pkg文件2019-07-03
分类
  • 内容整理4
  • 数据库4
  • 日常1
  • 环境部署8
  • 笔记6
标签
面试 Golang PHP Ollama Pygame MongoDB Python PostgreSQL 设计模式 Git Docker Mac SQL函数 存储过程 SQL触发器 about Markdown Hexo pgcrypto
归档
  • 八月 2026 4
  • 七月 2019 1
  • 五月 2019 1
  • 四月 2019 2
  • 二月 2019 1
  • 一月 2019 1
  • 十二月 2018 4
  • 六月 2018 3
网站信息
文章数目 :
23
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2018 - 2026 By OKK框架 Hexo 8.1.2|主题 Butterfly 5.7.0
搜索
数据加载中