2018-08-29 day8 学习总结

函数

1.函数的声明和调用

1.什么是函数:函数就是对实现某一特定功能的代码的封装
2.函数的分类:内置函数和自定义函数
内置函数:系统写好的,可以直接使用的函数。例如:print函数,input函数等等
自定义函数:程序员自己去创建的函数
3.函数的定义(函数的声明)
a.固定格式

def  函数名(参数列表):
           函数体

4.说明:
def:python中声明函数的关键字
函数名:标识符,不能是关键字;PEP8,见名知义(看到函数名要大概知道函数的功能)
():固定格式,并且必须写。
参数列表:参数名1,参数名2,参数名3...;参数可以有多个,也可以没有。这儿的参数也叫形参。参数是 用来从函数的外面,向函数里面传值用的(将数据从函数的外面传递到函数的里面)

函数体:实现函数功能的代码块,函数体中可能会包含return语句
5.初学者声明函数的过程:
第一步:确定函数的功能
第二步:确定函数名
第三步:确定参数(确定有没有,有几个)看喊谁呢胡的功能,需不需要从函数的外面传递数据进来,需要几个就定义几个参数
第四步:实现函数功能
第五步:确定返回值
6.注意:
(特别重要!)函数体只有在调用的时候才会执行
7.函数调用
a.固定格式
函数名(实参列表)
b.说明:
函数名:你要调用哪个函数,就写对应的函数名。函数只能先声明才能调用
实参列表:就是用来给形参传值的

# 写一个函数打印两个数的和
def my_sum(num1,num2):
    print(num1 + num2)
my_sum(1,2)
输出结果:
3

8.函数的调用过程(强调!!!必须掌握)
a.回到函数声明的位置
b.使用实参给形参赋值(传参)---传参的时候一定要保证每个形参都有值
c.执行函数体
d.将返回值返回给函数调用者
e.回到函数调用的地方,接着往后执行


2函数的参数

参数:声明函数的时候的参数列表中的参数叫形参;调用函数的时候,参数列表中的参数叫实参
传参:传参的过程就是使用实参给形参赋值的过程,一定要保证每个形参都要有值

实参
1.位置参数:传参的时候实参的位置和形参一一对应(第一个参数传给第一个形参,第二个实参传给第二个形参。。。)
2.关键字参数:函数调用的时候通过形参名‘形参名 = 实参’的形式来传参

# 1.位置参数
def fun1(a,b,c):
    print(a,b,c)
fun1(10,'acd',True)

# 2.关键字参数
fun1(b='acd',c=True,a=10)

3.参数的默认值
a.再声明函数的时候,可以参数赋默认值。(可以给所有的参数赋默认值,也可以给部分参数赋默认值)
给部分参数赋默认值的时候,要求有默认值得默认值的参数必须放到参数列表的最后
b.调用参数有默认值的函数的时候,有默认值的参数可以传参也可以不传参


# 3.1声明函数的时候每个参数都有默认值
def func2(a='abc',b=2,c=0):
    print(a,b,c)
# 所有的参数都不传参,全部使用默认值
func2()
# 给部分参数传参
func2(10)
func2(b='abc')

# 3.2 参数列表中,部分参数有默认值(有默认的必须放到后面)
def func3(a,b,c=20):
    print(a,b,c)
#没有默认值的参数必须传参,有默认值的参数可以传也可以不传
func3(1,2)

4.不定个数参数
python 通过在形参名前加*,让这个形参变成一个元组,来让这个形参可以同时接受多个实参,多个包含0

# 写一个函数,计算多个数的和
def sum2(*nums):
    # print(nums,type(nums))
    sum1 = 0
    for i in nums:
        sum1 += i
    print(sum1)
sum2(1,2,3)

# 写一个函数,统计指定班级中所有的学生的成绩
def class_info(class_name,*score):
    print(class_name,score)

class_info('python1806',78,23,45,43)

def class_info2(class_name,location,*score):
    print(class_name,location,score)
class_info2('python','地址',12,34,54,32)

5.对参数的类型进行说明
Python不能直接约束一个变量的类型,但是可以通过说明,来提示用户调用函数的时候,参数的类型


5函数的返回值

1.返回值:函数的返回值就是return关键字后面的表达式的值,就是函数调用表达式的结果
2.Python中所有的函数都有返回值,默认是None(没有return)

说明:
a.如果函数体没有return,函数的返回值就是None
b.调用函数的语句就是函数调用表达式

3.return关键字
a.确定返回值
b.结束函数(函数中只要遇到return,函数就直接结束)
c.单独的return相当于return None

注意:看一个函数的返回值是多少,不是看函数中有没有return,而是看函数的执行过程中遇没有遇到return遇到了,就是return后面的结果,否则就是None

# 练习:写一个函数,判断一个数是否是偶数,如果是返回True,否则返回False
def num(n):
    if n %2 ==0:
        return  True
    else:
        return False
print(num(4))

补充:判断一个值是否是指定的类型
isinstance(值,类型)----返回值是布尔
print(isinstance(10,int))判断10是否是int类型

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

推荐阅读更多精彩内容

  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,551评论 0 5
  • Exert 英 [ɪg'zɜːt; eg-] 美 [ɪɡ'zɝt] vt. 运用,发挥;施以影响 这是一个CET...
    philren阅读 3,304评论 1 11
  • 草原怀想 文/留云侠客 那是我到过的草原 思绪却又将我推向 熟悉的那片空旷 驾着五彩的祥云 插上轻盈的翅膀 仿佛灵...
    留云侠客阅读 202评论 0 4
  • 2017年9月30日。九月的最后一天,而我也去新门诊一个月了。这个月里发生了很多事情,是他们让我不断的成长。...
    7元阅读 215评论 0 0
  • 从无到有,从少到多,从一个一个去发掘客户,到客户主动来找,一个难忘的历程,这个感觉真棒。
    Bruceshaoshao阅读 269评论 0 0