- 字面量
- 变量名=变量值
- 数据类型:字符串(string),整数(int),浮点数(float)。Type()语句,显示数据类型。(结果语句,可用变量存储结果)
- 变量没有类型,变量存储的数据有类型。
- 数据类型的转换:str转int,float转int等。语句:Int(x),float(x),str(x)。(结果语句,可用变量存储结果)。浮点数转整数会丢失小数部分(精度),字符串是数字是才可以转换数字。
- 标识符:变量的名字,方法的名字,类的名字。数字不能用在开头。大小写敏感。不可使用关键字。
- 运算符:加减乘除(+ - * /),整除(//),取余(%),指数(**)。复合运算符(赋值),+=,-=...例 NUM+=1 等于 NUM=NUM + 1。
- 字符串定义法:单引号,双引号,三引号(无变量为注释),用法:字符串内带引号。用转义字符\解除引号作用
- 字符串的拼接:print(“a”+name+”b”)
- 字符串格式化:%s。 %s转变为字符串(str)站位;%f 转浮点占位;%d转整数占位
class_name = "jixie2109"
class_num = 67
massage = "Our class name is %s,we have %s students" %(class_name,class_num)
print(massage)
- 字符串格式化:数字精度控制。辅助符号“m.n”,m宽度,n小数点精度,会四舍五入。(要求是数字)示例:%5d,%5.2f,%.2f,m,n均可省略。m小于整数位数(宽度)时无效。
- 字符串格式化-快速写法。语法:f”内容{变量}”。不关注类型和精度。print(f"i am {name},i set up in {set_up_year},my price is {num2}")
- 字符串格式化-表达的格式化。直接在大括号内进行运算
获取input变量。Input(提示信息)
- intput语句,输入均看成字符串,若有需求,需要进行数字转换int(x),float(x)。可用赋值的方式
判断语句
- 布尔(bool)TURE 1真;FALSE 0 假。手动定义or比较运算符(>,==,!=,>=)定义,符合为1
- if语句:(空格缩进判断归属)。If a>b(ture),print。判断语句的结果必需是bool类型。不要忘记冒号。
If...else...
函数
数据容器
- If...elif(多个)...else语句组合使用。判断互斥,有优先级,空格缩进不可省略。
- 判断语句嵌套。注意空格缩进判断从属关系。
-
循环学习
- 关键:操作,判断条件,操作,中止条件。条件是bool型
- While 条件:
- While循环嵌套,注意缩进
- Print语句不换行:print(“和咯”,end=‘’)。制表符\t,多行对齐
- 九九乘法表
- For循环:while循环条件自定义,自行控制循环条件。For循环,轮询机制,逐个询问解决。For 临时变量 in 待处理数集。依次取出,遍历循环。For循环无法定义条件,循环次数取决于待处理数集。尽量不要在循环外访问临时变量。
- Range语句:简单生成一个数字序列。Range(num1,num2,step)。后两者不需要时可以舍去不写。指的是num1开始的num2个数,默认0开始。最大值num-1。
- For x in range(10),可以输出数字,也可通过其输出次数(10次)。
- For循环嵌套。注意空格缩进。注意冒号
- While,for循环相互嵌套
- Continue、break循环关键词。在循环中,continu下的内容不执行,且只能针对内循环(所有),不影响外部。Break直接把整个循环结束(无论还剩余多少次)。
- 函数:组织好的,实现特定功能的代码段
- 函数的定义: def 函数名(形式参数)、函数体、return 返回值。函数定义完成后,必需调用函数才可以显现。参数,返回值不需要时可以省略。
- 函数的调用: 函数名+(实际参数)。形式参数和实际参数一一对应。
- 函数的返回值:程序中的结果。Return:将函数的结果反馈给函数调用者。Return后的代码不会执行;None:函数没有返回什么有意义的内容,函数返回值,if搭配
- 函数说明文档
- 函数的嵌套调用:一个函数里又调用的另一个函数。
- 局部变量:函数体内的变量,只在内部失效
- 全局变量:在函数内部 global +变量名 声称全局变量。局部变量变成全局变量,可在函数内修改。
- 数据容器,可以容纳多分数据的数据类型,可以是str,int,float,bool。中括号,元素间用逗号隔开。Name_list =[‘a’,’b’,’c’]。支持嵌套
- 列表的下标索引。从前向后01234,从后向前-1,-2。。。。Print(list[1][0])
- 列表方法:
- 查找方法:列表.index(元素)。
- 修改指定位置的元素值:列表[下标]=值
- 插入元素:列表.insert(下标,元素)
- 单个元素追加:列表.append(元素)
- 多个元素追加:列表.extend(其他数据容器)
- 删除元素:del 列表[下标] (删除), element=列表.pop(下标) (取出元素)
- 根据内容删除元素:列表.remove(元素)
- 清空列表:列表.clear()
- 统计元素:count = 列表.count(元素)
- 统计所有元素:length = len(列表)
- 列表的遍历;while,for 循环遍历元素。
- While 自定条件,无限循环,任何场景
- For 无法定条件,有限循环,顺序输出,简单场景(多
- 元组tuple:不可被修改,只读的list。使用小括号定义,逗号隔开。(a,b,c)
- 元组字面量(元素,元素,元素) (只有一个时需要加逗号区分
- 变量 = 元组
- 空元组 t = () ; t = tuple ()
- 类型:tuple
- 元组的操作
- Index 查找
- Count
- Len
- 元组内的列表可以修改
- 字符串数据容器:每一个字母代表一个元素。只可以存储字符串,可以调取,不支持修改。只读元素
- Index
- Replace:new_str = str.replace(“old”,”new”)
- Split:分割,将空格变为逗号。
- Strip:规整操作,去掉前后指定字符或空格。不传参数去掉前后空格。
- Count
- Length
- 数据容器的切片操作:从一个序列中取出一个子序列。语法: 序列[起始下标:结束下标:步长]。注意冒号,不会影响本身,会得到一个新的序列。不写时默认:从头开始,到尾结束,步长为1。步长负数,表示倒叙(可得到倒放的序列。可同时 倒叙和分割,A= STR[::-1][9:14]
- set集合:当集合中有重复时会去重。无序,不支持下标索引。集合不是序列。允许修改。
- 建立一个空集合 set1 = set()
- Set.add()
- Set.remove
- Ele = Set.pop() 随机取出一个元素
- Set.clear() 清空对象
- set3=Set1.difference(set2) 去差集
- Set1.difference_update(set2) 消除1内与2相同的元素
- Set3=Set1.union(set2) 两集合合并
- Len(set1) 集合元素数量(重复算一 个)
- 字典dict:使用{},元素是一个个的键值对{key:value,key:value}
- Key不能重复,key对应value
- 通过key查询value: value = dict[“key”]
- 可嵌套
- 嵌套取数 score = dict[“key1”][“key2”]
- 不支持下标索引
- 新增元素 dict[key] = value (key不存在新增,存在则更新)
- 更新元素 dict[key] = value
- 删除(移出)元素:score = dict.pop(“key”)
- 清空: dict。Clear
- 获取全部key: dict.keys()
- 数据容器的通用操作
- 可以相互转换,出来转字典
- 容器通用排序: 正向:sorted(容器),反向:sorted(容器,[reverse=True])。排序结果都变成列表
-
函数进阶
- 函数多返回值:用多个变量接收。注意顺序
- 参数:
- 位置参数:
- 关键字参数:键=值,可以不按数序
- 缺省参数:或叫默认参数,默认值时必须设在最后。
- 不定长参数:
- 位置不定长(1个星号):user_info(*args),转化为元组类型(元组方法处理)
- 关键字不定长(2个星号):user_info(*kwargs),传入必须是key:value,转为dict字典类型。
- 函数作为参数传递:函数内接收另一个函数
- Lambda匿名函数:
- 只能临时使用一次
- Lambda 传入参数:函数体 (一行代码)
- 更加简洁
- 文件编码:UTF-8编码格式
- Open()打开函数,打开一个文件或创建一个文件
- Open(name,mode,encoding)
- mode:打开文件的模式:只读,写入,追加:r(默认),w,a
- Encoding:UTF-8
- Read(字节个数) 方法,从头开始读取。空着默认读取全部。注意前后read后会停留,下一次read会续上,不是从头开始,调用文件的原因,无关方法。
- Readlines()方法,读取文件的全部行,封装到列表中。List类型。
- Readline()方法,一次只读取一行,同上
- F.Close()关闭程序
- For line in 文件对象
- With open() as f 此语法打开文件,可自动关闭
- Time.Sleep(500) 程序睡眠500秒
- 文件的写入
- F.open(‘python.txt’,‘w’,encoding = UTF-8) 读取
- F.write(‘hello world’) 写入 \n换行符号
- F.flush() 刷新(只有刷新后才会出现内容,必须存在)
- F.Close()关闭程序,(内置刷新flush功能)
- 特点:文件存在,内容清空写入;文件不存在,创建文件写入
- 文件的追加写入
- F.open(‘python.txt’,‘a’,encoding = UTF-8) 读取
- F.write(‘hello world’) 写入
- F.flush() 刷新(只有刷新后才会出现内容,必须存在)
- F.Close()关闭程序,(内置刷新flush功能)
- 特点:文件不存在,创建文件写入;存在则追加写入