码迷,mamicode.com
首页 > 其他好文 > 详细

第7课 初识函数

时间:2018-11-25 14:32:00      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:它的   for   mil   pre   str   recent   cti   syntax   inpu   

一、函数

1、函数的概念:封装一段代码,实现特定功能的代码块。

2、函数的定义:def func():

  1)代码不重复

  2)修改方便

def func():
    print(step1...)
    print(step2...)

func() #函数的调用

# 输出结果
step1...
step2...

3、函数的效果类似---变量

  1)变量:一个对象的名字

  2)函数:一段代码的名字

4、函数在调用的时候才能执行函数体里面的代码

>>> def func():
      print(函数)

    
>>> func()  # 调用函数
函数
>>> type(func)  # 查看类型
<class function>

5、函数的定义一定在函数的调用之前

6、type(func)----<class ‘function‘>

7、None:函数无返回值---没有return

def func():
    print(step1...)
    print(step2...)

func()
print(func())

# 输出结果

step1...
step2...
step1...
step2...
None  # 无返回值

  加上return

def func():
    print(step1...)
    print(step2...)
    return 我是返回值
func()
print(func())

# 结果显示
step1...
step2...
step1...
step2...
我是返回值

8、def func(a, b): ----a,b为必填形参

  1)形参:形式主义,在函数定义的时候

  2)实参:实际运行,在函数调用的时候

9、在pycharm中,如果形参被使用,则显示为亮色,否则是灰色的。如下,a被调用,显示为橙色,b未被调用,显示为灰色。

技术分享图片

  函数中参数的赋值

>>> def func(a, b):
      a = 100       # 函数内部,a被赋值为100
      print(a)

    
>>> func(1, 2)   #函数调用时,a的初始值为1
100   # 所以,输出结果为100

10、func(a = 1, 2),函数的错误调用。前面是  变量 = 值  的形式,后面一定也用这样的形式。

>>> func(1, 2)
100
>>> def func(a, b):
      print(a + b)

    
>>> func(a = 1, 2)   # 这样写是错误的
SyntaxError: positional argument follows keyword argument
>>> func(a=1, b=2)   # 如果是 变量 = 值,后面要保持队形
3

 

11、return a + b----返回值,使用return返回值

>>> def func(a, b):
      return a + b

>>> sumData = func(1, 2)
>>> print(sumData)
3

 

  或者直接写成下面的形式。print(func(1, 2))等价于:

  1)func(1, 2)函数的调用

  2)print(3)

>>> def func(a, b):
      return a + b

>>> print(func(1, 2))
3

 

12、全局变量:在函数外部定义的变量

>>> name = Tom  # 全局变量
>>> def func():
      print(name)

    
>>> func()
Tom
>>> print(name)
Tom

 

13、局部变量:在函数内部定义的变量,它的生存空间只在函数内部。在函数外部不能被引用。

>>> def fun1():
      name = Lily  # 局部变量
      print(name)

    
>>> fun1()
Lily
>>> print(name)  # 在函数外部不能被引用
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    print(name)
NameError: name name is not defined

 

 14、return可以返回任意类型

>>> def fun():
      return [1, 2, 3, 4, 5, 6, 7, 8, 9]  # 返回列表

>>> fun()
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> def fun1():
      return (1, 2, 3)  # 返回元组

>>> fun1()
(1, 2, 3)

 

   1)函数一旦执行return,该函数就调用完成;函数内部的return后面的语句就没有任何意义

>>> def fun():
      print(调用return前)
      return 调用return
      print(本句不执行!)

    
>>> fun()
调用return前
调用return

 

 15、类型转换:str()、int()、float()

  1)int(a):a一定是整数值,否则会报错

>>> a = xxyy
>>> int(a)
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    int(a)
ValueError: invalid literal for int() with base 10: xxyy

 

  2)类型转换的使用举例

>>> data = input(请输入一个数值:)
请输入一个数值:3
>>> type(data)
<class str>
>>> print(data + 68)
Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    print(data + 68)
TypeError: must be str, not int
>>> print(int(data) + 68)
71
# 或者用下面的方法,直接在输入时转换成int型
>>> data = int(input(请输入一个数值:))
请输入一个数值:6
>>> type(data)
<class int>
>>> print(data + 89)
95

 

第7课 初识函数

标签:它的   for   mil   pre   str   recent   cti   syntax   inpu   

原文地址:https://www.cnblogs.com/nick1998/p/10015322.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!