python学习006-作用域和常用函数

170 阅读3分钟

1、作用域:
局部变量:函数内定义的
外部嵌套变量:包裹函数的外部函数局部变量
全局变量:py文件中的变量
内置模块作用域:builtins.py文件

2、访问的时候,先去找局部变量,没有就去找包裹的嵌套变量再去找全局变量最后是内置的

3、1)可用global创建全局变量,2)修饰全局变量,然后修改值(修改全局变量的值),否则创建的是 函数的局部变量

name = "名称"

def test(): name = "测试" 全局变量不会变

===== def test(): global name name = "修改" 修改了全局变量的值

=== def test(): global age 创建了一个全局变量,在py文件中其他地方也能使用了

nonlocal用于修改嵌套函数外层函数的局部变量的值

def testOut(): name = "外部" def testIn(): nonlocal name; name = "修改" testIn()

testOut()

这样才能修改外层name的值

【注意】:函数体内部是可以嵌套定义函数的

4、常用函数

4.1)字符串常用函数
isspace() 是否是空白字符串
startwith(str,begin,end) 判断是否以某个开头,如果begin和end指定下标,就从下标范围内判断
endwith和上面的功能一样

find(str,begin,end) 查找字符串的下标,如果指定begin和end就从指定范围查找,返回下标,就算指定begin和end,返回的下标也是从整个字符串第一个字符0开始算的,返回第一次出现的下标

rfind(str,begin,end) 从后向前找,和上面的相反,返回第一次出现的下标。返回的下标还是从0开始计算的,只不过是从后面开始第一个出现的字符串

count(str,begin,end) 统计字符串出现的次数

replace(old,new,max) 替换,如果指定max 则不超过max次数,否则的话替换全部的

lstrip 删除左侧的空格或者指定的字符串,如果指定字符串需要字符串是字符串开头的startwith
不传参数默认是去左空格
rstrip 删除右侧的空格或指定的字符串,如果指定字符串,需要字符串是endwith的的指定的
不传参数默认是去右空格
strip 删除左右的空格
lower 转为小写
upper 转为大写
swapcase 将大写转小写,小小转大写

4.2)字典常用函数

dict01 = {"name":"名称","age":"20"}

dict01.get("name") : "名称" dict01.get("name1") : None dict01.get("name1","测试") 测试

dict01.setdefault("name","名称修改") 设置值

dict01.items(): 返回键值对的元组列表,

dict01.keys() 是键列表的对象 可用for遍历

dict01.values() 是值列表的对象 可用for 遍历

dict01.clear()

dict01.update(dict02) 存在的键名修改值,不存在的增加

4.3)列表常用函数
index(str,begin,end) 查找第一次出现的位置下标,指定begin和end会在范围内查找
count(str) 统计元素出现的次数
pop(index) 删除指定位置的元素,不指定默认删除末尾的

insert(index,obj) 指定位置插入元素
extend(l) 向列表追加另一个列表
remove(x) 删除指定元素
clear() 清空列表
sort(reverse=False) 排序,默认正序
rerverse() 列表反转
copy 复制,只复制第一层的数据,也就是浅复制 ,引用依然是引用