day09-markdown总结

1.record

1.函数就是对实现某一特定功能的代码块的封装
2.函数的声明:

def 函数名(形参列表):
    函数的说明文档
    函数体

3.函数的函数体只有在函数调用的时候才会执行
4.函数的调用
5.函数调用的过程

a.回到函数声明的位置
b.传参(实参传递给形参)保证每个参数都有值
c.执行函数体
d.将返回值返回
e.回到函数调用的位置(这个时候函数调用表达式的结果就是返回值)

6.位置参数和关键字参数
7.参数可以有默认值(要求别人在使用的时候必须传参的时候不要给默认值:这个时候类型在额外通过类型说明)
8.不定个数的参数,在参数名前加*
9.返回值:python中所有的函数都有返回值,看一个函数返回值是什么,就是看函数体在执行中,有没有执行到return,如果有那么函数的返回值就是return后面的值,如果没有就是None
10.只要函数的功能产生了新的数据,就把新的数据返回。

2.匿名函数

匿名函数本质还是函数,之前函数的所有内容都适用于他
1.匿名函数的声明

函数名 = lambda 参数列表:返回值

2.说明:

函数名:变量名
lambda:声明匿名函数的关键字
参数列表:
参数名1,参数名2
冒号:固定写法
返回值:表达式,表达式的值就是返回值

3.调用:匿名函数的调用和普通函数一样
函数名(实参列表)
练习:写一个匿名函数计算两个数的和
sum1 = lambda x, y:x+y
result = sum1(1, 2)
print(result)
练习:写一个匿名函数,获取指定列表指定下标值的二分之一

list_numbers = lambda list1,index:list1[index]/2
print(list_nambers([1, 2, 3],1))

练习:获取一个列表的所有元素的和的平均值

get_ave = lambda list1:sum(list1),(sum(list1)/len(list1))
sum1,ave = get_ave([1, 2, 3])
print(sum1, ave)

3.变量的作用域

1.函数的调用过程是一个压栈的过程;每次调用一个函数,系统就会在内存区域的栈区间去开辟空间,保存函数调用过程产生的数据,当函数调用完了,对应的栈区间会自动销毁。
2.函数调用时产生的栈区间中保存的数据有:形参、在函数中声明的变量
3.什么是作用域:作用域指的是一个变量能够使用的范围
4.全局变量:声明在函数和类的外面的变量都是全局变量,
全局变量的作用域:从声明开始到程序结束
5.局部变量:声明在函数中或者类中的变量就是局部变量
局部变量的作用域:从声明开始到函数结束或者是从声明开始到类结束
**注意:函数的参数是声明在函数中的局部变量

num1 = 100
num2 = 10
def func4():
    num1 =200
    print(num1)#如果全局变量和局部变量同名,那么局部变量的作用域内使用的是局部变量的值
    global num2#说明后面的num2都是全局变量
    num2 = 99
func4()
print(num1)
print(num2)

4.递归函数

1.什么是递归函数:就是在函数的函数体中调用函数本身,这样的函数就是递归

def func1():
    print('aaaa')
    func1()

2.while 循环能做的事情递归都可以做
3.怎么写递归函数

步骤:
1.找临界值(找到循环结束的值,找到能够确定函数结果的值)
2.找关系(找f(n)和f(n-1))
3.根据f(n)和f(n-1)的关系,来通过f(n-1)实现f(n)的效果

练习:使用递归计算1,1,2,3,5,8,13,21

def func3(n):
    if n == 1:
        return 1
    if n == 2:
        return 1
    return func3(n-1)+func3(n-2)
print(func3(6))

练习:使用递归完成以下的效果:

def print_picture(n):
    if n == 1:
        print('*')
        return
    print('*'*n)
    print_picture(n-1)
print(print_picture(5))

5.模块和包的使用

封装:

1.函数:对实现某一特定的代码段的封装
2.模块:对变量、函数、类进行封装
模块:一个py文件就是一个模块
def mutiply(*numbers):
    sum1 = 1
    for item in numbers:
    sum1 *=item
    return sum1
print(mutiply(1, 2, 3, 5, 5))
empty = []
def count(list1, item):
    """
    统计指定列表元素的个数
    :param list1:
    :param item:
    :return:
    """
    num =0
    for x in list1:
        if x == item:
            num +=1
    return num

from my_list import count
print(count[1, 1, 1, 1, 1],1)

from 模块中的内容

from math import *
print(pi)
import my_list  #导入自定义模块
import math #导入系统模块

2.重命名
import 模块 as 新名字
from 模块 import as新名字

import random as RAN
print(RAN.randint(1, 5))
from datetime import date as DateClass,datetime as TimeClass
print(DateClass.today())
print(TimeClass.now())

在一个模块中,将不希望被其他模块导入的代码写在
if__name__'main'中,希望被导入的放在if外面
建议:函数的声明、类的声明一般写在if的外面,其他的写在if里面。(想要被外部使用的全局变量也可以直接写在外面)

if __name__ =='__main__':
    print('aa')
    for x in range(10):
        print('!!x')
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,150评论 0 13
  • 拆页一 颠覆性假设是一种有意的不合理声明,能让你的思维朝不同方向发散。将上述定义与更传统的假设作出对比,后者指的是...
    海红米花妈阅读 186评论 0 0
  • 有一些女人会把希望寄托在婚姻上,希望自己的另一半有一定经济实力,但如果把自己的全部都压在对方身上,就太欠考虑了。...
    超越梦想888阅读 356评论 1 1
  • 2018.1.25 雪,星期四 今天孩子做作业比较快,质量也不错。除了完成老师布置的,还做了其它的复习卷子...
    娃娃足迹阅读 111评论 0 0
  • 十七岁那年 和班里的男生说话还会脸红; 十七岁那年 总是丢三落四; 十七岁那年 常和好友骑车十多公里上下学; 十七...
    罗裳羽衣阅读 185评论 0 2