【Python错题】考前突击·自定义函数和对象方法

根据错题衍生知识点,自用,欢迎指正。
因为这两章都是在提供结构工具(引用方法),所以代码不多,掌握理论知识与表达细节即可

理论知识

1.globals():查看包含当前作用域内所有全局变量和值的字典。
2.locals():查看包含当前作用域内所有局部变量和值的字典。
↑这两个书上都没讲,但习题出现了(3
3.如果在函数中有语句 return 3,那么该函数一定会返回整数3。X
脑筋急转弯,有if情况呀哈哈哈
4 ._ init_(self)创建对象时自动执行;
_ del_(sel)删除时自动执行
_ str_直接输出对象 (面向users)

经典例题

递归阶乘

#递归定义计算N!
def fa(n):
    if n<=1:
        return 1
    else:                   #n*(n-1!)
        return n*fa(n-1)    #自己用自己,拆解自己
N=int(input('输入整数N='))
print('N!=',fa(N))
   

这样会比用循环结构简单许多:循环结构
关于对象与方法

class rect:         #定义类时不需要(self)
    length=100
    width=100
    def area(self):
        return (self.length)*(self.width)
class re1(rect):
    width=10
    def zc(self):   #周长
        return 2*(self.length+self.width)
re=rect()           #调用需要()
print(re.length,re.area())
re.length=10
print('修改父类长度:',re.length)
r1=re1()
print('子类长宽:',r1.length,r1.width)
print('可知,即使外部修改子类依然使用原始长')

运行结果:

100 10000
修改父类长度: 10
子类长宽: 100 10
可知,即使外部修改子类依然使用原始长

你可能感兴趣的:(python,python)