-
本文为学习笔记,文中的图片引用于马士兵教育杨淑娟老师的视频课程
数据类型
1.浮点型的数字相加,可能出现bug(由二进制底层了逻辑问题导致),可以import demical块解决。
2.字符串型数据可以用单引号 、双引号、三引号表示,区别在于三引号可以用于多行表示。
3.float类型转换为int类型的时候,小数部分会被直接舍弃而不会四舍五入,称之为截取。
4.str类型转换位int类型时,字符串必须为数字且必须为整数,否则报错。
5.str类型转换位float类型时,字符串必须为数字且必须为小数,否则报错。
注释
1.可以通过第一行注释设置字符集,例如:#coding:utf-8
运算符
1.运算符有±*/,还有取余(模)%,幂**,整除//
赋值运算符
执行顺序从右向左
1.链式赋值:a=b=c=3
2.系列解包赋值:a,b,c=1,2,3
- 格外提一下,交换变量值只需要a,b=b,a
比较运算符
1.返回值为布尔类型,例如:print(1>2)返回值为false
2.数据由三部分组成:标识(id),类型(type),值(value),==用来比较值(value),is用来比较标识(id)
位运算符
1.按位与&,将两个数都转换位二进制,然后按位比较,如果都为1,则对应结果的二进制位为1,否则为零。比如4&8=0
2.按位或|,将两个数都转换位二进制,然后按位比较,只要有1个为1,则对应结果的二进制位为1,否则为零。比如4|8=12
3.左移位<<,高位溢出,低位补零,每向左移动一位,相当于乘以2
4.右移位>>,高位补零,低位截断,每向右移动一位,相当于除以2
5.运算符优先级
程序的组织结构
1996年,科学家证明了这样一个事实,任何简单或者复杂的算法都可以由顺序结构、选择结构、和循环结构这三种基本结构组合而成。
条件表达式
- if语句的特殊写法:print(“结果1” if判断语句 “结果2”),如果if判断结果为true则输出结果1,否则输出结果2
pass占位符
- 当没有想好代码怎么写的时候,可以输入pass来占位使程序不报错。
循环
1.内置函数range(),range((范围开始,默认0),范围结束,(步长,默认1))
- for 变量 in,单纯为了循环输出可不指定变量,用下划线—代替变量。
- 与for循环同级别的else语句,在前面的for循环正确执行完毕后执行(也就是for循环执行过程中没有遇到break),否则不执行。
设计思路:当我们遇到复杂需求的时候,应该将复杂的需求拆分成几个简单的需求,例如在设计99乘法表的时候,第一步先实现阶梯输出,第二步再实现将输出内容替换成乘法运算。
列表
1.列表有两组索引,一组是正向0,1,2,3…,一组是负向…-4,-3,-2,-1,通过列表函数可以直接获取对应位置的数值,比如:print(list[0]),和print(list[-4])获得的是同样的数值。
2.可以通过索引函数获取列表的索引,比如print(list.index(‘列表中的内容’),(start),(stop))
3.list[]函数完全体为list[start:stop:step]
4.append函数,追加一个元素在列表的末尾
5.extend函数,扩展元素在列表末尾
6.append和extend函数区别,举例,将list2插入到list1中,list1.append会把list2作为一个元素添加,而list1.extend则会把list2中的元素拆分出来作为多个元素追加到list1的末尾。
7.insert函数,在任意位置添加元素,例如:list.insert(插入位置的索引号,要添加的元素)
- 重点理解切片操作,结合第三点看,举例:list1[]=list2[],可以通过给出list1中可定义的选项,影响list2中的内容插在list1的何处。
8.remove()函数,使用:list.remove(元素),删除一个元素,如果列表中有重复元素,则删除第一个元素。
9.pop()函数,使用:list.pop(索引),解释:删除指定索引所在位置元素,如果不指定参数,则删除最后一个元素。
- 切片删除,使用:list[1:3]=[],把空列表赋给索引1~索引3中间的位置,即相当于索引1和索引2被删除。
10.clear()函数,使用:list.clear(),解释:将列表中元素全部清除。
11.del语句,使用:del list,解释:将列表对象删除。
12.更新操作,使用:list[索引号]=值,
- 也可以list[起始索引:终止索引]=[数值1,数值2…数值n]即切片赋值更新
13.列表排序(在原列表上改,不产生新列表),sort()方法,使用:list.sort(),解释:升序排序,降序用list.sort(reverse=true)
14.列表排序(产生新列表),sorted()方法,用法同上。
15.列表生成式,list=[i参数 for i in range()],上式右边中括号里面的作用是可以生成一个序列i,通过参数可以调整序列比如i2就可以得到2,4,6,8…这种序列,然后将最终得到的序列,赋值给list生成列表。
字典
- 字典和列表相同处:是一种可变序列(可以对其中的元素进行增删改);
- 字典和列表不同处:列表是单值的有序序列,字典是以键值对方式存储数据的无序序列。
- 字典中的键为不可变序列。
1.创建字典:使用{},举例:dic1={键1:值1,键2:值2,…},如果{}内无值则创建空字典。
2.创建字典:使用内置函数:dict(键1=值1,键2=值2,…)
3.获取字典中的值:使用[],举例:a=[键1],解释:将键1的值赋给a
4.获取字典中的值:使用get()函数,完