python双杠函数,python单斜杠和双斜杠运算符的区别

python中,函数名前后的双划线有什么作用?

每一个module都有一个叫__name__的变量,它的值就是module的名字

我们提供的服务有:成都网站设计、成都网站建设、微信公众号开发、网站优化、网站认证、黔西南州ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的黔西南州网站制作公司

比如os.__name__ 是"os",sys模块的__name__是"sys"

__main__也是一个模块,但是这个模块比较特殊,其他的模块都有一个对应的同名py文件,比如os.py, sys.py,这个模块却没有对应的固定名字的py文件,不管你执行 什么.py,它的名字都是__main__。它指的是正在运行的模块,即主模块。

上面说过,每个模块都有__name__这个变量, 那么主模块也不例外,主模块的__name__变量,值就是"__main__"

解释了半天,再说你的问题:__name__和name是两个不同的变量,__name__有定义而name没有定义,使用没有定义的变量就要出错,这没有什么好说的。

例如你写:

if name == '__main__':是一个变量未定义的错误

而当你写 if __name__ == 'main':的时候,由于__name__的值其实是'__main__',所以if的条件为假,不会执行你的代码。

最后,你可以自己写一点测试代码来探索这个问题,文件名就叫test.py,代码也很简单:

print(__name__)

import test

输出有两行,第一行毫无疑问是__main__,第二行比较有意思,输出是test,因为此时test.py作为一个模块被import其__name__就是"test"。

python 高阶函数有哪些

1、高阶函数

变量可以指向函数,函数的参数可以接收变量,那么函数可以接收另一个函数作为参数,这种函数称为高阶函数。

(1)把函数作为实参

(2)把函数作为返回值

2、系统的内置高阶函数

(1)map函数:接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并且把结果作为新的列表返回

(2)reduce函数:把一个函数作用到一个序列上,这个函数必须接收两个参数,reduce把结果和序列的下一个元素做累积计算

(3)filter函数:也接收一个函数和一个序列,和map函数不同的是,filter函数把传入的函数依次作用于每个元素,然后返回返回值是True的元素

(4)sorted函数:排序函数

把用户名按照首字母不区分大小写排序

(5)sorted()函数按照关键字排序

关键字:商品个数

(6)sorted()函数按照关键字排序,用键值来查找

(7)lambda匿名函数:有时候传参数时不需要显示自定义的函数,直接传入匿名函数更方便;冒号前面的x,y表示函数参数,匿名函数不需要担心函数名的冲突,匿名函数也是一个函数对象,可以把匿名函数赋值给一个变量,再利用变量来调用函数,匿名函数也可以作为返回值返回

3、高阶函数的应用:

(1)sorted函数:

(2)sorted函数默认是从小到大排序

4、装饰器

装饰器就是用来装饰函数的:想要增加原有函数的功能,但是不希望修改原有函数的定义,在代码运行期间动态增加功能的方式

(1)此装饰器的功能:计算函数的运行时间

import functools

@functools.wraps(f)   ##保留原有函数的属性

运行结果:

(2)此装饰器的功能:用户登录认证

运行结果:

(3)此装饰器的功能:认证用户的同时,显示用户的转账金额

import inspect

inspect.getcallargs()将传的参数封装为一个字典,字典的key值是形式参数,value值是实参

(4)此装饰器的功能:确保收到的每个参数都是整数,是整数就求和,否则抛出错误

(5)此装饰器的功能:给装饰器传参数,是整数和浮点数就求和

python学习网,大量的免费python视频教程,欢迎在线学习!

python里的双下划线函数都是什么意思

隐藏属性,或者隐藏方法。

比如

'33'.__hash__()

4038753864587545164

'33'.__len__()==len('33')

True

(3).__pow__(2)

9

int.__pow__(3,2)

9

python 的函数前面带个杠是什么意思?例如def _ExecuteCmd(self, cmd)

上面这个例子就是说在一个类中,只有__a这个函数是内部函数,其他都可以在外部调,在python中至少大家习惯的写法而已,无实际作用


当前名称:python双杠函数,python单斜杠和双斜杠运算符的区别
转载源于:http://ybzwz.com/article/hcooso.html