公共方法:就是列表,元组,字典,字符串能共同使用的方法;

Python内置函数

内置函数罗列

函数 描述 备注
len(item) 计算容器中的元素个数
del(item) 删除变量 del有两种方法
max(item) 返回容器中元素最大值 如果是字典,只针对key比较
min(item) 返回容器中元素最小值 如果是字典,只针对key比较
cmp(item1,item2) 比较两个值,-1小于/0等于/1大于 python3取消了cmp函数

注意:字符串具有以下规则:"0"<"A"<"a"

内置函数使用

len() 计算容器中元素的个数;

del 用关键字和函数两种方式,两种方式结果一样;del 变量;del(变量);

list = [1, 2,4]
del list[1]
list
[1, 4]
del(list[0])
list
[4]
del(list)
# 删除列表后,会报错,未定义

max和min函数

test_str = "qeqfeijovodmbahidkolmc"
max(test_str)
'v'
min(test_str)
'a'
# 如果是字典,只针对key比较
test_list = [3, 9, 0, 1]
max(test_list)
9
min(test_list)
tset_dict = {"a": "3", "b": "1", "c": "2"}
max(tset_dict)
'c'
min(tset_dict)
'a'

python3中取消了cmp比较运算符,但我们可以直接通过比较运算符<>进行比较;

数字可以比较,字符串可以比较,元组,列表可以比较大小,但字典不能比较大小

切片

  • 切片使用索引值来限定范围,从一个大的字符串中切出小的字符串;
  • 字符串,列表,元组可以进行切片,因为它们有序;但字典不能进行切片,因为字典无序;

切片示例如下:

t_list = [3,1,2,5,7]
t_list[0:3]
[3, 1, 2]
t_tuple = (1,2,3,4,5)
t_tuple[0:3]
(1, 2, 3)

运算符

运算符罗列

运算符 Python表达式 结果 描述 支持的数据类型
+ [1,2]+[3,4] [1,2,3,4] 合并 字符串,列表,元组
* ["hi"]*4 ["hi","hi","hi","hi"] 重复 字符串,列表,元组
in 3 in (1,2,3) True 元素是否存在 字符串,列表,元组,字典
not in 4 not in(1,2,3) True 元素是否不存在 字符串,列表,元组,字典
> >= == < <= (1,2,3)<(2,2,3) TRue 元素比较 字符串,列表,元组
  • in在对字典操作时,判断的是字典的键
  • in和not in被称为成员运算符

运算符的使用

*可以用于列表元组,但不能用于字典,因为字典的key必须是惟一的

[1,2]*5
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
(1,2)*5
(1, 2, 1, 2, 1, 2, 1, 2, 1, 2)

+运算符表示合并,可以用于列表,元组,字符串合并;不同类型之间不能合并,比如元组与列表;

"hello" + "world"
'helloworld'
(1,2) + (3,4)
(1, 2, 3, 4)
[1,2] + [3,4]
[1, 2, 3, 4]

注意,当我们用+合并列表时,是生成一个新列表

append和extend方法的区别:extend会将一个指定的列表参数合并到列表中,即分散的加入;而append会将一个指定的列表当成一个整体的元素合并到列表中;

用append和extend是在原列表上扩展元素。

in和not in的使用

  • 包含和不包含;
  • 可以用于字符串,列表,元组,字典;但应注意在字典中,in只针对于字典的key做检查。

in和not in的使用如下:

"a" in "asdfg"
True
"a" not in "asdfg"
False
2 in (1,2,3,4)
True
2 not in [1,2,3,4]
False
"name" in {"name": "zhangsan"}
True
"zhangsan" in {"name": "zhangsan"}
False

完整的for循环

完整的for循环语法

for xx in 集合:
xxx
else:
xxx

这就是完整的for循环的语法结构;

  • 只要for循环不被break打断,else中的代码就会在for循环结束后执行;
  • 如果for循环被打断,就会直接执行for循环外部的后续代码

完整的for循环演示

students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]

for stu in students:
print(stu)
else:
print("我是for循环遍历结束后的else语句")
print("for循环结束了") # {'name': '韩信'}
# {'name': '李白'}
# {'name': '刘备'}
# 我是for循环遍历结束后的else语句
# for循环结束了

break打断for循环演示

students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]

for stu in students:
print(stu)
if stu["name"] == "李白":
print("李白,你妈妈喊你回家吃饭了")
break
else:
print("我是for循环遍历结束后的else语句")
print("for循环结束了") # {'name': '韩信'}
# {'name': '李白'}
# 李白,你妈妈喊你回家吃饭了
# for循环结束了

for else的应用场景

  • 在迭代遍历嵌套的数据类型时,例如一个列表包含了多个字典

需求:需要判断某一个字典中 是否存在指定的值

如果存在,提示并且退出循环

如果不存在,在循环整体结束后,希望得到一个统一的提示

找到了的情况

students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]

find_stu = "李白"

for stu in students:
print("正在查找...", stu["name"])
if stu["name"] == find_stu:
print("%s,你妈妈喊你回家吃饭了" % find_stu)
break
else:
print("不好意思,你家%s没在这个班" % find_stu)
print("for循环结束了") # 正在查找... 韩信
# 正在查找... 李白
# 李白,你妈妈喊你回家吃饭了
# for循环结束了

没找到的情况

students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]

find_stu = "张飞"

for stu in students:
print("正在查找...", stu["name"])
if stu["name"] == find_stu:
print("%s,你妈妈喊你回家吃饭了" % find_stu)
break
else:
print("不好意思,你家%s没在这个班" % find_stu)
print("for循环结束了") # 正在查找... 韩信
# 正在查找... 李白
# 正在查找... 刘备
# 不好意思,你家张飞没在这个班
# for循环结束了

Python基础之公共方法的更多相关文章

  1. Python基础学习----公共方法及运算符

    # 公共方法:在python高级数据类型通用的方法 # 常见的:max() min() len() del() # 列表 list=[1,2,3] print(len(list)) print(min ...

  2. Python 入门之Python基础数据类型及其方法

    Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...

  3. python基础函数、方法

    python的函数和方法,通过def 定义: 函数的特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 函数和方法的区别:函数有返回值.方法没有 语法定义: def sayhi():#函数名 p ...

  4. python基础之魔法方法

    由于hexo自带的markdown渲染引擎对双下划线做了转义,在正文中看到的魔法方法前后都没有双下划线 setattr.getattr.delattr 可以拦截对对象属性的访问 setattr函数是用 ...

  5. 【python基础】字符串方法汇总

    一.声明 0-多个字符组成的有序序列; 二.特点 1. 字符串是一个不可变的数据类型 2.字符串是有序的 三.索引 下标:'abcde' 1.从左到右, 0, 1,2, ... 2.从右到左, 索引值 ...

  6. python 基础之字符串方法

    字符串 print('chenxi'*8) 测试 D:\python\python.exe D:/untitled/dir/for.py chenxichenxichenxichenxichenxic ...

  7. Python基础——类new方法与单例模式

    介绍: new方法是类中魔术方法之一,他的作用是给类实例化开辟一个内存地址,并返回一个实例化,再由__init__对这个实例进行初始化,故它的执行肯定就是在初始化方法__init__之前了.new方法 ...

  8. Python基础之魔术方法(控制属性的访问和设置)

    # 魔术方法--常规方法# 1. __int__ 构造函数# 2. __new__ 在类实例之前就创建了# 3. __iter__ 迭代器# 4. __del__ 析构方法,用来清除释放的对象内存# ...

  9. python基础操作_方法(函数)

    #函数,方法#普通方法def hello(): print('hello')hello()#带形参的方法def hello1(name): print('hello%s'%name)hello1('布 ...

随机推荐

  1. 高性能JavaScript(算法和流程控制)

    在大多与编程语言中,代码的执行时间大部分消耗在循环中,是提升性能必须关注的要点之一 循环的类型 for循环(它由四部分组成:初始化.前测条件.后执行体.循环体.) for(var i = 0; i & ...

  2. InfoQ观察:Java EE的未来

    原创 2017-03-06 Charles Humble 聊聊架构 作者|Charles Humble编辑|薛命灯 作为InfoQ下一年编辑关注点审核工作的一部分,我们挑选了Java作为深入探讨的主题 ...

  3. 关于DAL层使用静态方法,并在WEB层直接调用的问题

    同样的疑惑,记录一下吧: http://bbs.csdn.net/topics/360204198 DAL静不静态看connection等关键资源是否静态 比如下面的代码,就算静态也没事 public ...

  4. 2018-9 Java.lang.StackOverflowError

    问题: Java.lang.StackOverflowError at com.**Logger.**.**.StringFilter.isValueNull(StringFilter.java:81 ...

  5. 使用 PowerShell 管理 Azure 磁盘

    Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...

  6. Oracle EBS OPM 发放生产批

    --发放生产批 --created by jenrry DECLARE x_return_status VARCHAR2 (1); l_exception_material_tbl gme_commo ...

  7. 迁移MSSQL实例的所有login(包含密码)

    迁移数据库的时候肯定会涉及到login的迁移(包含数据库除外). 而一般我们迁移login的时候,可能会使用在某个login上右键生成脚本这样的做法.但是这样生成的脚本不能把密码也生成出来. 而且你只 ...

  8. TCP的socket资源被耗尽的问题

    一. 故障现象 部分机顶盒用户出现大面积登录APP时,界面停留在登陆页面,无反应. 二. 现象初步分析 本次问题出现时,所有AAA出现了异常流量波动,在AAA异常流量段期间接到用户故障报障.此时主要表 ...

  9. MyISAM和InnoDB的主要区别和应用场景

    主要区别: 1).MyISAM是非事务安全型的,而InnoDB是事务安全型的. 2).MyISAM锁的粒度是表级,而InnoDB支持行级锁定. 3).MyISAM支持全文类型索引,而InnoDB不支持 ...

  10. Win7下设置护眼的电脑豆沙绿界面

    控制面板\所有控制面板项\个性化\窗口颜色和外观 "色调"(Hue)设为85,"饱和度"(Sat)设为90,"亮度" (Lum)设为205. ...