美文网首页
Python基础-day04

Python基础-day04

作者: 陈small末 | 来源:发表于2019-01-11 08:55 被阅读0次

list

​ for

​ 函数

for

​ for 变量 in 集合:

​ 重复执行操作

其他语言js java c++:do while

怎么解决问题

​ 分治:当我们遇到一个大难题的时候 我们要分析 把他拆解成若干小问题, 按个解决小问题,等所有小问题解决 就整个问题

break 关键字

​ 跳出当前循环

​ 注意:多层嵌套 只能跳出当前循环

continue 关键字

​ 跳过当次循环,继续下一次

注意:break 和continue 是在循环里使用 其他位置无效

else:

​ while 当循环不满足条件的是被执行

下列代码 else 不会被执行 因为循环条件 一直满足 只不过是用break终止了我们的循环

while True:
    res = input("输入")
    print("-->", res)
    select = input("如果继续,请输入y, 不继续输入n")
    if select == 'y':
        continue
    else:
        break

else:
    print("hehe")

下列code会被执行 原因:i自增 将会不满足循环的条件

i = 0
while i <= 2:
    i += 1
    print("--")
else:
    print("run")

for里面

​ 当for 自动结束循环 那么else将会被执行,当被break强制跳出循环的时候 不会被执行

下列代码 不会被执行 原因:用break给强制退出

for i in range(6):
    if i == 3:
        break
else:
    print("hh")

下列代码 会被执行 原因:for自动结束(正常结束)

for i in range(4):
    print(i)
else:
    print("执行")

函数

作用:帮我们封装代码,封装功能,提高代码复用性

分类:

​ 内置函数:print int bin ord chr input

​ 匿名函数:没有名字 一个简短的语句

​ 递归函数:函数自己调用自己

​ 自定义函数 :我们自己写的一个函数

定义一个函数:

​ def 函数的名字(参数1,参数2, 参数N):

​ 你的各种逻辑代码

​ return 返回值

在定义的时候 函数名 后面的括号里 写的变量名字我们将形参

调用

​ 函数名字(实参1, 实参2,实参N)

​ 要先定义 后调用

​ 函数可以在当前文件 多次调用 也可以在其他文件调用(但是需要先导入该函数)

定义

无参数 无返回值的

def how_to_do():
    print("睡觉")
    print("吃饭")
    print("睡觉")

how_to_do()

有参数 无返回值的

def print_add(num1, num2):
    """
    两个数 求和 并打印结果
    :param num1: int 类型 参与预算的值 之一
    :param num2:  int 类型 参与运算的值 之二
    :return: 无
    """
    c = num1 + num2
    print(c)

无参数 有返回值

def get_randfloat():
    """
        获取0 10 随机的浮点数
    :return:
    """
    tmp = random() * 10
    return tmp

有参数 有返回值

def my_add(n1, n2):
    return n1 + n2

带默认值参数的函数

def increase_data(n1, n2=1):
    print(n1 + n2)

​ 调用:以increase_data为例

​ 我们在调用的时候可以写一个参数 设置的是n1

​ 也可以写两个参数 那么写两个参数 默认值就不生效了

​ 注意:默认值参数 要放在 非默认值参数之后,再之后就不能再写 非默认值参数 错误写法 如下

def testyy(a, b=1, c):
    print(a+b+c)
    
def testjj(a=1,b):
    print(a+b)

参数:

​ 在定义函数的时候 如果我们无法确定 但参与你的运算或逻辑里时 那么我们就可以可虑设置成参数

返回值:

​ 如果调用者 在使用你功能(函数) 期望得到反馈 那么我们给他返回他想要的结果

递归函数

​ 递归:算法

​ 算法: 我们解决一类问题的方法

​ 斐波那契数列--->兔子繁殖

​ 第一个月有一对儿兔子 从第三个月开始能繁殖一对儿兔子 (兔子不能死掉) 问你N个月有多少对儿兔子

​ 斐波那契数列公式:f(n) = f(n-1) + f(n-2)

​ python: 函数在定义的时候 自己调用了自己

def rabbit(n):
    # 如果n是前两个月 那么兔子的数量是定死的也就是1个
    if n in (1,2):
        return 1
    else:
        #三个月以后 才开始使用公式计算
        res = rabbit(n-1) + rabbit(n-2)
        return res

注意:

1 递归函数的出口 要明确

2 递归的层次尽量别超过三层 (层次不要深) 会导致栈溢出

拓展:函数的return 可以多个数据,多个数据需要用都好隔开 调用者得到的结果是元组。

​ 不可变数据类型:在函数内被修改 不会影响原来的值

​ 可变数据类型 在函数内被修改 会影响原来的值

面试可能会问的

变量的作用域

​ 作用域:变量的使用范围

​ 全局变量:定义在程序里 顶行定义的变量

​ 局部变量:在函数(代码块)里定义的

进程:正在运行的程序叫进程

线程:轻量级进程

​ 一个进程里至少有一个线程,线程之间数据是共享

​ 进程数据是不共享的

相关文章

  • Day04 - Python基础4

    Day04的课程要点记录详细教程地址:Day4 - Python基础4 | python装饰器 一、装饰器 1.1...

  • Python基础-day04

    list ​ for ​ 函数 for ​ for 变量 in 集合: ​ 重复执行操作 ...

  • python基础-day04

  • python完全参考教程

    Python基础 Hello World! Python基础 基本数据类型 Python基础 序列 Python基...

  • 快速学习Python基础知识(4)

    Python 基础部分--了解Python快速了解 Python 基础知识(1)快速学习 Python 基础知识(...

  • 快速学习Python基础知识(3)

    Python 基础部分--了解Python快速了解 Python 基础知识(1)快速学习 Python 基础知识(...

  • PYTHON DAY04

    coding: utf-8 基础 3 ——变量名和函数名命名规则—— 变量名和函数名只能包含 字母、_下划线或数字...

  • CSS2

    Day04****************************************************...

  • Python教程列表

    Python 基础教程 Python 基础教程Python 简介Python 环境搭建Python 中文编码Pyt...

  • Python基础入门6_文件和异常

    Python 基础入门前五篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类...

网友评论

      本文标题:Python基础-day04

      本文链接:https://www.haomeiwen.com/subject/vfhvrqtx.html