python def说明

可以这样讲,def定义了一个模块的变量,或者说是类的变量。它本身是一个函数对象。属于对象的函数,就是对象的属性。当然,你也可以叫它“方法”。

python 的函数和其他语言的函数有很大区别。它是可以被其他变量覆盖的,如:

def func():

    print 1

print func() # 1

func = 5

print func # 5

pring func() # 错误!函数对象已经被覆盖了

在同一模块里,函数在未被定义前是不能使用的,因为它是在“运行时”定义的:

print func() # 错误!函数未定义

def func():

    prnt 1

但如果定义函数的模块被其他模块包含,就不一样了

# mod1

def func1():

    func2()

def func2():

    print 1

    

# mod2

import mod1

mod1.func1() # 这是可以的,因为整个模块被导入,所有的定义已经执行了

时间: 2024-10-13 08:43:37

python def说明的相关文章

Python lambda和Python def

1.Python lambda和Python def区别分析 Python支持一种有趣的语法,它允许你快速定义单行的最小函数.这些叫做lambda的函数,是从Lisp借用来的,可以用在任何需要函数的地方. lambda的语法时常会使人感到困惑,lambda是什么,为什么要使用lambda,是不是必须使用lambda? ? 1 2 3 4 5 6 7 8 9 10 >>> def f(x): ...   return x+2 ... >>> f(1) 3 >>

Python - def 函数

1.def 函数 如果我们用代码实现了一个小功能,但想要在程序代码中重复使用,不能在代码中到处粘贴这些代码,因为这样做违反了软件工程中 DRY原则. Python 提供了 函数功能,可以将我们这部分功能抽象成一个函数以方便程序调用,或者提供给其他模块使用. def function_name(parameters): expressions 在Python中使用 def 开始函数定义,紧接着function_name是函数名,括号内部parameters为函数的参数,expressions内部为

Python def longestPalindrome(self, s: str) -> str: 函数功能注释 annotations

https://www.cnblogs.com/hongten/p/hongten_python_function_annotation.html def f(ham: 42, eggs: int = 'spam') -> "Nothing to see here": print("Annotations:", f.__annotations__) print("Arguments:", ham, eggs) #def关键字定义了函数f,在

python快速系列

1.1-1.13 https://www.python.org/ 2.7 库和软件更多,90%公司在用 3.4 安装.都是默认 安装pycharm   professional 免费30天版本 1.使用eclipse快捷键 1.create new project 2.选择2.7Python[安装后 菜单--->file--->new-project创建新的工程 score = 70 if score >=90: print("good")elif score >

Python函数的冒泡排序、递归以及装饰器

函数的冒泡排序: 本质是,让元素换位置,逐个比较最终排序. 例1:实现a1,a2值互换: a1 = 123 a2 = 456 temp = a1 a1 = a2 a2 = temp print(a1) print(a2) 结果: 456 123 冒泡排序: #!/bin/bash/env python # -*- coding:utf-8 -*- li = [22,1,5,4,3,66,22,12,34,21] for j in range(1,len(li)): for i in range(

caffe 中 python 数据层

caffe中大多数层用C++写成. 但是对于自己数据的输入要写对应的输入层,比如你要去图像中的一部分,不能用LMDB,或者你的label 需要特殊的标记. 这时候就需要用python 写一个输入层. 如在fcn 的voc_layers.py 中 有两个类: VOCSegDataLayer SBDDSegDataLayer 分别包含:setup,reshape,forward, backward, load_image, load_label. 不需要backward 没有参数更新. import

深刻理解Python中的元类(metaclass)

译注:这是一篇在Stack overflow上很热的帖子.提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解.他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程.于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应该加入到Python的官方文档中去.而e-satis同学本人在Stack Overflow中的声望积分也高达6

Python反射

反射的定义 根据字符串的形式去某个对象中操作成员 根据字符串的形式去一个对象中寻找成员 根据字符串的形式去一个对象中设置成员 根据字符串的形式去一个对象中删除成员 根据字符串的形式去一个对象中判断成员是否存在 初始反射 通过字符串的形式,导入模块 根据用户输入的模块名称,导入对应的模块并执行模块中的方法 # Python使用的是3.5.1 [[email protected] ~]# python -V Python 3.5.1 # commons.py为模块文件 [[email protect

Python(七)-面对对象编程

第一章 面向对象设计的问题 1.什么是面向对象编程          -- 以前使用函数来实现,使用函数比较复杂的实现,现在使用面向对象,实现起来更简单.          -- 面向对象就是现在就是用类和对象来进行实现     2.什么是类?什么是对象?两者又有什么关系?         -- 类里面就是函数的集合         -- 例如:obj = 类名(),             obj就是对象,这个过程叫做实例化的过程,最后调用时使用对象名.函数()的格式进行调用,例如:obj.函