导图社区 python从入门到实践
《python从入门到实践》学习总结,内容较多有列表简介、操作列表、if语句、类、定义函数def name():、文件和异常、测试代码等等知识点,建议下载收藏,欢迎大家一起学习
编辑于2023-02-14 16:36:00 四川省这份思维导图主要按照《python从入门到实践》的大纲来做出来的,并在相关内容的解释处加入了相关代码,欢迎大家一起学习!
职能地图-Java,干货分享~Java语言技术,java技术扩展,数据结构,维优,个人职能,技术面试知识点总结。
当今大型软件系统的开发多采用企业级的开发模式,而Java语言也是目前较为流行的企业级开发语言之一。针对Java企业级开发,涉及的知识点和技术栈较为丰富,包括但不限于Java EE、Spring框架、Hibernate框架、Maven、Git、Jenkins等等。这份思维导图以Java企业级开发为主题,通过图解的形式将涉及的知识点进行了梳理和整理,从Java EE体系结构、Servlet、JSP、Spring框架、Hibernate框架、Maven等基础知识开始讲解,逐步深入到SpringMVC、
社区模板帮助中心,点此进入>>
这份思维导图主要按照《python从入门到实践》的大纲来做出来的,并在相关内容的解释处加入了相关代码,欢迎大家一起学习!
职能地图-Java,干货分享~Java语言技术,java技术扩展,数据结构,维优,个人职能,技术面试知识点总结。
当今大型软件系统的开发多采用企业级的开发模式,而Java语言也是目前较为流行的企业级开发语言之一。针对Java企业级开发,涉及的知识点和技术栈较为丰富,包括但不限于Java EE、Spring框架、Hibernate框架、Maven、Git、Jenkins等等。这份思维导图以Java企业级开发为主题,通过图解的形式将涉及的知识点进行了梳理和整理,从Java EE体系结构、Servlet、JSP、Spring框架、Hibernate框架、Maven等基础知识开始讲解,逐步深入到SpringMVC、
python从入门到实践
变量和简单的数据类型
变量
变量的命名和使用
变量名只能包含字母,数字和下划线. 不能包含空格 不能讲python关键字和函数名字作为变量
字符串
字符串的方法
str.title()
str.upper()
str.lower()
拼接字符串用+操作符
\n换行\t制表符
str.rstrip()过滤空格三个函数
str.rstrip()过滤左边的空格 str.strip()过滤两边的空格
str.split()
数字
整数
浮点数
使用str()函数转换成字符串
字符串和数值不能用+连接符进行连接,否则会报错.
注释
单行注释
多行注释
列表简介
访问列表元素
访问列表最后一个元素[-1]
修改、添加和删除元素
修改列表元素
添加列表元素
在列表末尾添加元素
在指定位置插入元素
删除列表中的元素
del list[1]一般删除
pop()删除元素并接着返回值
根据值remove()删除元素
注意如果list.remove("x")的x元素有很多重复的话,只会删除第一个指定的值
组织排序列表
sort()对列表进行永久性排序
在sort方法传递参数reverse=True,可以倒序
sorted()对列表进行临时排序
reverse()不排序只是倒着输出列表
确定列表的长度
操作列表
遍历整个列表
lists=[x,y,z] for line in lists: print(line) print("结束了")#这里没有缩略所以没有循环了 python根据缩进来判断代码行与前一个代码行的关系. 要注意缩进可能导致的错误
创建数值列表
for num in range(1.5)函数
使用range(6)创建数值列表
list(range(1.7.2))最后一个参数是步长2 输出[1.3.5] a=5 a**2表示a的平方等于25
对数字列表执行统计计算
最小值min(list)
最大值max(list)
总和sum(list)
列表解析(一行代码就可以生成列表)
使用列表的一部分数据[分割范围]
list[0:3]输出0.1.2前三个元素的列表
list[1:4]输出1.2.3三个元素的列表
list[:3]输出0.1.2前三个元素的列表
list[2:]输出从第三个到最后的所有元素的列表
list[-3:]输出最后三个元素的列表
遍历列表的切片
复制列表list=[1.2.3]
元组tuple=(50.100.150)
遍历元组中的所有值
元组其中不能改.但是可以覆盖
代码规范
if语句
一个简单的示例
cars=["audi","bmw",'toyata'] for car in cars: if car=='bmw': print(car.upper()) else: print(car.title()) 还有elif相当于elseif
条件测试
检查字符串是否相等考虑大小写
检查是否不相等
比较数字>=!=
检查多个条件and和or
为了改善可读性,可将每个测试都分别放在一对括号内 (a>3) and (b 或者用or或 a>5 or a==5
检查特定值是否不包含在列表中
if语句
可用多个条件 a=8 if a>10: print("大于10") elif a print("小于6") elif a>100: print("大于100") else: print("以上条件都不符合") if语句上面如果第一个条件满足的话,之后的语句将不被执行直接跳过了. 如果你只想执行一个代码块,就使用if-elif-else结构,如果要运行多个if代码块,就使用一系列独立的if语句. if list:这里可以判断如果列表有元素非空就执行 可以编写编码if a
字典dict={'key':'value\'}
一个简单的字典
一些外星人,这些外星人敌人的颜色和点数各不相同 alien_0={'color':'green','points':5} print(alien_0['color'])#访问alien_0字典的color键 字典就是一系列的键值对,每个键都和一个值相关联,可以用键来访问与之对应的值.值可以是数字,字符串,列表,字典.
访问字典中的值
添加键值对
修改字典中的值
删除键值对
遍历字典(不加方法默认遍历key)
遍历所有的键值对dict.items()
注意遍历键值对不能用dict[0]来访问,用dict[key],0也可以访问,可能不是我们要的值
[默认方式]遍历字典的所有键(乱序)
按顺序遍历字典中的所有键(key排序)
遍历字典中的所有值
遍历字典中不重复的所有值[不重复]
嵌套--字典放在列表中
字典列表
alien_0={'color':'green','points':5} alien_1={'color':'yellow','points':5} alien_2={'color':'red','points':5} aliens=[alien_0,alien_1,alien_2] for alien in aliens:#默认遍历所有键 print(alien) keys()方法并非只能用在遍历,实际他返回一个列表,可以用in方法判断存在不 if 'x' not in dict.keys():
在字典中储存列表
在字典中储存字典
用户输入和while循环
函数input()的工作原理
int()来获取数值输入
求模运算符(余数)
while循环
可以在while循环不断的运行,但也要定义一个退出值,一单用户输入quit就退出..就这个意思
while循环使用变量标志
在复杂的程序中,很多不同的事件都会导致程序运行,比如万星人一个飞船都没有了,或者城堡都没有了,就要结束,这时候定义变量文本或者数值就显得不合适了,就while判断active的值是否True,如果是就运行,如果某个事件触发成false了就停止运行.
使用break退出循环
在循环总使用continue
避免bug造成无限循环.
使用while循环来处理列表和字典
for循环是遍历列表的有效方式,但是for循环不适合修改列表,否则将导致python难以跟踪其中的元素,因为没有key? 要遍历列表的同时还要对其进行修改应该使用while循环.
while遍历列表不用in.直接写lists
lists=[1,2,3,4,5,6,7] list11=[] while lists: currentuser=lists.pop() list11.append(currentuser) print(list11) 注意用while lists:的时候里面一定要删除移动处理,不然里面一直有值会造成无限循环的
删除包含特定值的所有列表元素list.remove('value')
pets=[dog,cat,rabbit,cat,fish] while 'cat' in pets: pets.remove('cat')
使用用户输入来填充字典
定义函数def name():
向函数传递参数
也可以传递修改列表
禁止修改函数修改列表
避免实参错误
返回值
可以返回简单的字符串,数值,也可以返回字典等数据 定义函数可以结合使用while和for等使用,这里面向新手了,自己理解,可以自己根据需要定义功能.
传递任意数量的实参
传递多个里面可以用for循环来处理,就算是一个也可以很好处理 for ming in mings: print(ming) 同理,也可以传递一个位置实参,之后传递一个任意数量实参只要函数定义像上面定义好处理过程就ok,还有任意数量的关键字实参,具体在pg131
实参和形参
传递实参
位置实参
函数可以不同的实参调用很多次
位置实参的顺序很重要
关键字实参
形参默认值
将函数储存在模块总
导入整个模块(在test.py中)
只导入特定的函数
使用as给函数指定别名.防止命名冲突
使用as给模块指定别名
导入模块中的所有函数[不推荐不了解的文件]
不太推荐这样的方法导入,因为可能函数太多自己不了解而和自己写的函数有命名冲突了,最好直接导入模块使用句点表示法来调用或者直接导入单个模块或者函数
类
创建和使用类
创建Dog类
先class Dog():
再def __init__(self.name.age):
然后定义自己的方法
注意self为前缀的变量都可供类中的所有方法使用
根据类创建实例
访问属性
调用方法
可以创建无数的实例
使用类和实例
创建类
这里基本和上面一样,先class 首字母大写():然后先def __init__(self,参数,参数): self.参数="4142" 然后定义自己的方法再调用上面的形参
给属性指定默认值
修改属性的值
直接修改属性的值
通过方法修改属性的值
方法执行不用self但是定义的时候第一个参数一定是self
通过方法递增属性的值
这个知识点没有必要,可能是对新手的一种介绍,自己可以按需调整,也巩固知识,只是不是必须的.
继承类
之类的方法__init__()先处理初始化父类传递参数
class Dcar(Car): def __init__(self,make,model,year):#子类先处理参数给父类 """初始化父类的属性""" super().__init__(make,model,year)#这里调用父类的init初始化方法
给子类定义属性和方法
导入类
导入单个类
一个py文件可以写很多类.导入逗号分隔
导入整个模块
导入模块所有类
在一个模块导入另外一个模块
python 标准库
介绍了字典如果不想乱序可以用这个类,在page159
类编码风格
一般使用驼峰命名法
每个类包含一个注释'''用来说明功能'''
建议一行分隔方法
文件和异常
从文件中读取数据
读取整个文件
with open('11.txt') as f: contents=f.read() print(contents)
先with关键字可以自动关闭流
open()访问文件内容第一步先打开
read()读取文件的全部内容
文件路径
open(111.txt)打开11.txt文件的时候会在当前执行的py文件(py程序)所在的目录中查找文件,也可以直接放文件的绝对路径.
逐行读取
file="111.txt" with open(file) as f: for line in f: print(line) 这里就是逐行读取了,就不用read()方法了 注意print()会自动换行的,如果不需要可以line.rstrip()过滤
file.readlines()
if "x" in "xjhfdkdejak"会返回true的
写入文件
写入空文件
写入多行
附加到文件open(1.txt.'a')
异常
处理ZeroDivisionError异常
使用else代码块
储存数据
使用json.dump()和json.load()
json.dump(lists.f)
import json numbers=[2,3,4,6,1,8,7] filename='lists.json' with open(filename.'w') as f: json.dump(numbers,f) 将列表保存到lists.json文件中
list:json.load(f)
测试代码