美文网首页
python入门(四)函数

python入门(四)函数

作者: 淡漠不淡漠 | 来源:发表于2019-11-12 11:41 被阅读0次

函数

  • 关键字 def 后接函数名称和圆括号()
  • 传人参数必须放到圆括号中()
  • 函数第一行使用冒号:结尾
  • 函数体使用缩进分割
#!/usr/bin/python3

def getPerson():
    return 'hello word'

print(getPerson()
#输出结果:hello word

默认参数

  • 必选参数必须在前面,默认参数在后。
  • 默认参数一般为,参数值变化小的设置为默认参数。
#!/usr/bin/python3

def getPerson(name, sex, age = '18'):
    return 'name=' + name + '\nsex=' + sex + '\nage=' + age

print(getPerson('lxy', 'f')
#输出结果:
name=lxy
sex=f
age=18

参数

  • 在python,类型属于对象,变量是没有类型的
a = 'hello word'
a = [1,2,3]
  • 上面的例子中 'hello word' 是String类型,[1,2,3]是List类型 变量a是一个指针它可以是String类型也可以是List类型

可更改对象

  • List(列表)Sets(集合)Dictionaries (字典) 是可变类型
#!/usr/bin/python3
nums = [1, 2, 3]
nums[0] = 5
print(nums)
#输出结果:[5, 2, 3]
  • 变量赋值nums = [1, 2, 3] 后再赋值nums[0]=5,则是将list nums的第1个元素值更改,本身nums没有动,只是其内部的一部分值被修改了。

不可变对象

  • Numbers (数字) String (字符串) Tuple (元组) 为不可变对象
#!/usr/bin/python3
a = 'hello'
a = 'word'
print(a)
#输出结果:word
  • 这里a赋值‘hello’再赋值'word', 其实是重新生成一个String类型,然后hello被丢弃,重新指向word,相当于新生成a
#!/usr/bin/python3
def ChangeInt( a ):
    a = 10

b = 2
ChangeInt(b)
print(b)
# 输出结果2
  • 调用ChangeInt(b) 传值的时候 a 、b指向同一类型 2
  • 但a = 10 的时候就重新生成了一个新的对象

命名参数

  • 一般给函数传参数的时候,需要按照顺序传参,但是可以使用命名参数就不需要按照顺序传参数
  • 如下例子,两种输出方式是一样的
#!/usr/bin/python3
def getPerson(name, age):
    print('name=',name)
    print('age=', age)
getPerson('lxy', 11)
getPerson(age=11, name='lxy'
#输出结果
name= lxy
age= 11

不定长传参

  • 有的时候可能需要多个参数,但是又不想写多个参数来接收就可以使用不定长传参
  • 使用 *
#!/usr/bin/python3
def nums(n, *num):
    print(n,num)

nums(1,2,3,4,'aaa')

输出结果:1 (2, 3, 4, 'aaa')
  • 想获取其中一个值 可以使用下标
#!/usr/bin/python3
def nums(n, *num):
    print(n,num[0])

nums(1,2,3,4,'aaa')
#输出结果:1 2

匿名函数

  • 关键字 lambda
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
#!/usr/bin/python3

sum = lambda n1,n2: n1+n2

print(sum(1,2))
#输出结果:3

全局变量和局部变量

  • 定义在函数内部的都有一个局部作用域,定义在全局的是全局作用域
  • 局部变量只能在函数内部使用
  • 全局变量可以在全局使用
#!/usr/bin/python3
total = 10
def sum():
    print('total=', total)

sum()
#输出结果:total= 10
  • total 为全局变量可以在函数sum内部使用
#!/usr/bin/python3
def sum():
    a = 10

print(a)
#输出结果:NameError: name 'a' is not defined
  • a是在sun内部声明的,所以在函数外部调用会报错

相关文章

  • 2018-10-14

    C基础入门Python(四)——函数 一、创建函数 1、def语句创建函数 def 函数名(参数表)def hel...

  • python入门(四)函数

    函数 关键字 def 后接函数名称和圆括号() 传人参数必须放到圆括号中() 函数第一行使用冒号:结尾 函数体使用...

  • Python精简入门学习(十一)

    Python精简入门学习之内置函数(上)-内置函数 -常用函数

  • 学Python的012天

    原创:XIAO油菜花学习进度记录:《零基础入门学习Python》P21:函数:内嵌函数和闭包《Python开发入门...

  • Python入门之 Python内置函数

    Python入门之 Python内置函数 函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的...

  • python入门引导(四·函数)

    上一篇:python入门引导(三·逻辑控制) 一、概念 什么是函数,函数是一个个单一可多次使用的功能模块,这样可以...

  • #python基础入门#目录

    python基础入门_01 保留字常用函数turtle库基本数据类型time库 python基础入门_02 程序的...

  • Python 基础入门 5--面向对象

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

  • Python精简入门学习(六)

    Python精简入门学习之函数 -函数的定义: -函数入门 -针对上述代码场景 就需要进一步的去优化代码[方案:封...

  • Python精简入门学习(十)

    Python精简入门学习之递归函数-递归 -递归 -如图所示

网友评论

      本文标题:python入门(四)函数

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