你好,如果你是第一次看我的笔记,欢迎您关注我,我喜欢持续分享更多有意思的干货。如果能够帮到您的话,希望你给我点个赞❤️
文章目录
- 1.1 快速回忆
- 1.1.1 打印和注释
- 1.1.1.1 打印
- 1.1.1.2 注释
- 1.1.2 字符串
- 1.1.2.1 概述
- 1.1.2.2 拼接
- 1.1.3 数据类型
- 1.1.3.1 识别数据类型
- 1.1.3.2 复数
- 1.1.3.3 格式说明符
- 1.1.4 加减乘除
- 1.1.4.1 概述
- 1.1.4.2 运算顺序
- 1.1.5 变量
- 1.1.5.1 概述
- 1.1.5.1 使用变量修改数据
- 1.1.5.2 复制数据
- 1.1.5.3 禁用名称
- 1.1.6 内置类型
- 1.1.6.1 元组
- 1.1.6.2 列表
- 1.1.6.3 字典
- 1.2 回过头来
- 1.2.1 字符串
- 1.2.1.1 处理列表一样处理字符串
- 1.2.1.2 分片
- 1.2.1.3 replace方法
- 1.2.1.4 format()方法
- 1.2.2 特殊类型
- 1.2.3 集合
- 1.2.4 转换
- 1.2.5 运算符
- 1.3 马上上手
- 1.3.1 比较
- 1.3.2 逻辑
- 1.3.3 决策
- 1.3.4 循环
- 1.3.4.1 开始循环
- 1.3.4.2 终止循环
- 1.3.5 处理异常
- 1.4 高级
- 1.4.1 函数
1.1 快速回忆
1.1.1 打印和注释
1.1.1.1 打印
print即可打印
print("hello world")
1.1.1.2 注释
单行注释用#,多行注释用一对三个单引号或者一对三个双引号。
1.1.2 字符串
1.1.2.1 概述
python字符串只需引号
括起来即可
"this is test"
这里指的引号可以是单引号、双引号、三引号,需要注意的是三引号不能用一对,否则会变成注释
1.1.2.2 拼接
需要拼接字符串可用加号,也可不加,但是最好是加。
"this is"+"test" #写法一
"this is""test" #写法二
用格式说明符拼接字符串
"this is %s" %("test")
1.1.3 数据类型
1.1.3.1 识别数据类型
type(1) #可以在括号中放入不同的数据类型来识别
1.1.3.2 复数
type(1+2j) #在python中j为虚数单位,通常跟在虚部后
1.1.3.3 格式说明符
%s #字符串
%f #浮点数
%E #科学数
如果需要打印出%某某这类格式说明符的话,应该在前加上\表示转义
1.1.4 加减乘除
1.1.4.1 概述
44 +11
44-11
44*11
44/11
44%11
在除法中,不同于C++和java,python的除法由于没有指定数据类型相除,得出来的答案是我们平时学数学那样的答案;比如1/2在C++中是0,而在python中答案确是0.5。
还有一个需要注意的是5/3这类计算出来结果为无限循环小数的,可以使用%f格式将其截短。
1.1.4.2 运算顺序
对于运算顺序为了简便,先运算的使用圆括号括起即可。
1.1.5 变量
1.1.5.1 概述
x = 1
变量在python中也叫
名称
,与C++和java不同,其无需指定数据类型,变量仅仅只是作为一个引用的名称罢了。
1.1.5.1 使用变量修改数据
x = 1
print(x)
x = 2
print(x)
1.1.5.2 复制数据
x = 1
print(x)
y = x+1
print(y)
1.1.5.1已经讲过,变量仅仅是一个引用的名称,是一种访问数据的方法,在深度学习这种大型运算中,如果你频繁地使用x=1、y=2这样的方式,那会导致内存中加载了大量的数据,所以为了节省内存,我们可以使用复制的方式,节省内存空间。
1.1.5.3 禁用名称
对于一些特殊的标识符,不可以作为变量以免出现二义性。
1.1.6 内置类型
1.1.6.1 元组
元组使用圆括号括起,里面存放数据序列,且不可被更改。
x = (1,2,3,4)
x[2] = 1 #'tuple' object does not support item assignment
获得元组内元素数目
len(x)
需要注意的是,len作为内置函数不止可以用于元组,还可用于列表。
元组可以嵌套
x = (1,2,3,4)
y = (x,1,2,3)
print(y) #((1, 2, 3, 4), 1, 2, 3)
元组中的元素从0开始,访问用[]
x = (1,2,3,4)
x[1] #2
1.1.6.2 列表
列表用方括号括起,里面存放数据序列,可以被更改。
x = [1,2,3,4]
x[1] = 1
print(x) #[1, 1, 3, 4]
列表中添加元素用append,添加的元素位于列表的最后
x = [1,2,3,4]
x.append(5)
print(x) #1,2,3,4,5
添加多个元素用extend,需要注意的是,extend的并不想append那样添加的是元素,更确切地说是做一个列表的拼接。
x = [1,2,3,4]
x.extend([5,6,7])
x
删除列表元素可以用pop,括号中可以指定索引,如果不指定,默认删除最后一个。
x = [1,2,3,4]
x.pop()
print(x) #[1,2,3]
1.1.6.3 字典
元组和列表用数字顺序做索引,而字典用名称做索引,名称可以随意指定。字典用花括号括起来,用冒号表示键值对。
y = {"1号位":"梅西","2号位":"刘德华"}
访问字典同样使用方括号,只不过可以放入的是自己在字典中定义的索引,即键值对的键。
y = {"1号位":"梅西","2号位":"刘德华"}
y["1号位"] #'梅西'
如果要获取字典中所有的键可以用keys()函数
y = {"1号位":"梅西","2号位":"刘德华"}
print(y.keys()) #dict_keys(['1号位', '2号位'])
如果要获取字典中所有的值可以用values()函数
y = {"1号位":"梅西","2号位":"刘德华"}print(y.values()) #dict_values(['梅西', '刘德华'])
1.2 回过头来
1.2.1 字符串
1.2.1.1 处理列表一样处理字符串
我们可以把字符串看成列表一样访问
test = ["梅西","刘德华"]
test[1] #'刘德华'
test[1][1] #'德'
1.2.1.2 分片
在字符串中可以用分片来切割某一小段的元素,分片有时候也叫切片
;同样地,列表、元组也可以用切片操作。
x = "hello"
x[1:2] #'e'
1.2.1.3 replace方法
如果我们想对字符串的某一部分做替换,可以使用replace方法:
s = "1396627113"
s1 = s.replace(s[4:],'*'*6)
print(s1) #1396******
1.2.1.4 format()方法
如果我们想要对字符串中的空处进行批处理填补,可以用format方法:
s = "{}66{}113"
s1 = s.format('139','27')
print(s1) #1396627113
实际上我们可以指定位置来填补
s = "{1}66{0}113"
s1 = s.format('27','139')
print(s1) #1396627113
还可以指定关键字传入
s = "{number1}66{number2}113"
s1 = s.format(number1 = "139",number2 = "27")
print(s1)
除了上面部分,在python后面发布的版本中,出现了一种f-String字符串格式化方法,其基本格式即f’字符串内容’即可。如下所示:
number1 = "27113"
s = f'13966{number1}'
print(s) #1396627113
1.2.2 特殊类型
None在python中表示没有。True表示1,False表示0。
需要注意的是,对于某些接触过多门编程语言的人来说,我们都知道C++中0代表false,其余代表true;对于linux来说0代表真,其余代表假。
1.2.3 集合
集合是我们数学意义上的集合,其拥有我们高数中学过集合的三大特性,用花括号表示。
a = {1,2,3,4,5}
1.2.4 转换
如果是转列表,可以用list。
a = "12345"
list(a) #['1', '2', '3', '4', '5']
如果是转集合,可以用set
a = "12345"
set(a) #{'1', '2', '3', '4', '5'}
如果是转元组,可以用tuple
a = "12345"
tuple(a) #('1', '2', '3', '4', '5')
1.2.5 运算符
对于比较运算符来说这里无需阐述,因为对于任何一门编程语言来说在运算符这里都是通用的,无需多言。
需要注意不同于其他语言的是三目运算符。如果是C语言,其三目运算符一般为:
//判断条件?真结果:假结果
2>3?2:3 #3
而对于python其并不支持?:
这样的表示方法,而是支持另外一种,如下所示:
"""真结果 if 判断条件 else 假结果"""
s = 2 if 2>3 else 3
print(s) #3
1.3 马上上手
1.3.1 比较
如果要比较两个值是否相等可以用过==
1==1 #True
比较两个序列是否相等也可以用==,需要注意的是,序列相等不仅仅要元素相同,顺序也要相同。
如果要比较两个值是否不相等可以用!=
2 !=1 #True
比较两个值的大于和小于可以用>
和<
,也可以用>=或<=。
2>1 #True
如果是两个字符串进行比较,那么实际上是在比较其长度。
1.3.2 逻辑
and使得and左右两个值必须同时为真,结果才为真。
True and True #True
or使得一真必真。
True or True #True
1.3.3 决策
在python中一般用if来做决策,意味如果某条件为真,则执行某种条件。
if 1>2:print("yes")
和其他编程语言一样,python也有if-else。
if 1>2:print("yes")
else:print("no")
同样也有if-elif,用于判断多重条件
milk = 1.50
if milk<1.25:print("small")
elif milk >1.25 and milk < 2.0:print("center")
elif milk >2.0:print("big")
1.3.4 循环
1.3.4.1 开始循环
while循环格式如下:
i = 10
while i>0:print("Lift off in:")print(i)i = i-1
for循环格式如下:
for i in range(10,0,-1):print("T-minus:")print(i)
for循环的in后面跟一个序列,序列可以是range,可以是列表,还可以是元组。
range是指一段区间,左闭右开,参数(a,b,c)分别代表起始、终止、步长。
1.3.4.2 终止循环
用break可以跳出无穷循环
age = 0
while True:age = age + 1print(age)if(age == 10):break
用continue可以跳过此次循环
age = 0
while True:age = age + 1if(age == 10):continueprint(age)if(age == 15):break
可以结合决策来使用break
for food in ("pate","cheese","crackers","yogurt"):if food == "yogurt":breakelse:print("there is no yogurt!")
1.3.5 处理异常
可以使用try…except 来处理异常,try后面跟着执行的代码,except负责处理可能出现的异常
fridge = {"egg":8,"mushroom":20,"peepper":3,"cheese":2,"tomato":4,"milk":13}
try:if fridge["orange"]>3:print("Sure,let's have some juice!")
except KeyError:print("there is no juice")
如果需要处理一个异常,但是以什么都不做的方式处理它,可以用pass
fridge = {"egg":8,"mushroom":20,"peepper":3,"cheese":2,"tomato":4,"milk":13}
try:if fridge["orange"]>3:print("Sure,let's have some juice!")
except KeyError:pass
1.4 高级
1.4.1 函数
在python中有许多的内置函数
,我们放到后面讲解。
定义一个函数可以用def
def in_fridge():try:count = fridge[wanted_food]except KeyError:count = 0return count
使用函数
def in_fridge():try:count = fridge[wanted_food]except KeyError:count = 0return countfridge = {'apples':10,'oranges':3,'milk':2}
wanted_food = 'apples'
in_fridge() #10
通常可以在函数内部的开头用注释写上函数的作用,以便阅读
def in_fridge():"""this is a function to see if the fridge has a food.fridge has to be a dictionary defined outside of the function."""try:count = fridge[wanted_food]except KeyError:count = 0return count
如果想要看到某个函数内部的注释(文档),可以用一对双下划线将doc包住,即__ doc __
def in_fridge():"""this is a function to see if the fridge has a food.fridge has to be a dictionary defined outside of the function."""try:count = fridge[wanted_food]except KeyError:count = 0return count
print(in_fridge.__doc__)
如果想要查看函数保存的其他信息可以用dir()查看
dir(in_fridge)