如何查看网站开发的语言,seo快速排名软件推荐,怎么样做小程序,网站内链建设方法人生苦短 我用python
又来给大家整点好东西啦~
咱就直接开练噜#xff01;内含大量代码配合讲解 python 安装包资料:点击此处跳转文末名片获取 1. for - else
什么#xff1f;不是 if 和 else 才是原配吗#xff1f;
No#xff0c;你可能不知道#xff0c;
else 是个…人生苦短 我用python
又来给大家整点好东西啦~
咱就直接开练噜内含大量代码配合讲解 python 安装包资料:点击此处跳转文末名片获取 1. for - else
什么不是 if 和 else 才是原配吗
No你可能不知道
else 是个脚踩两只船的家伙
for 和 else 也是一对而且是合法的。 for i in [1,2,3,4]:
print(i)
else:
print(i, 我是else)1
2
3
4 我是else如果在 for 和 else 之间循环体内有第三者 if 插足
也不会影响 for 和 else 的关系。
因为 for 的级别比 if 高else 又是一个攀附权贵的家伙
根本不在乎是否有 if
以及是否执行了满足 if 条件的语句。
else 的眼里只有 for只要 for 顺利执行完毕
else 就会屁颠儿屁颠儿地跑一遍 for i in [1,2,3,4]:
if i 2:
print(i)
else:
print(i, 我是else)
4 我是else那么如何拆散这对冤家呢 只有当 for 循环被 break 语句中断之后 才会跳过 else 语句 for i in [1,2,3,4]:
if i2:
print(i)
break
else:
print(i, 我是else)2.lambda函数
lambda 听起来很高大上 其实就是匿名函数了解js的同学一定很熟悉匿名函数。 匿名函数的应用场景是什么呢 就是仅在定义匿名函数的地方使用这个函数 其他地方用不到 所以就不需要给它取个阿猫阿狗之类的名字了。 下面是一个求和的匿名函数 输入参数有两个x和y函数体就是xy 省略了return关键字。 lambda x,y: xy
function lambda at 0x000001B2DE5BD598(lambda x,y: xy)(3,4) 匿名函数一般不会单独使用 而是配合其他方法 为其他方法提供内置的算法或判断条件。 比如使用排序函数sorted对多维数组或者字典排序时就可以指定排序规则。 a [{name:B, age:50}, {name:A, age:30}, {name:C, age:40}]sorted(a, keylambda x:x[name])
[{name: A, age: 30}, {name: B, age: 50}, {name: C, age: 40}]sorted(a, keylambda x:x[age])
[{name: A, age: 30}, {name: C, age: 40}, {name: B, age: 50}]再举一个数组元素求平方的例子这次用map函数 a [1,2,3]for item in map(lambda x:x*x, a):print(item, end, )1, 4, 9, 3.列表推导式
在各种稀奇古怪的语法中 列表推导式的使用频率应该时最高的 对于代码的简化效果也非常明显。 比如求列表各元素的平方 通常应该这样写当然也有其他写法比如使用map函数 a [1, 2, 3, 4, 5]result list()for i in a:result.append(i*i) result
[1, 4, 9, 16, 25]如果使用列表推导式看起来就舒服多了 a [1, 2, 3, 4, 5]result [i*i for i in a]result
[1, 4, 9, 16, 25]4.列表索引的各种骚操作
Python 引入负整数作为数组的索引 这绝对是喜大普奔之举。 想想看在C/C中想要数组最后一个元素 得先取得数组长度减一之后做索引 严重影响了思维的连贯性。 Python语言之所以获得成功 我个人觉得在诸多因素里面 列表操作的便捷性是不容忽视的一点。 请看 a [0, 1, 2, 3, 4, 5]a[2:4]
[2, 3]a[3:]
[3, 4, 5]a[1:]
[1, 2, 3, 4, 5]a[:]
[0, 1, 2, 3, 4, 5]a[::2]
[0, 2, 4]a[1::2]
[1, 3, 5]a[-1]
5a[-2]
4a[1:-1]
[1, 2, 3, 4]a[::-1]
[5, 4, 3, 2, 1, 0]如果说这些你都很熟悉 也经常用那么接下来这个用法 你一定会感觉很神奇 a [0, 1, 2, 3, 4, 5]b [a, b]a[2:2] ba
[0, 1, a, b, 2, 3, 4, 5]a[3:6] ba
[0, 1, a, a, b, 4, 5]5.三元表达式
熟悉 C/C 的程序员 初上手 python 时 一定会怀念经典的三元操作符 因为想表达同样的思想 用python 写起来似乎更麻烦。 比如 y 5if y 0:print(y是一个负数)
else:print(y是一个非负数)y是一个非负数其实python 是支持三元表达式的 只是稍微怪异了一点类似于山东人讲话。 比如 山东人最喜欢用倒装句 打球去吧要是不下雨的话 下雨咱就去自习室。
翻译成三元表达式就是
打球去吧 if 不下雨 else 去自习室来看看三元表达式具体的使用 y 5print(y是一个负数 if y 0 else y是一个非负数)
y是一个非负数python 的三元表达式也可以用来赋值 y 5x -1 if y 0 else 1x
1—
6.巧用断言assert
所谓断言 就是声明表达式的布尔值必须为真的判定 否则将触发 AssertionError 异常。 严格来讲assert是调试手段 不宜使用在生产环境中 但这不影响我们用断言来实现一些特定功能 比如输入参数的格式、类型验证等。 def i_want_to_sleep(delay):assert(isinstance(delay, (int,float))), 函数参数必须为整数或浮点数print(开始睡觉)time.sleep(delay)print(睡醒了) i_want_to_sleep(1.1)
开始睡觉
睡醒了i_want_to_sleep(2)
开始睡觉
睡醒了i_want_to_sleep(2)
Traceback (most recent call last):File pyshell#247, line 1, in modulei_want_to_sleep(2)File pyshell#244, line 2, in i_want_to_sleepassert(isinstance(delay, (int,float))), 函数参数必须为整数或浮点数
AssertionError: 函数参数必须为整数或浮点数7.while语句
这个就很常见了 几乎是学过一点python语言的小伙伴都会知道while语句的啦如
我用while写了一个小的游戏
import randomanswer random.randint(1, 100)
counter 0
while True:counter 1number int(input(请输入: ))if number answer:print(大一点)elif number answer:print(小一点)else:print(恭喜你猜对了!)break
print(你总共猜了%d次 % counter)
if counter 7:print(你的智商余额明显不足)8.with - as
with 这个词儿英文里面不难翻译 但在 Python 语法中怎么翻译 我还真想不出来大致上是一种上下文管理协议。 作为初学者不用关注 with 的各种方法以及机制如何 只需要了解它的应用场景就可以了。 with 语句适合一些事先需要准备 事后需要处理的任务比如文件操作 需要先打开文件操作完成后需要关闭文件。 如果不使用with文件操作通常得这样
fp open(rD:\CSDN\Column\temp\mpmap.py, r)
try:contents fp.readlines()
finally:fp.close()如果使用 with - as那就优雅多了 with open(rD:\\Column\temp\mpmap.py, r) as fp:contents fp.readlines()好了你如果以上都会的话那我要给你一个大大的赞我绝对不会告诉你我都不知道assert哈哈哈哈
今天的分享到这就结束了下次再见哈 问题解答 · 源码获取 · 技术交流 · 抱团学习请联系