欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python中content的用法_学python吗,教你5个python现学现用的有趣用法

发布时间:2024/7/23 python 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python中content的用法_学python吗,教你5个python现学现用的有趣用法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在我们使用python的过程中也会遇到一些有意思的用法,这里找到了一些总结有趣的

话不多说,接着看下去吧!!!!python高薪就业(视频、学习路线、免费获取)​shimo.im

for-else用法

循环正常结束则执行else语句。一般用于循环找符合条件的元素.

如果找到则 break 调出循环,不会触发 else ;

如果没有找到(完整运行循环)

则 print not found《Effictive Python》

一书中对for-else用法提出了质疑,

主要观点是可以通过封装成函数来取代这一用法,

而封装成函数是更加通用易懂的做法,所以一般不会使用for-else用法.

try-else用法

如果没有触发异常就执行 else

参考

解包用法.

类似这样 a,b,c = ['a', 'b', 'c']

python有趣的解包用.

单行if-else

a = 1b = 3 if a == 1 else 2print('it is one' if a == 1 else 'no')

迭代器传入函数中不用加括号

# 一般是这样a = (i for i in range(10))sum(a)

# 我们可以这样sum((i for i in range(10)))

# 但我们还可以这样sum(i for i in range(10))

# 类似的有' '.

join(str(i) for i in range(10))

or的用法

python中 x or y 表示如果x为真就是x的值,否则为y的值。

我们会经常看到类似这样的用法

(比如函数的一个 value 参数没有设置默认值,这样使用就允许它不赋值)

value = value or {}

# 相当于value = value if value else

{}

and的用法

python中 x and y 表示如果x是假,结果就是x的值.

否则就是y的值x and y and z 多个and连接时.

如果全是真结果就是最后一个的值;如果中间有假的值,结果就是第一个假的值。

举一个例子

def not_empty(a):

return a and a.strip()not_empty(' a ')

# 值为 'a'not_empty(None)

# 不会报错(如果 return a.strip() 就会报错)

# 在处理None的问题上相当于def not_empty(a):

if a is None:

return None

else:

return a.strip()

细细品味and和or的差别,他们逻辑类似,但是实现的功能是不可以相互替代的.or 是结果如果不满意有个善后工作

and是要做一件事之前先检验一下,不能做就不让它做.

if value:

# 要用if value:# 不要用if value == True:

这里总结一下这种情况下什么时候是 True ,什么时候是 .

FalseFalse: 0 0.0 '' []

{}

()

set() None False

True:

' ' 'anything' [''] [0] (None, )

没有内容的可迭代对象.

另外要注意一点,我们用 if 判断一个对象是不是 None 的时候.

要 if a is None 而不要直接 if a .

因为如果是后者,有非常多不是 None 的情况也会判定为 False .

比如空字符串、空列表等,为了精确指定 None 还是要用前者,这也是一种规范。

下划线的特殊使用

python中下划线是一种特殊的变量和符号,有一些特殊的用途.

文档字符串

python有一种独一无二的注释方式,在包、模块、函数、类中第一句,

使用 '''doc''' 这样三引号注释,就可以在对象中用 __doc__ 的方式提取

比较规范的写法是这样的(这里参考 grequests 模块的写法).

def myfun(a, b):

'''add two numbers

:param a: one number

:param b: another number

:returns: a number

'''

print(a + b)print(myfun.__doc__)# 结果为

add two numbers :

param a: one number :

param b: another number :

returns: a number

其实参数还有其他的写法.

除此之外,函数注释还有另一种方式,函数名可以直接调用某个参数的注释,

详见 Python 的函数注释 .

有用的函数

sum的本质

本质:

sum(iterable, start=0) 将可迭代对象使用 + 连接 所以 sum([[1,2],[3,4]], [])

返回结果为 [1, 2, 3, 4]

range(start, stop[, step])

可以直接用 for i in range(10, 0, -1) 降序循环

enumerate循环索引.

for index, item in enumerate(['a', 'b', 'c']):

print(index, item)

输出:a

b

c

管道操作

func1(func2(func3(a)))写成类似a %>% func3 %>% func2 %>% func1.

清晰展示函数执行的顺序,增强可读性.

python本身不带有这样的用法,只是一些库提供了这样的用法.比如pandas和 syntax_sugar

其他

另外,就是一些基础的列表推导式

装饰器

生成器

map reduce filter

链式比较

类的魔术方法

更新补充

for-else的更多讨论

下面引用《Effictive Python》一书中内容:

a = 4 b = 9

for i in range(2, min(a, b) + 1):

print(‘Testing’, i)

if a % i == 0 and b % i == 0:

print(‘Not coprime’)

break

else:

print(‘Coprime’)

随后作者写到:

实际上,您不会以这种方式编写代码。

相反,您需要编写一个助手函数来进行计算。

这样的助手函数是用两种常见的样式编写的。

第一种方法是在找到所要寻找的条件时尽早返回。

如果您通过循环,则返回默认结果。

def coprime(a, b):

for i in range(2, min(a, b) + 1):

if a % i == 0 and b % i == 0:

return False

return True

第二种方法是有一个结果变量,该变量指示您是否在循环中找到了要查找的内容。

一旦你发现什么,你就会跳出圈套。

def coprime2(a, b):

is_coprime = True

for i in range(2, min(a, b) + 1):

if a % i == 0 and b % i == 0:

is_coprime = False

break

return is_coprime

结尾

对于不熟悉代码的读者来说,这两种方法都要清楚得多。

从Other块中获得的表现力并不比那些希望在将来理解您的代码的人(包括您自己)所承受的负担更重。

像循环这样的简单构造在Python中应该是不言自明的,您应该完全避免在循环之后使用其他块。

总结起来就是for-else的优势是可以被写函数的方式替代的

读者福利,点击链接即可领取相关学习福利包:python高薪就业(视频、学习路线、免费获取)​shimo.im

是安全网站放心,继续访问就可以领取了

就业系列:

有方向有目标的学习才能节省时间,没有方向目标的学习,就纯粹浪费时间。

部分视频展示:

电子书系列:

视频容易理解,电子书作为辅助,有时候看视频不方便可以用电子书作为辅助

python人工智能系列:.

总结

以上是生活随笔为你收集整理的python中content的用法_学python吗,教你5个python现学现用的有趣用法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。