python高级 学习

local 局部命名空间
global 全局命名空间
built-in内建命名空间
1
2
3
####查看名字空间的方法

局部名字空间 locals()
全局名字空间 globals()
内建命名空间 builtins使用dir查看
1
2
3
####作用域

local 局部作用域 在函数内部使用
enclosing 闭包/嵌套作用域 函数嵌套函数 上层函数的变量是闭包局部变量
global 全局作用域 全局使用 函数内部不能赋值
built-in 内建作用域 任意位置使用
1
2
3
4
##变量查找的优先级LEGB法则 就近

local
enclosed
global
built-in
1
2
3
4
###指定名字空间的访问

global 变量名 指定访问全局
nonlocal 变量名 指定访问不是局部变量
UnboundLocalError — 使用一个未赋值的局部变量

##装饰器

###装饰器的特点

传入一个旧函数作为被装饰(加强)的函数
返回加强过后的新函数
装饰器不改变原函数的代码

###装饰器的写法

定义装饰器
def factory(fun):
	def inner(*args, **kwargs):
		新功能
		fun(*args, **kwargs)
		新功能
		return inner
		
#定义一个函数,可以被装饰
def show(*args, **kwargs):
		print(...)
			
#使用装饰器
show = factory(show)
show(1,2,3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
###装饰器语法糖

      @装饰器
位置:在被装饰的函数前加语法
# 装饰器的细节
装饰器和被装饰函数可以不传参数
被装饰的函数有参数
被装饰的函数不定长参数
给装饰器传参数(根据参数改变装饰行为)
装饰器实际也是一个函数(可调用对象)
新函数里调用老函数

1
2
3
4
5
6
7
8
9
10
##随机数模块(random)

常用于生成随机数,多运用于抽奖 测试数据 验证码等

接口名称
导入库  import random
random.random()  用于生成一个01的随机浮点数: [0, 1)
random.randint()[a,b]的随机整数,要求a < b。
random.uniform(a,b)   生成[a,b][b,a]之间的均匀分布随机浮点数。
random.randrange(a,b)   生成[a,b)的随机整数,第三个参数可以指定步长
random.choice(seq)   从序列中随机选择一个元素,若序列为空,则抛出异常
random.shuffle(seqb)  打乱源序列,源序列必须可写
random.sample(seq,k)  从序列中选择k个元素返回,原序列不变
random.seed(n=none)   初始化随机熵池

			一旦用定值初始化,则每次运行的随机现象是一致

	

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
##time模块

time 模块是围绕着 Unix Timestamp进行 日期范围被限定在 1970 - 2038 之间

接口名称
time.time()   返回一个距Epoch的秒数,是浮点数
time.gmtime(seconds)  将秒数转化为年月日时分秒,以UTC时间为标准
time.localtime(seconds)将秒数转化为年月日时分秒,以当地时间为标准
time.ctime(seconds)	返回年月日时分秒的字符串
time.mktime(tuple)	将struct_time转换为秒数
time.asctime(tuple)	从struct_time返回年月日时分秒字符串
time.strftime(fmt,t)	按照fmt格式将struct_time显示成字符串
time.strptime(str,fmt)	将年月日时分秒的字符串按照fmt解析成struct_time结构
time.sleep(n) 让程序休眠 n 秒

1
2
3
4
5
6
7
8
9
10
11
python日期格式化符

%y 两位数的年份表示(00-99%Y 四位数的年份表示(000-9999%m 月份(01-12%d 月内中的一天(0-31%H 24小时制小时数(0-23%I 12小时制小时数(01-12%M 分钟数(00=59%S 秒(00-59%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
##datetime模块

​	是基于time的封装 升级板

类接口名称
datetime.datetime()对时间对象进行数据保存
datetime.today()	当前时间,localtime
datetime.utcnow()	当前UTC时间
datetime.now()	当前的时间
datetime.fromtimestamp()	将时间戳的转换为时间,有时区要求
datetime.strptime(str,fmt)	按照fmt的格式解析字符串生成datetime

1
2
3
4
5
6
7
8
##timedelta模块

主要针对的是2个日期对象的数学运算

实例化方法接口名称
datetime.date()	返回一个date对象
datetime.time()	返回time对象
datetime.replace(n=v)	替换字段的值后得到一个新的datetime对象
datetime.timetuple()	返回time.struct_time对象datetime.strftime(fmt)	按照fmt的格式生成字符串

1
2
3
4
5
6
##哈希散列

###概念

主要用于生成 “指纹”, 加密,加密后的结果, 不能逆向获取原数据
md5()算法
sha2()算法

###如何使用

# 导入
    import hashlib
    
    # 准备原数据并转化成二进制
    data = b"原数据"
    data = "原数据".encode("utf-8")
    
    # 创建算法对象
    h = hashlib.md5(data)
    h = hashlib.sha1(data)
    
    # 获取16进制字符串
    加密字符串 = h.hexdigest()
————————————————
版权声明:本文为CSDN博主「weixin_45162577」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45162577/article/details/103901623


你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

## 新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
 1. **全新的界面设计** ,将会带来全新的写作体验;
 2. 在创作中心设置你喜爱的代码高亮样式,Markdown **将代码片显示选择的高亮样式** 进行展示;
 3. 增加了 **图片拖拽** 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
 4. 全新的 **KaTeX数学公式** 语法;
 5. 增加了支持**甘特图的mermaid语法[^1]** 功能;
 6. 增加了 **多屏幕编辑** Markdown文章功能;
 7. 增加了 **焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置** 等功能,功能按钮位于编辑区域与预览区域中间;
 8. 增加了 **检查列表** 功能。
 [^1]: [mermaid语法说明](https://mermaidjs.github.io/)

## 功能快捷键

撤销:<kbd>Ctrl/Command</kbd> + <kbd>Z</kbd>
重做:<kbd>Ctrl/Command</kbd> + <kbd>Y</kbd>
加粗:<kbd>Ctrl/Command</kbd> + <kbd>B</kbd>
斜体:<kbd>Ctrl/Command</kbd> + <kbd>I</kbd>
标题:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd>
无序列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>U</kbd>
有序列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>O</kbd>
检查列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>C</kbd>
插入代码:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd>
插入链接:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>L</kbd>
插入图片:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>G</kbd>
查找:<kbd>Ctrl/Command</kbd> + <kbd>F</kbd>
替换:<kbd>Ctrl/Command</kbd> + <kbd>G</kbd>

## 合理的创建标题,有助于目录的生成

直接输入1<kbd>#</kbd>,并按下<kbd>space</kbd>后,将生成1级标题。
输入2<kbd>#</kbd>,并按下<kbd>space</kbd>后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用`TOC`语法后生成一个完美的目录。

## 如何改变文本的样式

*强调文本* _强调文本_

**加粗文本** __加粗文本__

==标记文本==

~~删除文本~~

> 引用文本

H~2~O is是液体。

2^10^ 运算结果是 1024.

## 插入链接与图片

链接: [link](https://mp.csdn.net).

图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw)

带尺寸的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw =30x30)

居中的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center)

居中并且带尺寸的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center =30x30)

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

## 如何插入一段漂亮的代码片[博客设置](https://mp.csdn.net/configure)页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 `代码片`.
```javascript
// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. 注脚的解释 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值