Python学习过程(日记篇)——Reagan J

Python自学之路

  • 一条工程狗的心路历程
  • 新的征程
    • Mac和Linux环境注释
    • Python 数字类型转换
    • 运算符说明
  • Python函数
    • `数学函数`
    • `随机数函数`
    • `三角函数`
    • `数学常量`
    • dict(字典)
      • dict内置函数
      • dict内置方法
    • List(列表)
      • dict和list的区别
    • Set(集合)
    • Tup(元组)
      • 内置函数
    • 功能快捷键
    • 合理的创建标题,有助于目录的生成
    • 如何改变文本的样式
    • 插入链接与图片
    • 如何插入一段漂亮的代码片
    • 生成一个适合你的列表
    • 创建一个表格
      • 设定内容居中、居左、居右
      • SmartyPants
    • 创建一个自定义列表
    • 如何创建一个注脚
    • 注释也是必不可少的
    • KaTeX数学公式
    • 新的甘特图功能,丰富你的文章
    • UML 图表
    • FLowchart流程图
    • 导出与导入
      • 导出
      • 导入

一条工程狗的心路历程

当你决定出发,那就不要回头。

内容较为繁琐,主要是记录自己,没啥干货,想学习的让你们失望了。

新的征程

因为工作原因进度着实缓慢,学了一个月还在廖雪峰大侠的函数里打转。不过好歹算是对Python有了个基本了解,以下是这一个月来的收获:

Mac和Linux环境注释

在Mac和Linux上直接运行.py文件,方法是在.py文件的第一行加上一个特殊的注释:

#!/usr/bin/env python3

然后,通过命令给hello.py以执行权限:

$ chmod a+x hello.py;

当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

 

Python 数字类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

int(x) 将x转换为一个整数。

float(x) 将x转换到一个浮点数。

complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

 

运算符说明

%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。

常见的占位符有:

%d % f %s %x
整数 浮点数 字符串 十六进制整数

 

Python函数

数学函数

函数 返回值( 描述 )
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,…) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,…) 返回给定参数的最小值,参数可以为序列。
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) x**y 运算后的值。
round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x) 返回数字x的平方根

随机数函数

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

函数 返回值( 描述 )
choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
random() 随机生成下一个实数,它在[0,1)范围内。
seed([x]) 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst) 将序列的所有元素随机排序
uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。

三角函数

函数 返回值( 描述 )
acos(x) 返回x的反余弦弧度值。
asin(x) 返回x的反正弦弧度值。
atan(x) 返回x的反正切弧度值。
atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值。
cos(x) 返回x的弧度的余弦值。
hypot(x, y) 返回欧几里德范数 sqrt(xx + yy)。
sin(x) 返回的x弧度的正弦值。
tan(x) 返回x弧度的正切值。
degrees(x) 将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x) 将角度转换为弧度

数学常量

函数 返回值( 描述 )
pi 数学常量 pi(圆周率,一般以π来表示)
e 数学常量 e,e即自然常数(自然常数)。

dict(字典)

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

添加值

>>>D = ['Bob':55,'Jack':66]
>>>D['Tom'] = 77		#添加值
>>>D
['Bob':55,'Jack':66,'Tom':77]
>>>D['Bob'] = 44		#更新值
>>>D
['Bob':44,'Jack':66,'Tom':77]

查找值

>>>‘Jack’ in D              	有显示True/无则显示False
>>>D.get(‘Jack’) 				有返回值/无则返回None。注意:返回None的时候Python的交互环境不显示结果。
>>>D.get(‘Jack’,任意数字) 		有返回在dick中的值/无则返回指定的任意数字

删除值
删除一个key,用 pop(key) 方法,对应的value也会从dict中删除:

>>> D.pop('Bob')
>>>75
>>>D
{
     'Michael': 95, 'Tracy': 85}

dict内置函数


len(dict)---计算字典元素个数,即键的总数。	
>>> dict = {
     'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> len(dict)
3

str(dict)---输出字典,以可打印的字符串表示。	
>>> dict = {
     'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> str(dict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"

type(variable)---返回输入的变量类型,如果变量是字典就返回字典类型。	
>>> dict = {
     'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> type(dict)
<class 'dict'>

dict内置方法

1	radiansdict.clear()		删除字典内所有元素
2	radiansdict.copy()		返回一个字典的浅复制

`直接使用“=”是浅复制,比如有一个字典a,然后令b=a,这样的话当你改变b之后,a的内容也会一并改变。`

深复制
Python有一个copy库可以用于深复制。
>>>import copy
>>>a = {
     "name":"Leo", "age":19}
>>>b = copy.deepcopy(a)
这样,更改b的内容就不会影响a,更改a的内容也不会影响b。
原文:https://blog.csdn.net/u014303046/article/details/80037393
--------------------- 
3	radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4	radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5	key in dict
如果键在字典dict里返回true,否则返回false
6	radiansdict.items()
以列表返回可遍历的(,) 元组数组
7	radiansdict.keys()
返回一个迭代器,可以使用 list() 来转换为列表
8	radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9	radiansdict.update(dict2)
把字典dict2的键/值对更新到dict10	radiansdict.values()
返回一个迭代器,可以使用 list() 来转换为列表
11	pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12	popitem()
随机返回并删除字典中的一对键和值(一般删除末尾对)

List(列表)

>>>list = [1,2,3]
>>>list.append(5)
>>>print(list)
[1,2,3,5]

>>>list.extend([7, 8])		# extend是将可迭代对象的元素依次加入列表
>>>print(list)
[1,2,3,5,7,8]

>>>list.append([7, 8])		# append是把传入的参数当成一个元素加入列表
>>>print(list)
[1,2,3,5,7,8,[7,8]] 

>>>list.reverse()  			# 元素翻转,注意不能将这个操作赋给一个变量,此操作是对list本身操作,即list自身发生变化 
[[7,8],8,7,5,3,2,1] 		# l=list.reverse() l为空,没有得到list翻转后的值

dict和list的区别

请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。
和list比较,dict有以下几个特点:
1.查找和插入的速度极快,不会随着key的增加而变慢;
2.需要占用大量的内存,内存浪费多;
3.不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住;
4.键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
如下实例:

#!/usr/bin/python3
>>>dict = {
     'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
>>>print ("dict['Name']: ", dict['Name'])
dict['Name']: 小菜鸟			#字典中有两个Name时只记住后一个,所以打印出来只有小菜鸟。

而list相反:
1.查找和插入的时间随着元素的增加而增加;
2.占用空间小,浪费内存很少

所以,dict是 用空间来换取时间的一种方法。dict可以用在 需要高速查找 的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象。
 

Set(集合)

>>>list = [1, 1, 3, 2, 3]
>>>s = set(list)			# set 用于给list排序,重复的值不显示
>>>print(s)
{
     1,2,3}
 
>>>s.add(4)	
>>>print(s)
{
     1,2,3,4}

>>> s.add([2,3])			# s.add([2,3]) 错误,add函数只能增加与原集合相同类型的元素
Traceback (most recent call last):
  File "", line 1, in <module>
TypeError: unhashable type: 'list'

>>>s.update([3, 5, 6])
>>>print(s)
{
     1,2,3,4,5,6}

>>> s.update(5)				# s.update(5) 错误,update更新集合时传入的是一个可迭代对象	
Traceback (most recent call last):
  File "", line 1, in <module>
TypeError: 'int' object is not iterable


>>>c = s.copy()				# 用于集合复制,创建新集合
>>>cc = s
>>>print(c)
{
     1,2,3,4,5,6}
>>>print(cc)				# 类似于list中copy方法
{
     1,2,3,4,5,6}

>>>print(cc is c)
false
 
>>>ss = {
     1, 2, 3, 9}
>>>minus = s.difference(ss)  # 求差集
>>>print(minus)
{
     4,5,6}

>>>union = s.union(ss)  # 求并集
>>>print(union)
{
     1,2,3,4,5,6,9}

>>>intersection = s.intersection(ss)  # 求交集
>>>print(intersection)
{
     1,2,3}--------------------- 

此段原文:https://blog.csdn.net/qq_35203425/article/details/79948839

 

Tup(元组)

Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用 小括号,列表使用 方括号

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

>>>tup1 = (1,2,3,4,5)
>>>print (tup1)
1,2,3,4,5

>>>tup2 = "a", "b", "c", "d"
>>>print(tup2)
('a','b','c','d')

>>>tup4 = ()		##创建空元组
>>>print(tup4)
()

>>>tup5 = (python,)	##元组中只包含一个元素时,需要在元素后面添加逗号
>>>print(tup5)
(python,)				

内置函数

Python元组包含了以下内置函数

len(tuple)---计算元组元素个数。	
>>> tuple1 = ('Google', 'Runoob', 'Taobao')
>>> len(tuple1)
3 

max(tuple)---返回元组中元素最大值。	
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'

min(tuple)---返回元组中元素最小值。	
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'

tuple(seq)---将列表转换为元组。	
>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Runoob', 'Baidu')
  1. 全新的 KaTeX数学公式 语法;
  2. 增加了支持甘特图的mermaid语法1 功能;
  3. 增加了 多屏幕编辑 Markdown文章功能;
  4. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  5. 增加了 检查列表 功能。

功能快捷键

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

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

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

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

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

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

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

创建一个表格

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

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

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

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

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

SmartyPants

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

TYPE ASCII HTML
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

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

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文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

你可能感兴趣的:(Python学习,自我记录)