返回值就是函数执⾏以后返回的结果
(计算任意参数和的函数返回值) def fn(*args): r=0 print(args)#元组 for i in args: r+=i return r print(fn(1,2,3)) (1,2,3) 6通过return来指定函数的返回值
(通过return函数返回了一个'python'的字符串) def fn(*args): r=0 print(args)#元组 for i in args: r+=i return 'python' print(fn(1,2,3)) pythonreturn后⾯可以跟任意对象,返回值甚⾄可以是⼀个函数 (函数的两种方式返回)
(方式一) def fn(*args): r=0 print(args)#元组 for i in args: return 123 r+=1 print(r) def fn1(): print("我是fn1") return {"a":123} return fn1 s=fn() #print(fn(1,2,3,4)) print(s()) () 我是fn1 {'a': 123} (方式二) def fn(*args): r=0 print(args)#元组 for i in args: r+=1 print(r) def fn1(): print("我是fn1") return {"a":123} return fn1() s=fn() #print(fn(1,2,3,4)) print(s) () 我是fn1 {'a': 123}当你不写return语句,和只写一个return语句时,返回值为None
fn1()与fn2() fn1只有一个return fn2() 无return def fn1(*args): return def fn2(): a=1 print("有return",fn1())#有return None print("无return",fn2())#无return None #当你不写return语句,和只写一个return语句时,返回值为None 有return None 无return None简单的介绍help(fn)
Help on function fn in module __main__: fn(a, b, c) :param a:#作用 类型 默认值 :param b:作用 类型 默认值 :param c:作用 类型 默认值 :return: 需不需要复杂的介绍help(fn(a=1,b=2,c=4))
class int(object) | int(x=0) -> integer | int(x, base=10) -> integer | | Convert a number or string to an integer, or return 0 if no arguments | are given. If x is a number, return x.__int__(). For floating point | numbers, this truncates towards zero. | | If x is not a number or if base is given, then x must be a string, | bytes, or bytearray instance representing an integer literal in the | given base. The literal can be preceded by '+' or '-' and be surrounded | by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. | Base 0 means to interpret the base from the string as an integer literal. | >>> int('0b100', base=0) | 4 |作⽤域指的是变量⽣效的区域
在Python中⼀共有两种作⽤域
在Python中一共有两种作用域 全局作用域 全局作用域在程序执行时创建,在程序执行结束时销毁(Python 垃圾回收机制:引用计数的功能,当计数为0时,就会销毁变量) 所有函数以外的区域都是全局作用域(相对的,函数嵌套) 在全局作用域中定义的变量,都是全局变量,全局变量可以在程序的任意位置进行访问 函数作用域 函数作用域在函数调用的时创建,在调用结束时销毁 函数每调用一次就会产生一个新的函数作用域 在函数作用域中定义的变量,都是局部变量,它只能在函数内部被访问 global 声明的变量是全局变量 b=456 a=b def fn(): global a a=123 print("fn前") print("函数内部:a=",a) print("函数外部:b=",b) fn() print("fn后") print("函数内部:a=",a) print("函数外部:b=",b) fn前 函数内部:a= 456 函数外部:b= 456 fn后 函数内部:a= 123 函数外部:b= 456
(函数中)
#函数作用域中 def fn(): a=1 b=2 c=3 d=4 scope=globals() #globals()函数可以获取整个进程的全部全局变量 scope['e']=5 print(e) print(scope) fn() {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000020A99ABA470>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/dell/PycharmProjects/untitled11/Day7/3.命名空间.py', '__cached__': None, 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'scope': {...}, 'e': 5, 'fn': <function fn at 0x0000020A99A61E18>}递归练习 #定义一个函数,用来检测任意一个字符是否为回文字符串 #efffhfffe 回文 #abcdedcba str1="abcdedcba" print(str1[1:-1])#对称打印 半开区间 def fn2(str1): if len(str1)<2: return True elif str1[0]!=str1[-1]: return False else: return fn2(str1[1:-1]) print(fn2(str1)) bcdedcb True