记录自己从0学习深度学习,学习路线参考三个月从零入门深度学习,保姆级学习路线图_哔哩哔哩_bilibili
python学习链接Python教程 - 廖雪峰的官方网站 (liaoxuefeng.com)
1、python安装
我选择Ubuntu下安装python3.8:
输入python回车进入交互式界面,输入exit()退出。
2、第一个python程序
在Python交互式模式下,可以直接输入代码,然后执行,并立刻得到结果。
在命令行模式下,可以直接运行.py
文件。
输出: print()中可放入多个内容用逗号隔开,打印时遇到一个逗号就会输出一个空格
输入:input,输入的类型是字符串类型
3、python基础
(1)数据类型和变量
数据类型:整数、浮点数、字符串(用单引号或者双引号括起来,两者都包含用转义字符\标识,转义字符\
可以转义很多字符,比如\n
表示换行,\t
表示制表符,字符\
本身也要转义,所以\\
表示的字符就是\,
Python还允许用r''
表示''
内部的字符串默认不转义,还允许用'''...'''
的格式表示多行内容)、布尔值(要么为true要么为false)、空值(none,不能理解为0)。
变量:
①变量命名:必须是大小写英文、数字和_
的组合,且不能用数字开头
②变量赋值:python中变量“=”是复制语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。也可以把一个变量a
赋值给另一个变量b
,这个操作实际上是把变量b
指向变量a
所指向的数据。
常量:不能改变的常量
(2)使用list和tuple
list:python内置的一种数据类型,是一种有序的集合,可以随时添加和删除其中的元素。
①可以用len()获得列表元素个数。
②也可以用索引获取元素位置,索引从0开始,索引-1表示最后一个元素,索引超过范围会报一个IndexError的错误。
③列表元素修改:
1.apend追加元素到末尾
2.insert插入元素到指定位置:
classmates.insert(1, 'Jack')
classmates是列表名称,1表示插入到列表指定位置,'jack'表示插入内容。
3、pop删除元素
classmates.pop()
pop()中没有参数,则默认删除列表末尾元素。
classmates.pop(1)
pop(i)指定删除元素位置。
4、=赋值修改列表中的元素
classmates[1] = 'Sarah'
④列表嵌套
列表中的元素也可以是列表
p = ['asp', 'php']
>>> s = ['python', 'java', p, 'scheme']
p[1]、s[2][1]结果同为‘php’
tuple:一旦初始化就不能修改,用()表示
定义一个元素是末尾加逗号:
t = (1,)
(3)条件判断
if语句完整形式:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
注意冒号不能省略
(4)循环
for in循环:for x in ...
循环就是把每个元素代入变量x
,然后执行缩进块的语句
示列:
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
while循环:只要条件满足,就不断循环,条件不满足时退出循环
示列:
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
计算100以内奇数和
break:可以提前退出循环
continue:提前结束本轮循环,并直接开始下一轮循环。
(5)使用dict和set
dict:字典,使用键-值(key-value)存储
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
用{}存储,'Michael'是键,95是对应value
①查找字典元素
指定键:
>>> d['Michael']
95
如果key不在就会报错,有两种方法判断key是否存在:
1.通过in
判断key是否存在:
>>> 'Thomas' in d
False
2.get()
方法,如果key不存在,可以返回None
,或者自己指定的value:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
②字典中元素修改:
1.添加新key与其对应value:
d['Adam'] = 67
整个字典变为:
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85,'Adam':67}
注意多次对一个key放入value,后面的值会把前面的值冲掉。
2.删除字典中的key,其对应value也会被删掉
d.pop('Bob')
整点字典变为:
d = {'Michael': 95, 'Tracy': 85,'Adam':67}
set:set和dict类似,也是一组key的集合,但不存储value
①set的创建,重复元素在set中自动被过滤。
s = set([1, 2, 3])
>>> s
{1, 2, 3}
②通过add(key)
方法可以添加元素到set中,可以重复添加,但不会有效果:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
③通过remove(key)
方法可以删除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}
④set可以用于求交集和并集:
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
可变与不可变对象:str是不变对象,而list是可变对象,也就是对list进行操作,list内部的内容是会变化的
>>> a = ['c', 'b', 'a']
>>> a.sort()
>>> a
['a', 'b', 'c']
>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
>>> a
'abc'
replace
方法创建了一个新字符串'Abc'
并返回,并没有修改a中的内容。
4、函数
(1)调用函数
①常见函数:abs()返回绝对值:
>>> abs(100)
100
括号中出现两个参数,或者为字符型将会报typeerror错误
max,min返回最大值、最小值:
>>> max(2, 3, 1, -5)
3
②数据类型转换:比如int()
函数可以把其他数据类型转换为整数
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False
③通过变量调用函数:将函数名赋给一个变量,相当于给这个函数起了一个“别名”
>>> a = abs # 变量a指向abs函数
>>> a(-1) # 所以也可以通过a调用abs函数
1
(2)定义函数