2024-02-22 12:12:31 | 我爱编程网
并不一定,
如果被调函数并不是自定义函数,那么只要在主函数中,申明相应的数据库,即可调用数据库里的函数,但数据库里的函数与主函数并不在同一文件,以python为例,调用外函数要用import+数据库(C,JAVA什么的就用include),即可调用数据库中函数;我爱编程网
如果是自定义的函数,二者就要在同一文件夹(可以在不同类),如果在不同文件夹,在别的文件夹里调用函数,计算机又怎么知道在哪里能找到这样一个函数呢?
如果你用的编程软件是IDEA的话,应该很容易理解每次写一个新代码,都会创建一个新文件夹,然后在创建文档编写代码
一般来说,Python程序员可能是这样写main()函数的:
"""Module docstring.
This serves as a long usage message.
"""import sysimport getoptdef main():
# parse command line options
try:
opts, args = getopt.getopt(sys.argv[1:], "h", ["help"]) except getopt.error, msg: print msg print "for help use --help"
sys.exit(2) # process options
for o, a in opts: if o in ("-h", "--help"): print __doc__
sys.exit(0) # process arguments
for arg in args:
process(arg) # process() is defined elsewhereif __name__ == "__main__":
main()1234567891011121314151617181920212223242526
Guido也承认之前自己写的main()函数也是类似的结构,但是这样写的灵活性还不够高,尤其是需要解析复杂的
命令行
选项时。为此,他向大家提出了几点建议。
添加可选的 argv 参数
首先,修改main()函数,使其接受一个可选参数 argv,支持在交互式shell中调用该函数:
def main(argv=None):
if argv is None:
argv = sys.argv # etc., replacing sys.argv with argv in the getopt() call.1234
这样做,我们就可以动态地提供 argv 的值,这比下面这样写更加的灵活:
def main(argv=sys.argv):
# etc.12
这是因为在调用函数时,sys.argv 的值可能会发生变化;可选参数的默认值都是在定义main()函数时,就已经计算好的。
但是现在sys.exit()函数调用会产生问题:当main()函数调用sys.exit()时,交互式
解释器
就会推出!解决办法是让main()函数的
返回值
指示退出状态(exit status)。因此,最后面的那行代码就变成了这样:
if __name__ == "__main__":
sys.exit(main())12
并且,main()函数中的sys.exit(n)调用全部变成return n。
定义一个Usage()异常
另一个改进之处,就是定义一个Usage()异常,可以在main()函数最后的except子句捕捉该异常:
import sysimport getoptclass Usage(Exception):
def __init__(self, msg):
self.msg = msgdef main(argv=None):
if argv is None:
argv = sys.argv try: try:
opts, args = getopt.getopt(argv[1:], "h", ["help"]) except getopt.error, msg: raise Usage(msg) # more code, unchanged
except Usage, err: print >>sys.stderr, err.msg print >>sys.stderr, "for help use --help"
return 2if __name__ == "__main__":
sys.exit(main())123456789101112131415161718192021222324
这样main()函数就只有一个退出点(exit)了,这比之前两个退出点的做法要好。而且,参数解析重构起来也更容易:在辅助函数中引发Usage的问题不大,但是使用return 2却要求仔细处理返回值传递的问题。
我爱编程网(https://www.52biancheng.com)小编还为大家带来python内置函数是什么的相关内容。
python内置函数如下表
用法及说明
1、abs(),返回数字的绝对值。
2、all(),如果集合中所有元素是true或集合为空集合,返回True。
3、any(),如果集合中有一项元素是true,返回True;空集合为False
4、ascii(), 返回一个表示对象的字符串。
5、bin(),将整数转换为前缀为“0b”的二进制字符串。
6、bool(),返回一个布尔值,即True或者之一False。
7、bytearray(),返回一个新的字节数组。
8、callable(对象)判断对象参数是否可被调用(可被调用指的是对象能否使用()括号的方法调用)
9、chr(),返回表示Unicode代码点为整数i的字符的字符串。与ord()函数相反。
10、classmethod,将方法转换为类方法。
11、compile,将源代码编译为代码或AST对象。代码对象可以由exec()或执行eval()。 source可以是普通字符串,字节字符串或AST对象。
12、dic(),创建一个字典
13、divmod(a,b),将两个数作为参数,并在使用整数除法时返回由商和余数组成的一对数
14、enumerate(iterable,start = 0)
enumerate是枚举、列举的意思
对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
enumerate多用于在for循环中得到计数
15、eval,将一个字符串变为字典
16、exec(object [, globals[, locals]])exec语句用来执行储存在字符串或文件中的Python语句
17、filter(功能,可迭代)
filter函数用于过滤序列
filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素
请问:同一个PHP文件里面如何同时2次调用同一个函数呢?是可以同时调用的,我给写的这段执行没有问题<?php function type($m){ echo $m; } $type1=type('aa'); echo '<br>'; $type2=type('bb'); echo '<br>'; function
JS有没类似PHP的echo效果?在JavaScript中,console.log()扮演着类似PHP中echo的角色,用于输出信息。它不仅适用于控制台,也适用于现代浏览器的调试工具。console.log()不会阻断程序执行,而是在控制台中打印信息。这使得它在调试过程中比alert()更为实用。通过window.console对象,可以实现类似的功能。代码如下:window.cons
怎样在一个PHP文件中执行另一个PHP文件二种方法:1.在服务器端执行:即在服务器端PHP文件解析的时候执行,使用include(),require()函数将文件引入include("thatday.php");然后调用thatday.php中的主函数2.在客户端执行:此方法的效果等同于iframe,即会产对所执行文件的一次访问.<imgsrc="that
php中如何调用JS文件里的一个函数!1.A文件用php的fopen函数读取帐号密码,再用md5加密,再写sql。2.A文件用php的fopen函数读取帐号密码,传给B文件,调用js的md5函数,再用异步传输写数据库。(好像不值得,写一个php函数好了)php怎么执行js的function楼主,首先纠正一下,PHP是不能执行JS的函数的(当然,服务器端的js框架除外)!1楼的
phpinfo在哪个文件夹里能找到啊?phpinfo是php内置的函数,并不存在于某个文件夹中,phpinfo用法如下:phpinfo—输出关于PHP配置的信息bool phpinfo([ int $what = INFO_ALL])输出PHP当前状态的大量信息,包含了PHP编译选项、启用的扩展、PHP版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变
如何在主函数中调用类中的成员函数调用主函数中调用类中的成员函数调用方式为:对象名.成员函数名(参数列表)。其中“.”是成员运算符,用来对成员进行限定,指明所访问的是哪一个对象中的成员。不仅可以在类外引用对象的公用数据成员,而且还可以调用对象的公用成员函数,但同样必须指出对象名,如:stud1.display();//正确,调用对象stud1的公用成员函数。displ
Thinkphp空操作.空控制器.命名空间详解1、空操作空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。网址/index.php/Home/Main/login网址/index.php/Home/Main/hello空操作出现页面:显示的错误信息过于详细,为安全以及优化页面起见
PHP直接调用函数和调用另外一个文件中的函数的区别//如果是PHP文件中的函数,唯一的区别是:先引入外部文件,然后直接调用。//如果是外部类文件中的函数,需要引入,然后new 对象后,再调用该对象的函数。$msg=test_msg();function test_msg(){echo "";}//调用外部文件中的函数//首先引入文件include_once 'file.php';$msg=t
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00