Python学习笔记(十七)
完整的for循环语法
在python中完整的for循环的语法如下
for 变量 in 集合:
循环体代码
else:
没有通过break 退出循环,循环结束后,会执行的代码
应用场景
在迭代遍历嵌套的数据类型时,例如一个列表包含了多个字典
需求:要判断魔偶一个字典红是否存在指定的值
如果存在,提示并且退出循环
如果不存在,在循环整体结束后,希望得到一个统一的提示
名片管理系统
1、框架搭建
目标
框架结构
1、准备文件,确定文件名,保证能够在需要的位置编写代码
2、编写主运行循环,实现基本的用户输入和判断
1、文件,一般框架主程序是用main启动
1、使用in 针对列表进行判断,避免使用or
2、没有使用Int转换输入,避免一旦输入的不是数字导致报错无法运行
Pass
pass是一个空语句,不做任何事情,一般是占位语句
是否为了保持程序结构的完整性也可以避免因没有执行语句导致程序报错无法运行
无限循环
在开发软件中,如果不希望程序执行后立即退出
可以在程序中增加一个无限循环
由用户来决定退出程序的时机
扩展
# TODO(自己的名字) 要做的事情
可以先暂时放在那表明后续要做的事情
保存名片数据的结构
程序就是用来处理数据的,而变量就是用来存储数据的
使用字典记录每一张名片的详细信息
使用列表统一记录所有的名片字典
card_list列表记录所有名片的字典信息
pycharm技巧
修改变量
先选中变量-右键-选择重构-重新命名
增加shebang运行python程序
在LINUX上的shebang符号(#!)
#!这个符号叫做shebang或者sha-bang
Shebang通常在unix系统脚本中第一行开头使用
指明执行这个脚本文件的解释程序
使用Shebang的步骤
1、使用which查询解释器所在路径
2、修改要运行的主Python 文件,在第一行增加
#!
3、修改主Python 文件的权限,增加执行权限
chmod +x XXX.py
4、然后需要在执行的时候
写./XXX.py
变量进阶(理解)
目标
变量的引用
可变和不可变类型
局部变量和全局变量
1、变量的引用
变量和数据都是保存在内存中的
在python中函数的参数传递以及返回值都是靠引用传递的
引用的概念
在python中
变量和数据是分开存储的
数据保存在内存中的一个位置
变量中保存着数据在内存中的地址
变量中记录数据的地址,就叫做引用
使用id()函数可以查看变量中保存数据所在的内容地址
注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是修改了数据的引用
变量不再对之前的数据引用
变量改为对新赋值的数据引用
变量的名字类似于便签纸贴在数据上
可变和不可变类型
不可变类型,内存中的数据不允许被修改
数字类型,int,bool,float,complex,long(2.X)
字符串 str
元祖 tuple
可变类型,内存中的数据可以被修改
列表
字典
注意:字典的KEY只能使用不可变类型的数据
注意
1、可变类型的数据变化,是通过方法来实现的
2、如果给一个可变类型的变量,赋值了一个新的数据,引用会修改
变量不再对之前的数据引用
变量改为新赋值的数据引用
字符串变量的返回,返回的是数据的引用,而不是数据本身
数据的地址本质上就是一个数字
调用test函数,本质上传递的是实参保存数据的引用,而不是实参保存的数据
注意:如果函数有返回值,但是没有定义变量接收
程序不会报错,但是无法获得返回结果
局部变量和全局变量
局部变量是在函数内部定义的变量,只能在函数内部使用
全局变量是在函数外部定义的变量,所有的函数内部都可以使用这个变量
提示:在其他的开发语言中,大多不推荐使用全局变量,可变范围太大,导致程序不好维护
局部变量
局部变量是在函数内部定义,只能函数内部使用
函数执行结束后,函数内部的局部变量会被系统回收
不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
局部变量
在函数内部使用,临时保存函数内部需要使用的数据