在简单的了解完学习人工智能所需的高数、线代、概率论后,我们又重新开始了国庆的学习,因为已经有十余天没有接触python,所以今天的内容主要是对之前学习的python的回顾与总结,然后对各个部分进行了简单的实践,在最后学习了一点关于新知识:python中各种数据类型的推导式。
所以就简单回顾一下各个数据类型的推导式。
其中最主要也最重要的就是列表推导式,而其该推导式的形式也非常简单,
其中表达式的内容就是对自定义变量的操作,而if后的真值表达式就是对可迭代对象内数据的筛选。
例如你需要对0-100区间的所有偶数进行2次方运算,那么你的公式就应该为
通过循环体来才能同时实现判断和添加,但是列表推导式只用了一行代码。
只用了一段代码就直接融入了循环,数据操作、判断和添加数据。这就是列表的推导式的作用,可以将整个推导式看作默认执行了列表的append()操作,然后其他所有操作都与上图对应,包括了数据操作,判断等。而推导式的作用就是从一个数据序列构建另一个新的数据序列的结构体。
不同的数据类型都有他们的数据推导式,而另外两个较为特别的推导式一个是字典推导式:
因为字典这种数据类型他由键值对构成,所以他的键和值能够分开用不同的表达式进行操作。
第二个则是元组推导式,元组推导式是主要特点在于其输出的元素的类型,通过操作我们可以看到直接输出元组推导式得出的是一个生成器类型的参数的地址。他算一个迭代器,所以将他传入tuple()中就可以输出正确的格式了。
然后剩下的就是我个人根据老师的思维导图去进行的自我记忆的复盘了。
python的输入输出:
-
输出:print(),可传参,可传引号内字符串用于直接输出,可传f-string在直接输出的字符串中插入参数
-
输入:input()实为控件,为从用户输入到选择结束期间获取用户外部输入的数据,需参数接收才可传递,在()内是传参可为引号内嵌字符串的形式,在终端实现时输出该字符串便于用户识别。
python的注释:
注释主要形式两种,一种为*,*后的为需要注释的内容,本注释方式主要为单行注释,多行注释为三对双引号后者三对单引号,在需要注释的行前与行后各加三个,即可完成多行注释,主要理解为将其中所有字段识别为无接受方式的字符串。
python变量:
命名的规则:在命名的国产中主要的注意事项为不允许出现中文字符,不允许数字字符出现在命名第一位,不允许在名称中使用空格隔开,可用_下划线隔开,在常量中最好使用capitalize命名法,最后可用单个下划线作为命名名称,但该量般为空量。
-
变量类型
-
基础类型:主要的使用类型为string,bool,int,float,注意的是bool是特殊类型,返回值为True和False,但是实际值为int型,为特殊int型,还有其他进制类型例如0x之类的也可以通过math中的方法进行强转
-
复合类型:
-
列表list
-
元组tuple
-
字典dict
-
集合set
-
-
-
python数字操作
-
数字类型的转换:数字类型在运算符操作时非常常见,例如在int型与int型之间的除法就会出现类型转换,结果会变为float型,而math中的进制转化也可以对原有进制进行强转。也可以用float()传int型进行强转等,只包含数字的string值也可转为int
-
运算符:运算符就分为数字运算符和逻辑运算符吧应该,数字运算符的话就是(+) (-) (*) (/)等简要运算符,主要逻辑也是左右各有传参进行计算,特殊使用方式可有 x += 1,此种方式可等同x = x+1。另一种的逻辑运算符的话就只介绍三种与(and)、或(or)、非(not),其难点主要是逻辑理解,就拿and来说,and的两边各传一个判断语句,而第一个语句被带入隐式bool()进行bool检测,根据该bool值进行下一步判断,如果值为1,则输出第二个语句运行的结果,为0则输出第一个语句运行的结果,注意的是,第二个语句并不会进行bool检测而是作为输出结果,另外两个逻辑运算符的逻辑也类似,而还有对于二进制的运算的逻辑运算符,例如按位与,按位异或等, 另外还有取余,幂运算,整除等和比较运算符等
-
条件语句
-
条件语句的出现地点主要为逻辑运算符和while循环的条件判断语句,该条件语句的要求不多,因为即使是非判断语句也能够进行bool()操作,而只要该条件语句的值不为0或空则返回1,如果为判断语句则执行其判断语句内的逻辑再判断。
-
if
-
if-else
-
if-elif-else
-
-
-
循环语句
-
for:for循环的格式主要为for i in 循环体,可以在for循环前加入对读出值的操作,例如i+1 for in arange(0,10),如此。主要的循环次数由循环体定
-
while:while的格式是while 条件语句: 执行语句,这样的形式,主要是简单的加入了条件判断而不需要再for循环内加入判断体了,也可以通过将条件语句设为非零常量进行无限循环
-
break:退出当前循环体
-
continue:结束本次循环,下次循环继续
-
pass:可以跳过语句,主要作用为防止无或错误代码引起的中断
-
-
容器
-
列表
-
创建方法
-
list=[]
-
list(可迭代对象)
-
-
操作方法;简单写为del(),pop(),对象切片索引,index访问,append(),可以使用(+)进行列表连接
-
-
字典:为key:value
-
元组:其包含的元素不可变,但是其中的list列表中有多值,改变的为list的值,不是对元组进行的改变,可以进行。
-
集合:主要是集合自带特殊方法进行交并操作等
-
-
推导式
-
列表推导式(重点):形式为[ 表达式 for 元素 in 集合 if 条件]的形式,主要是将列表在的append()方法直接融入其中了。
-
字典推导式:与列表推导式的差别主要为字典的键和值分别有自己的表达式。
-
集合推导式:与列表推导式的逻辑几乎相同
-
元组推导式:与列表推导式的逻辑相同,但是得到的结果为generator,所以需要通过tuple()将其转化为元组后再输出。
-
-