当你决定出发,那就不要回头。
内容较为繁琐,主要是记录自己,没啥干货,想学习的让你们失望了。
因为工作原因进度着实缓慢,学了一个月还在廖雪峰大侠的函数里打转。不过好歹算是对Python有了个基本了解,以下是这一个月来的收获:
在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 -*-
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
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 |
---|---|---|---|
整数 | 浮点数 | 字符串 | 十六进制整数 |
数学函数
函数 | 返回值( 描述 ) |
---|---|
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即自然常数(自然常数)。 |
字典的每个键值 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}
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'>
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的键/值对更新到dict里
10 radiansdict.values()
返回一个迭代器,可以使用 list() 来转换为列表
11 pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem()
随机返回并删除字典中的一对键和值(一般删除末尾对)。
>>>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内部存放的顺序和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必须是不可变对象。
>>>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
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')
撤销: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.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 | 第三列 |
---|---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
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 |
一个具有注脚的文本。2
Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
我们依旧会支持flowchart的流程图:
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
mermaid语法说明 ↩︎
注脚的解释 ↩︎