为了更加系统的学习和了解Python,了解应用Python到完整项目的基本流程,自己又再一次学习了Python。
一、基础数据结构
1.字符串
字符串是由数字、字母、下划线组成的一串字符,并使用”“或‘’将其包裹。
可以使用方括号来截取字符串,格式为:[起始位置:结束位置:步长]。
常用字符串函数:join(),len(),replace(),strip()等。
- Join()函数:连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。
- replace()函数:用于把字符串中指定的旧子字符串替换成指定的新子字符串,如果指定 count
可选参数则替换指定的次数,默认全部替换。
用法:S.replace(old,new[,count=S.count(old)]) - strip()方法:用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
2.列表
把逗号分隔的不同的数据项使用方括号括起来就创建了一个列表。
可以使用下标索引来对列表中的值进行访问和修改,同样你也可以使用方括号的形式进行元素的截取。
常用的列表函数:append(),extend(),pop(),remove(),reverse(),sort()等。
- extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
- append()函数只追加一个 pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
- remove() 方法通过指定元素的值来移除列表中某个元素的第一个匹配项,如果这个元素不在列表中会报一个异常
3.元组
元组使用小括号,列表使用方括号。
元组与列表类似,不同之处在于元组的元素不能修改。
常用的元组函数:len(),min(),max(),tuple()。
4.字典
字典的每个键值对用*:*分割,每个对之间用逗号,分割,整个字典包括在{}中。
不允许同一个键出现两次。键必须不可变,所以可以用数字、字符串、元组充当。
常用的**字典函数:get(),items(),keys()**等。
二、函数
1、函数定义
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
函数内容以冒号起始,并且缩进。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
2、函数调用
使用函数名直接调用函数。
如果定义的函数存在参数,调用的时候一定要给出,否则会报错。
三、面向对象
Python是一门面向对象的语言
类、类变量、数据成员、方法重写、局部变量 、实例变量、继承、实例化、方法 、对象
-
定义一个类格式:
class 类名:
方法列表 -
创建对象,格式:
对象名 = 类名()
对象和类都可以有自己的属性
-
继承
class 子类名(父类):
方法列表(如果想要重写函数,直接写一个一模一样的函数即可,当然函数的实现不同) -
类的专有方法
(1) init()构造函数,在生成对象时调用
如:def __init__(self,val1,val2)
(2)del()析构函数。释放对象时用
四、判断循环条件
1、python条件语句
if语句
格式:
if xxx1:
事件1
elif xxx2:
事件2
else:
事件3
PS :Python里“elif”会用得比较多,因为Python没有switch…case语句
2、python循环语句
for循环和while循环。
循环控制语句可以更改语句执行的顺序。
支持break、continue语句控制循环。
五、生成器
由于设备内存的限制,列表容量有限,且如果仅仅只是访问列表前面几个元素,列表后面的元素则拜拜浪费空间。
所以,不必创建完整列表,列表元素可以按照某种算法推算出来,可以一边循环一边计算的机制,即生成器generator。
1、迭代器
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter()和next()。
2、生成器
在python中,使用了yield的函数被称为生成器(generator)。
在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值, 并在下一次执行next()方法时从当前位置继续运行。
生成器的定义
#列表
L= [x*2 for x in range(5)]
#生成器最简单的写法
G= (x*2 for x in range(5))
#生成器调用(调用几次生成几次)——但一般不用这样的写法
print(next(G))
#常用生成器
#通过生成器生成斐波那契数列(后一个数等于前两个数相加)
def fib(number):
n,a,b = 0, 0, 1
while n < number:
yield b #在循环体里用yield进行返回就是一个生成器
a, b = b, a + b
n = n + 1
#调用生成器(用循环体调用)
for i in fib(10):
print(i)
生成器例子——batch生成器
#条件
dataset= [x for x in range(100)]
batch_size = 6(就是每次取出6个数)
#实现
def get_batch(dataset,batch_size ):
参考:天学网人工智能学院学习视频
来源:CSDN
作者:Yolandalt7777777
链接:https://blog.csdn.net/Yolandalt7777777/article/details/98758738