2018年6月21日【python学习笔记】

一、认识函数

函数就是实现某一特定功能的代码块,在类中,函数又叫方法(对某一功能的封装)

  • 为什么要使用函数?

飞机的功能:左移、右移、上移、下移、发射子弹等

没有函数的时候:
问题:
1.一样的功能对应的代码,需要重复写很多次 (代码冗余)
2.如果功能发生改变的时候,需要修改很多位置的代码

怎么解决上面的问题:使用函数

  • 函数的作用:

    1.让界面简洁(同样的功能对应的代码只写一遍)
    2.如果功能发生改变,使用函数只需修改一个地方的代码
    3.让代码模块化

左移

  print('看后视镜')
  print('踩油门')
  print('打左转向灯')
  print('向左打方向盘')
  print('回正方向盘')

右移

  print('看后视镜')
  print('踩油门')
  print('打右转向灯')
  print('向右打方向盘')
  print('回正方向盘')

二、使用函数

  • 1.声明函数(定义)

    print()、input()、len()、max()等,都是python的内置函数
    append()、insert()等是相关类对应的函数
    
a.格式:

def 函数名(参数列表):
说明文字
函数体

def:是python中声明函数的关键字
函数名:标识符,PEP 8,见名知义(根据函数名大概知道函数的功能)
():固定格式,不能省略
参数列表(形参):参数的作用就是从外面往函数中传值的.
一个函数可以没有参数,也可以有多个参数。
如果有多个参数,参数之间用逗号隔开。
冒号:固定的格式
说明文字:对函数功能进行说明
函数体:就是实现函数功能的代码段

b.对于初学者来说,声明函数的步骤:

1.确定函数的功能(确定函数是干什么的)
2.确定函数名(根据功能确定函数名)
3.确定参数(确定是否有参数,确定参数有几个,看实现这个功能需不需要从外面传值进去)
4.确定是否需要返回值(返回值就是函数返回给调用者的数据。python中所有的函数都有返回值,默认是None)
5.实现函数的功能

注意:函数只有在调用的时候才会执行

  • 2.函数的调用

格式:
函数名(参数列表)

函数名:你声明的需要调用的函数(已经声明过得函数才能调用)
参数列表:实参

函数的调用过程:
1.就是用实参给形参赋值,
2.并且执行函数体获取返回值
3.获取返回值(这个时候会回到函数调用的位置,并且让函数调用表达式的值)

写一个函数,打印'hello python'
声明函数hello

  def hello():
      """打印'hello python'"""
      print('hello python')

调用函数hello

  hello()
  print(hello())
注意:
 1.一个函数声明后,可以调用多次;
 2.python中所有的函数调用表达式都有值

练习:写一个函数去打印10的阶层

  def jie_ceng():
      """打印10的阶层"""
      sum2 = 1
      for x in range(1, 11):
          sum2 *= x
      print(sum2)

  jie_ceng()

三、带参的函数

1.函数的声明

def 函数名(参数列表):
说明文字
函数体

形参:获取从外面传递给函数内部的值

2.函数的调用

函数名(实参列表)

实参:调用函数的时候给函数传值

写一个函数,打印两个数的和
形参就是声明在函数内的变量

  def my_sum(num1, num2):
      """打印num1和num2的和"""
      print(num1 + num2)

带参函数的调用

  • 1.位置参数

    my_sum(10, 20)    # 执行这句代码:先将num1 = 10, num2 = 20.再执行my_sum的函数体
    
    my_sum(30)   报错:TypeError: my_sum() missing 1 required positional argument: 'num2'
    
注意:函数调用的时候,一定要保证每个形参都要有值
2.关键字参数
  my_sum(num2=10, num1=5)

练习:写一个函数,打印一个数的立方

  def cubic(num):
      """打印一个数的立方"""
      print(num**3)

    cubic(6)
  • 2.参数的默认值

在python中,函数的参数可以设置默认值(函数声明的时候给函数赋值)。
如果参数设置了默认值,那么调用这个函数的时候,这个参数可以传参 ,也可以不参

写一个函数,问候某人(打印:xxx,how are you!)

  def say_hi(name='xxx'):
      """问候"""
      print('{},how are you!'.format(name))

函数调用的要求:保证每个参数有值

  say_hi()
  say_hi('张三')
注意:如果声明函数的时候,函数中有多个函数,有默认值的必须放在没有默认值的参数后边
  def say_hello(name='xxx', message):   #报错
        """问候"""
        print('%s, %s' % (name, message))

  def say_hello(message, name='xxx'):
        """问候"""
        print('%s, %s' % (name, message))

  say_hello('你吃了吗?', '李四')    # 李四, 你吃了吗?
  say_hello('最近好吗?')    # xxx, 最近好吗?
  say_hello(name='小花', message='I love you!')  # 小花, I love you!
  say_hello(message='我恨你!')  # xxx, 我恨你!
  • 3.参数个数不定

写一个函数,求多个数的和
参数个数不确定的时候,就在参数列表中声明一个变量,前面加一个*;
这个时候,这个变量就变成了元祖。函数调用的时候,所有的实参都会添加到元祖中

  def my_sum2(*nums):
      sum1 = 0
      for item in nums:
          sum1 += item
      print(sum1)

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

推荐阅读更多精彩内容