最赞回答 / KingToAce
如果是# -*- coding:utf-8 -*- 标注在头部,则注释的是编码方式,这是给编译器进行编译的时候进行标识的,编译器在进行编译为二进制时会从头部开始进行编译,识别到声明的编码方式是utf-8时会对往下的中文字节码自动进行转化,如无在头部声明注释# -*- coding:utf-8 -*-则编译器在编译过程中会识别不了中文字节码便会抛出转码异常
2018-07-27
最赞回答 / njx123
*args和**kw都代表不确定的函数变量,即在函数调用时可以选择传入或者不传入参数,都不影响函数运行。其中*args将传入对象当成是元组对待;**kw将传入对象当成字典对待。**kw的作用是在函数调用时,可变参数的key,value值打包成dic,传给kw。因此是kw.iterable()。
2018-07-27
def calc_prod(lst):
def chengji(x,y):
return x*y
return reduce(chengji,lst)
f = calc_prod([1, 2, 3, 4])
print f
def chengji(x,y):
return x*y
return reduce(chengji,lst)
f = calc_prod([1, 2, 3, 4])
print f
2018-07-27
import os
print os.path.isdir(r'/data/webroot/resource/python')
print os.path.isfile(r'/data/webroot/resource/python/test.txt')
print True
print os.path.isdir(r'/data/webroot/resource/python')
print os.path.isfile(r'/data/webroot/resource/python/test.txt')
print True
2018-07-27
最赞回答 / 懒懒的高贵000
子类是父类的一个延伸,它除了拥有父类的所有属性外还有自己的属性,所以父类的实例不能是子类,子类却可以是父类。就比如四边形和正方形,四边形是父类,正方形是子类,你可以说正方形是四边形,但四边形却不一定是正方形。
2018-07-26
已采纳回答 / 慕粉1528527963
例子中定义了新函数fn,作用是除了包含旧函数的功能,还添加了前面print 'call...的功能,在新函数中,这两者是一个整体,而你这样定义的new_fn(f)里两者是独立的,它的逻辑是先打印 call f1(),然后return f1(x)旧函数,只是一个流程,这样单独用没问题。但由于返回函数的作用是延迟计算,你这里的new_fn函数的f会延迟计算,但前面的print 'call’部分不会,每次用@new_fn的时候,还未输入变量,print ‘call’都会先执行一遍。
2018-07-26
def count():
fs = []
for i in range(1, 4):
def a(j):
def c():
return j*j
return c
fs.append(a(i))
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
fs = []
for i in range(1, 4):
def a(j):
def c():
return j*j
return c
fs.append(a(i))
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
2018-07-26
def calc_prod(lst):
def ji():
num=1
for key in lst:
num*=key
return num
return ji
f = calc_prod([1, 2, 3, 4])
print f()
def ji():
num=1
for key in lst:
num*=key
return num
return ji
f = calc_prod([1, 2, 3, 4])
print f()
2018-07-26