ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python小白课程学习笔记(四)

2021-09-03 20:34:02  阅读:202  来源: 互联网

标签:return name 递归函数 python 函数 笔记 fib 小白 变量


变量的作用域:

        程序代码能访问变量的区域

        根据变量的有效范围可分为

                局部变量

                        在函数内定义并使用的变量,只在函数内部有效,布局变量使用global声明,这个                   变量就会成局部变量

                全局变量

                        函数体外定义的变量,可用作于函数体外

递归函数

        什么是递归函数

                如果在一个函数体内用了该函数本身,这个函数就成为递归函数

         递归函数的组成部分

                递归调用与递归终止条件

          递归的调用过程

                        每递归调用一次函数,都会在内存分配一个栈帧

                        每执行一次函数,都会释放相应的空间

          递归的优缺点

                        缺点:占用内存多,效率低下

                        有点,思路和代码简单

#递归函数:样例一

def fac(n):
    if n == 1:
        return 1
    else:
        a = (n*fac(n-1))
        return a                 

print(fac(6))

                

样例二:斐波那契数列
def fib(n):
    if n == 1:
        return 1
    elif n ==2:
        return 2
    else:
        return fib(n-1)+fib(n-2)

#print(fib(8))

for i in range(1,9):
    print(fib(i))

 Bug常见的类型

       1. 粗心导致的错误:

       2.知识点不熟导致的错误

        3.思路不清楚导致的错误

异常处理机制:

              1.try ......except.... 

                

                 2.try ......except....else

                 3.try ......except....else....finally(无论是否异常,都会被执行)

常见的异常类型       

                

 异常常见的处理机制

traceback模块

        使用traceback模块打印异常信息 

import  traceback

try:

.......

except:

        traceback.print_exc()

是多个类似事务组成的群体统称。

类的组成

        类属性(直接写在类里面的变量,称为类属性)

        实例方法(在类内定义的函数)

        静态方法(@staticmethod进行修饰)

        类方法(@classmethod进行修饰)

初始化方法
class Student:
    def __init__(self,name,age):
        self.name=name #self.name称为实例属性,进行了一个赋值操作,将局部变量的name值赋给实例属性
        self.age=age

创建student类对象的方法

stu1=Student(张三‘,20)

调用方法:

1.stu1.Student.eat()

2.Student.eat(stu1)

注意cm或sm都是定义的方法名 

 

标签:return,name,递归函数,python,函数,笔记,fib,小白,变量
来源: https://blog.csdn.net/m0_58465990/article/details/120076981

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有