1.1编程语言介绍与分类 什么是编程语言? 本质:与人类语言一样。沟通 电流+一堆硬件 高电压1 低电压0 高电压1 低电压0 高电压1 低电压0 8 晶体管 010101010101 play sound 1010000 open file 机器语言 直接跟硬件打交道 汇编语言 开发效率低 0101010101 <---play_m 高级语言 对底层语言的各种指令 做了封装 play_music("忽然.mp3") 人类代码--翻译-- 》机器语言 根据翻译方式不同产生2个流派 编译性语言 一次性 代表:c,c++,goland 优点:执行速度快 缺点;跨平台可移植性差 硬件:CPU, 软件 解释型语言 边执行边翻译 代表:python,JAVA,RUBY 优点:跨平台好 缺点:需要时间,速度慢1.2 Python介绍。发展趋势 python发展史 Guido 龟叔 1989 Python 2005-2012 谷歌大量使用PY 2005豆瓣 python 2012 云计算 2014 AI兴起 2017 大众视野 应用: 1WEB开发 Django 2网络编程 3爬虫 制霸 4云计算 难度大 5人工智能,数据分析 6自动化运维 7科学运算 8游戏开发1.3 注释 # 单行 快捷键Ctrl+? """ """ 三引号 多行注释1.4数据类型1.5字符串 定义 name = "ALex"#有引号就是字符串 段落/多行 三引号""" """ 1.6布尔类型bool a = 3 b = 5 b>a 正确/成立 真True b<a 错误/不成立 假 False1.7 列表 [A,B,C] 增 插入 insert 追加 append 删 del remove 改 names[-1] = 23 查 查到元素小标并返回 index()1.9读取用户指令 input 方法 接受到的所有数据 都以字符串 的格式处理 1.10格式化打印 %s 代表 字符串 %d 代表整数 %f 浮点1.11运算符 1 % 取模 返回余数 ** 幂运算 X的y次方 // 取整数 商 2 比较运算 == 等于 !=不等于3 赋值运算4 逻辑运算 1.12流程控制 -单分支 if -双分支 if else 缩进: 顶级代码必须顶行写 同一级代码,缩进必须一致 缩进4个空格-多分支 猜字游戏 if elif elif1.13 while循环 break# 终止循环 continue# 终止此次循环,下一次else 当程序正常结束 执行 Break结束不执行 第二章2.1变量的创建过程与回收机制 id() 内存地址 python 有自动垃圾回收机制,可自动隔一段时间把没有变量名的自动回收2.2如何判断 是否为字符串 type()数据类型 is /is not 数据类型运算(返回值为布尔值) None 空值三元运算 d = 值1 if 条件A else 值2 如果条件a成立,就取左边值1,则取 值22.3数据类型 - 列表切片-左 》→右 步长默认为1(-1倒着切,右到左)排序和反转 a[::-1] a.reverse() sort()2.4列表循环for 循环元组 值不可变 若远元组中包含其他可修改数据类型,则包含数据类型可变2.5 字符串有序字符的集合可用切片。访问单个元素。不可变**转义符 name = r"ja\nlk\t"name.capitalize,casefold,center,count ,endswith,find,format,查 find,index, count改 replace upper, lower, swapcase, casefold,strip, split格式化 format, ljust,rjust,join,判断 isdigit,startswith.endswith, 2.6 字典key- value 结构key 必须为不可变数据类型可存放多个value无序查询速度快 创建 1 dict(name = ‘a‘,age = 15) 2{}.fromkeys(keys,100)#批量值生成字典 keys = [0, 1, 2, 3, 4] 增加 1 键值对 2 setdefault()#保护避免修改 删除 1d.pop() 2 d.popitem()随机删除 3d.clear 4del 修改 1 d[‘a‘]=25 2 dic.update(d2) d2 键值对添加到dic中 查操作 1 in 2 get() 3 keys() values() items() 循环字典 for i in dic: print(i,dic[i]) 集合 里面元素不可变,无序 去重效果 生成set() 新增 add(),不可添加列表等可变元素pop,remove,discard 查 in 集合运算: & 交集 | 并集 -差集 ^对称差集 2.7 二进制 ASCii 值 ord() 英文 GBK 中文 unicode gbk utf-8 py2vs py3 py2 ascii py3 支持unicode 10进制转2进制 bin 16进制hex 8进制oct2.8 HASH 音译 哈希 散列值 一种复杂的算法 特征:不可逆 计算极快 用途: 密码 MD5加密算法 基于hash,保证同样的输出的结果值一直一致 文件的完整性校验 MD5值 数字签名 基于hash 的类型 dict key 唯一 key 不可变 查询速度快,不受dic大小影响(二分法) set 3.1用python操作文件 #### error 复制路径时 (引号前面+r) encoding问题1找到文件2读,修改3保存&关闭 1.f = open(filename)2.f.read(100) f.read() 读所有,f.write(lll)3.f.close() 文件打来模式,只能以一种模式打开r 只读模式w 创建模式a 末尾添加方法 readline readlines seek#光标移动几个字节 flush 强制从内存刷新到内存 tell 返回当前文件位置 truncate 截取 OS模块 修改文件名等 cys模块 cys.argv 读取外部命令 第三章 函数编程3.1 bytes 类型 进制--》十进制--asscii/gbk/utf-8/ unicode 数据网硬盘上存,就要以相应的编码转成2进制 图片--》jpg/png --> 2进制 音乐--》MP3/wav-->2进制 视频--》mp4/mov-->2进制 bytes类型,以16进制形式表示,2个16进制构成一个byte。以‘b’来表识 py3默认编码是 utf8 3.2 深浅copy list dict set s = {name: alex...} s2 = s,此时s2与s是共享 同一份数据的 copy一份新数据 浅copy,只copy第一层id地址 s2 = s.copy() 深copy 工具包copy中copy.deepcopy()3.3 编码转换 1编码与解码 s.encode("utf-8")以utf-8 编码成2进制 s.decode("utf-8")从2进制解码成unicode 2编码转换 gbk---> unicode---->utf-83.4 函数 作用 参数 位置参数 默认参数 关键参数 #指令参数 # 位置参数>关键参数/默认参数 非固定参数 再定义参数时,不确定后面调用时,会传递多少个参数进来 *args()元组 **kwargs{}字典 函数返回值不写默认返回None3.5全部变量与局部变量 局部变量内不可更改全局变量 不建议在局部变量内声明创建全局变量#global name 3.6 嵌套函数&匿名函数 匿名函数 c=lambda x,y:x**y3.7 高阶函数 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 只需满足以下任意一个条件,即是高阶函数 -- 接受一个或多个函数作为输入 -- return 返回另外一个函数 3.8递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自已本身,这个函数就叫做递归函数。 3.9内置函数 bool 空的列表,字典,0 定为False all 判断全部bool为True any 有一个True就可以 callable 判断一个对象是否可以调用 dir 返回对象可调用属性 enumerate 返回列表的索引和元素 eval 可以把字符串形式的list,dict,set,tuple,int,在转换成原有的数据类型 exec 把字符串形式的代码,进行解译并执行“print”-->print filter 过滤 lambda x:x>2 [1,2,3] frozenset #把一个集合变成不可修改的 isinstance(b,frozenset) 判断数据类型 map lambda x:x**2 [1,2,3]返回[1,4,9] round 四舍五入 zip 把多个列表拼成一个3.10 名称空间 name space L E G B3.11 闭包3.12 装饰器 高阶函数 闭包3.13 列表生成式 a = [i**i for i in a]3.14 函数生成器 边执行边运算 (惰性运算) next() 斐波那契数列 yield #暂停 return3.15 用生成器实现并发编程3.16迭代器可迭代对象:list,tuple,dict,str,生成器 可循环 方法:isinstance可以被next调用的是迭代器
1.1编程语言介绍与分类 什么是编程语言? 本质:与人类语言一样。沟通 电流+一堆硬件 高电压1 低电压0 高电压1 低电压0 高电压1 低电压0 8 晶体管 010101010101 play sound 1010000 open file 机器语言 直接跟硬件打交道 汇编语言 开发效率低 0101010101 <---play_m 高级语言 对底层语言的各种指令 做了封装 play_music("忽然.mp3") 人类代码--翻译-- 》机器语言 根据翻译方式不同产生2个流派 编译性语言 一次性 代表:c,c++,goland 优点:执行速度快 缺点;跨平台可移植性差 硬件:CPU, 软件 解释型语言 边执行边翻译 代表:python,JAVA,RUBY 优点:跨平台好 缺点:需要时间,速度慢1.2 Python介绍。发展趋势 python发展史 Guido 龟叔 1989 Python 2005-2012 谷歌大量使用PY 2005豆瓣 python 2012 云计算 2014 AI兴起 2017 大众视野 应用: 1WEB开发 Django 2网络编程 3爬虫 制霸 4云计算 难度大 5人工智能,数据分析 6自动化运维 7科学运算 8游戏开发1.3 注释 # 单行 快捷键Ctrl+? """ """ 三引号 多行注释1.4数据类型1.5字符串 定义 name = "ALex"#有引号就是字符串 段落/多行 三引号""" """ 1.6布尔类型bool a = 3 b = 5 b>a 正确/成立 真True b<a 错误/不成立 假 False1.7 列表 [A,B,C] 增 插入 insert 追加 append 删 del remove 改 names[-1] = 23 查 查到元素小标并返回 index()1.9读取用户指令 input 方法 接受到的所有数据 都以字符串 的格式处理 1.10格式化打印 %s 代表 字符串 %d 代表整数 %f 浮点1.11运算符 1 % 取模 返回余数 ** 幂运算 X的y次方 // 取整数 商 2 比较运算 == 等于 !=不等于3 赋值运算4 逻辑运算 1.12流程控制 -单分支 if -双分支 if else 缩进: 顶级代码必须顶行写 同一级代码,缩进必须一致 缩进4个空格-多分支 猜字游戏 if elif elif1.13 while循环 break# 终止循环 continue# 终止此次循环,下一次else 当程序正常结束 执行 Break结束不执行 第二章2.1变量的创建过程与回收机制 id() 内存地址 python 有自动垃圾回收机制,可自动隔一段时间把没有变量名的自动回收2.2如何判断 是否为字符串 type()数据类型 is /is not 数据类型运算(返回值为布尔值) None 空值三元运算 d = 值1 if 条件A else 值2 如果条件a成立,就取左边值1,则取 值22.3数据类型 - 列表切片-左 》→右 步长默认为1(-1倒着切,右到左)排序和反转 a[::-1] a.reverse() sort()2.4列表循环for 循环元组 值不可变 若远元组中包含其他可修改数据类型,则包含数据类型可变2.5 字符串有序字符的集合可用切片。访问单个元素。不可变**转义符 name = r"ja\nlk\t"name.capitalize,casefold,center,count ,endswith,find,format,查 find,index, count改 replace upper, lower, swapcase, casefold,strip, split格式化 format, ljust,rjust,join,判断 isdigit,startswith.endswith, 2.6 字典key- value 结构key 必须为不可变数据类型可存放多个value无序查询速度快 创建 1 dict(name = ‘a‘,age = 15) 2{}.fromkeys(keys,100)#批量值生成字典 keys = [0, 1, 2, 3, 4] 增加 1 键值对 2 setdefault()#保护避免修改 删除 1d.pop() 2 d.popitem()随机删除 3d.clear 4del 修改 1 d[‘a‘]=25 2 dic.update(d2) d2 键值对添加到dic中 查操作 1 in 2 get() 3 keys() values() items() 循环字典 for i in dic: print(i,dic[i]) 集合 里面元素不可变,无序 去重效果 生成set() 新增 add(),不可添加列表等可变元素pop,remove,discard 查 in 集合运算: & 交集 | 并集 -差集 ^对称差集 2.7 二进制 ASCii 值 ord() 英文 GBK 中文 unicode gbk utf-8 py2vs py3 py2 ascii py3 支持unicode 10进制转2进制 bin 16进制hex 8进制oct2.8 HASH 音译 哈希 散列值 一种复杂的算法 特征:不可逆 计算极快 用途: 密码 MD5加密算法 基于hash,保证同样的输出的结果值一直一致 文件的完整性校验 MD5值 数字签名 基于hash 的类型 dict key 唯一 key 不可变 查询速度快,不受dic大小影响(二分法) set 3.1用python操作文件 #### error 复制路径时 (引号前面+r) encoding问题1找到文件2读,修改3保存&关闭 1.f = open(filename)2.f.read(100) f.read() 读所有,f.write(lll)3.f.close() 文件打来模式,只能以一种模式打开r 只读模式w 创建模式a 末尾添加方法 readline readlines seek#光标移动几个字节 flush 强制从内存刷新到内存 tell 返回当前文件位置 truncate 截取 OS模块 修改文件名等 cys模块 cys.argv 读取外部命令 第三章 函数编程3.1 bytes 类型 进制--》十进制--asscii/gbk/utf-8/ unicode 数据网硬盘上存,就要以相应的编码转成2进制 图片--》jpg/png --> 2进制 音乐--》MP3/wav-->2进制 视频--》mp4/mov-->2进制 bytes类型,以16进制形式表示,2个16进制构成一个byte。以‘b’来表识 py3默认编码是 utf8 3.2 深浅copy list dict set s = {name: alex...} s2 = s,此时s2与s是共享 同一份数据的 copy一份新数据 浅copy,只copy第一层id地址 s2 = s.copy() 深copy 工具包copy中copy.deepcopy()3.3 编码转换 1编码与解码 s.encode("utf-8")以utf-8 编码成2进制 s.decode("utf-8")从2进制解码成unicode 2编码转换 gbk---> unicode---->utf-83.4 函数 作用 参数 位置参数 默认参数 关键参数 #指令参数 # 位置参数>关键参数/默认参数 非固定参数 再定义参数时,不确定后面调用时,会传递多少个参数进来 *args()元组 **kwargs{}字典 函数返回值不写默认返回None3.5全部变量与局部变量 局部变量内不可更改全局变量 不建议在局部变量内声明创建全局变量#global name 3.6 嵌套函数&匿名函数 匿名函数 c=lambda x,y:x**y3.7 高阶函数 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 只需满足以下任意一个条件,即是高阶函数 -- 接受一个或多个函数作为输入 -- return 返回另外一个函数 3.8递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自已本身,这个函数就叫做递归函数。 3.9内置函数 bool 空的列表,字典,0 定为False all 判断全部bool为True any 有一个True就可以 callable 判断一个对象是否可以调用 dir 返回对象可调用属性 enumerate 返回列表的索引和元素 eval 可以把字符串形式的list,dict,set,tuple,int,在转换成原有的数据类型 exec 把字符串形式的代码,进行解译并执行“print”-->print filter 过滤 lambda x:x>2 [1,2,3] frozenset #把一个集合变成不可修改的 isinstance(b,frozenset) 判断数据类型 map lambda x:x**2 [1,2,3]返回[1,4,9] round 四舍五入 zip 把多个列表拼成一个3.10 名称空间 name space L E G B3.11 闭包3.12 装饰器 高阶函数 闭包3.13 列表生成式 a = [i**i for i in a]3.14 函数生成器 边执行边运算 (惰性运算) next() 斐波那契数列 yield #暂停 return3.15 用生成器实现并发编程3.16迭代器可迭代对象:list,tuple,dict,str,生成器 可循环 方法:isinstance可以被next调用的是迭代器
原文地址:https://www.cnblogs.com/huahuawang/p/12659872.html
时间: 2024-10-04 14:21:02