列表、元组、字符串是序列,有序的数据集合,因为有序,所以就有了索引,index,由此可以对这些序列进行切片处理。
元组是不可变的序列,存储固定的数据,使用频率不高;
字典不是序列,不能用切片操作;
函数:
是最基本的一种代码抽象的方式
传数、调用、不定长参数
return
缺省参数和不定长参数
列表、元组、字符串是序列,有序的数据集合,因为有序,所以就有了索引,index,由此可以对这些序列进行切片处理。
元组是不可变的序列,存储固定的数据,使用频率不高;
字典不是序列,不能用切片操作;
函数:
是最基本的一种代码抽象的方式
传数、调用、不定长参数
return
缺省参数和不定长参数
IDE:集成开发环境
单行注释:#
快捷键ctrl+/
多行注释:'''或者""",开始结束都需要
对于之前版本的python,有两种特殊的注释
1. 指定python解析器的路径:
#!/isr/bin/python3
2. 指定编码格式:
#-*-coding=utf-8 -*-
进入python环境:win+R,在输入框内输入“Python”
退出python交互式环境:exit()或者quit()
在cmd节目快速获得当前文件夹路径:选中文件夹地址,然后输入“cmd”再按回车
执行python文件:声明一个".py"结尾的文件,可以保存python代码,打开命令提示符,进入要执行文件的本地目录,然后在命令行后面直接输入python 文件的名字.py
从cmd进入所在文件夹(D盘为例),基本的dos命令:
输入“d:”回车
输入“cd 所在文件夹名称”回车(cd:进入目录)
公有方法的操作:
相加操作
strA='人生苦短'
strB='我用python'
strA+strB
listA+listB
元组也可以
复制,用*
print(strA*3)
判断某元素是否在某个数据集中,用in
print('生’ in strA)
True
字典查找key
字典不是序列
字典dict是Python中的一种数据类型,可以存储任意对象。字典是以键值对的形式创建的{'key':'value'}利用大括号包裹;
通常使用键来访问数据,支持增、该、删
在字典中查找某个元素时,是根据键、值。字典的每个元素都由:键、值2个部分组成。
访问值的安全方式get方法,在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值;
特点:
1、不是序列类型,没有下标概念,是一个无序的键值集合,是内置的高级数据类型;
2、用{}表示字典对象,每个键值对用逗号分隔
3、键必须是不可变的类型(元组、字符串)
4、每个键是唯一的,如果出现重复的键,后者会覆盖前者。
注意点:
1、字典的键(key)不能重复,值(value) 可以重复。
2、字典的键(key)只能是不可变类型,如数字、字符串、元组。
字典的常用方法:
修改元素(字典中的值是可以修改的,通过键找到对应值修改)
新增元素(如果在使用变量名['键']=数据时,这个键在字典中,如果不存在就会新增这个元素;
删除元素:del删除指定元素clear清空字典
获取键:keys:python3返回一个包含字典所有key值的dict keys对象,用for循环取出每个key值。
获取键值对:python3返回一个包含所有(键,值)元组的列表dict items对象;
统计个数:len()可以查看字典中有几个键值对
获取值values:python3版本中试用values返回一个包含所有值(value)的dict values对象
删除指定键:pop(‘键’)删除指定键
dictA={}空字典
dictA['name']='李易峰'
{'name':'李易峰‘}
获取所有的键:
print(dictA.keys())
获取所有的值:
print(dictA.values())
获取所有的键和值:
print(dictA.items())
输出键值对
for key,value in dictA.items():
print('%s==%s'%(key,value))
dictA.update({'age':32})更新(增加)
如何对字典排序
sorted()排序
按照键来排,
sorted(dictA.items(),key=lambda d:d[0])
按照值来排
sorted(dictA.items(),key=lambda d:d[1])
元组tuple:元组是用小括号来声明的,通过下标访问其中的元素;元组中的元素不能修改(列表可以)。
元组的创建很简单,只要在括号中添加元素,用逗号分隔就可以;
元组的内置方法count,计算元素在元祖中出现的次数。
元组的内置方法index查找指定元素在元祖中的下标索引。
元组是不可变的序列,创建后不能修改
当元组中只有一个元素时,要加上逗号,不然,以后解释器会当做整型来处理
支持切片操作
内容可以是任何数据类型
print(tupleA[::-2])从右往左各两个取一个;负号代表方向,从哪个方向取,数字代表步长(2的意思就是每两个取一个);
可以对元组中的列表进行修改;
列表list: python中非常重要的护具结构,有序的数据集合
1、增加增删改查
2、列表中的数据是可以变化的(内存地址不会变化)
3、用中括号表示列表类型,数据项之间用逗号分割;注意:数据项可以是任何数据类型
4、支持索引
定义列表用中括号[]
li=[]
append():在列表后面追加元素
count():统计元素出现的次数;
extend():扩展,相当于批量添加;将多个列表融合为一个
index(): 获取指定元素索引号,查找索引的下标值括号内写元素内容
insert(): 在指定位置插入,insert(位置,插入内容)
len() 获取列表中的元素个数(长度)
pop():删除最后一个元素;参数是索引值
remove(): 移除指定的元素()写指定的元素,不是索引号;
reverse():反转列表
sort():列表排序
reverse()=True
倒序
list() 强制转换成列表型对象
修改,直接用下标修改元素,list[n]=x
del:删除
批量删除:del list[1:3]
序列:在python的中,序列就是一组按照顺序排列的值(数据集合)
在python中存在3中内置的序列类型
字符串
列表
元组
序列的优点:支持索引和切片的操作
特征:第一个正索引为0,指向的是左端;第一个索引为负数的时候,指向的是右端
切片:指截取字符串中的一段内容。切片使用语法:(起始下表:结束下表:步长(默认为1))切片截取的内容不包含结束下标对应的数据,步长是指哥几个字符截取。
id函数可以查看一个对象的内存地址
index()如果没有找到对应的数据,便会报异常;
find()函数不会
slice[start:end:step]
【
中观:发现其他人分析时的问题
微观:从业务交流中发现问题
宏观:决策方向
while的使用:适用于对未知的循环次数(对循环的次数不确定)根据条件动态控制循环是否结束
for使用:适用于某个数据容器,遍历某个容器,循环次数相对确定,通过已知边界确定,对可迭代对象的遍历。也有计数功能
for ...else的结构
只要for循环里面出现了break,下面的else就不会执行)
for 循环格式:
for 临时变量 in 字符串
语法特点:遍历操作,一次的取集合容器中的每个值;
for 临时变量 in 容器
执行代码
字符串类型本身就是一个字符类型的集合;
range 此函数可以生成一个数据集合列表
range(起始值,结束值, 步长(不能为0)),数据是左包含,右不包含;
break 退出循环;代表结束,满足条件直接的结束本层循环
continue:跳过本次循环
结束本次循环,继续的进行下次循环(当continue的条件满足时,本次循环剩下的语句将不再执行,后面的循环继续走;
这两个循环只能用在循环中
while 循环
while 条件表达式:
代码指令
语法特点
1、有初始值
2、条件表达式
3、变量的自增或自减,否则会造成死循环
使用条件:循环次数不确定,依靠条件来结束
目的:为了将相似或者相同的代码操作更加简洁,使我们的代码可以重复利用。
多分支语句
1、个条件语句之间是互斥的,只要满足一个条件语句就会执行其所属的语句,然后退出。
2、至少有两种条件可以选择;
3、elif后必须跟上条件和语句
4、else是选配,根据实际的情况来填写;
嵌套:
if 条件1:
if 条件2:
print('满足条件1,同时满足条件2')
else:
print('满足条件1,但不满足条件2')
elif条件3:
if 条件4:
print('满足条件3,同时满足条2')
外层的if判断,也可以是if-else
内层的if判断,也可以是if-else
根据实际开发情况进行
元组tuple:()
列表list:[]
字典dict:{}
变量的命名规则:
1、必须以字母(a-z, A-Z)或者下划线(_)开头;
2、其他字符可以是字母、数字或_
3、变量区分大小写
4、python关键字不能用作变量名
命名规范:
1、见名知意,尽量使用有语义的单词命名。如使用password用作密码……
2、小驼峰命名法:第一个单词的首字段用小写,后面的字段用大写
3、大驼峰命名法
4、下划线提前
流程:计算机执行代码的顺序;
流程控制:管理计算机代码执行的顺序,只有流程控制才能实现在开发当红的业务逻辑
流程控制的分类:
1、顺序流程:就是代码的一种自上而下的执行结构,也是Python默认的流程
2、选择流程(分支):根据某一步的判断,有选择的执行响应的逻辑的一种结构;
A、 单分支
if 条件表达式:
一条条的python代码
…………
B、双分支
if 条件表达式:
一条条的python代码
…………
else:
一条条的python代码
…………
C、多分支
if 条件表达式:
一条条的python代码
…………
elif条件表达式:
一条条的python代码
…………
elif条件表达式:
一条条的python代码
…………
else:
一条条的python代码
…………
条件表达式:比较运算符、逻辑运算符、符合运算符
3、循环流程:在满足一定的条件下,一直重复的执行某段代码的逻辑
1、while 条件表达式:
一条条的python代码
…………
2、for...in 可迭代集合对象
变量命名规范:不能以数字开头,大驼峰或者小驼峰命名
input()输入的数据是str型
Python的输入与输出
字符串可视化:试用%作为占位符,%后面跟的是变量的类型
s是字符串类型
d是数字类型
换行试用\n
格式化输出的其他方式 .format()
{}.format(变量)
输入函数:input()
输出:print()
赋值运算符:
= 赋值运算符 将=右边的值赋值给左边的变量
+= 加法赋值运算符 c+=a等效于c=c+a
-= 减法赋值运算符 c-=a等效于c=c-a
*= 乘法赋值运算符 c*=a等效于c=c * a
/=除法赋值运算符 c/=a等效于c=c/a
%=取模赋值运算符 c%=a等效于c=c%a
**= 幂赋值运算符 c**=a等效于c=c**a
//=取整赋值运算符 c//=a等效于 c=c//a
逻辑运算符(也称为短路运算):
and\or\not
and: 且,两旁的关联项同时为真时,整个运算式为真
or: 或,两边的关联项有一项为真时,算式为真;
not:结果对其后的关联项取反,真假切换,
优先级:括号()-> not -> and -> or