def area(width,heigh):
return width*heigh
def print_wecome(name):
print('welcome',name) print('Runoob') w=4
h=6
print('width=',w,'heigh=',h,'area=',area(w,h)) def printme(str):
print(str)
return
printme('调用自己定义的函数')
printme('再次丢调用自己的函数') print('传不可变对象实例****************************************************************************************************')
def ChangeInt(a):
a = 10
b = 2
ChangeInt(b)
print(b) print('传可变对象实例****************************************************************************************************')
def Changeme(mylist):
mylist.append([1,2,3,4])
print('函数内取值:',mylist)
return
mylist = [10,20,30]
Changeme(mylist)
print('函数外取值:',mylist) print('调用函数时可使用的正式参数类型:必须参数*****************************************************************************')
def printme1(str):
print(str)
return
printme1('google') print('调用函数时可使用的正式参数类型:关键字参数******************************************************************************')
def printme2(name,age):
print('姓名:',name)
print('年龄:',age)
return
printme2(name='runoob',age=6) print('调用函数时可使用的正式参数类型:默认参数******************************************************************************')
def printme3(name,age=6):
print('姓名为:',name)
print('年龄为:',age)
return printme3(name='runoob',age=60)
print()
printme3(name='google') print('调用函数时可使用的正式参数类型:不定长参数******************************************************************************')
pass print('匿名函数******************************************************************************')
sum = lambda arg1,arg2:arg1+arg2
print('相加后的值为:',sum(20,30))
print('相加后的值为',sum(11,22)) print('return语句******************************************************************************')
def sum(agr11,arg22):
total=arg11=arg22
print('函数内;',total)
return total total = sum(33,44)
print('函数外:',total) print('变量作用域******************************************************************************')
'''
Local:局部作用域
Enclosing:必包函数外的函数中
Glogal:全局作用域
Build-in:内建作用域
'''
x = int(8) #内建作用域 g_count= 0 #全局作用域 def outer():
b_count=1 #闭包函数外作用域
def inner():
l_count=2 # 局部作用域 print('全局变化和局部变量******************************************************************************')
total2 = 88
def sum(arg01,arg02):
total2 = arg01+arg02
print('函数内是局部变量:',total2)
return total2
sum(1,2)
print('函数外是局部变量:',total2)

2018-11-29  10:07:22

print('global和nonlocal关键字******************************************************************************')
num = 1
def fun1():
global num
print(num)
num = 123
print(num)
fun1()
print(num) #以下代码运行会报错
# a = 10
# def test():
# a = a+1
# print(a)
# test() #修改后可以正确运行
a = 9
def test(a):
a = a+2
print(a)
test(a)

19-Python3 函数的更多相关文章

  1. python3函数

    一.python3函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.可以自己创建函数,这被叫做用户自定义函数. 1.定义函数规则 函 ...

  2. python015 Python3 函数

    Python3 函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可 ...

  3. 在论坛中出现的比较难的sql问题:19(row_number函数 行转列、sql语句记流水)

    原文:在论坛中出现的比较难的sql问题:19(row_number函数 行转列.sql语句记流水) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记 ...

  4. Python3函数中特殊形参的使用:*、*args、**kwargs

    Python3函数中特殊形参的使用:*.*args.**kwargs ==用法1:不定长参数== 当函数需要的参数数量不确定的时候,可以使用*args 和 **kwargs , 所有的位置参数保存在* ...

  5. 07 . Python3函数

    Python3函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print().我们可以直接调用 ...

  6. 汉诺塔python3函数编写和过程分析

    !/usr/bin/env python3 -- coding: utf-8 -- 利用递归函数计算阶乘 N! = 1 * 2 * 3 * ... * N def fact(n): if n == 1 ...

  7. Python3 函数注解

    Python3提供一种语法,用于为函数声明中的参数和返回值附加元数据.下面的例子是注解后的版本,特点在第一行: 1 def clip(text : str, max_len : 'int > 0 ...

  8. 5 Python3 函数进阶&迭代器与生成器

    1.函数进阶 1.1.名称空间 又名name space, 顾名思义就是存放名字的地方,存什么名字呢?举例说明,若变量x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的 ...

  9. Python3 函数作用域

    一 LEGB 什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 顺序是什么? 跟名字一样 ...

  10. python系列十:python3函数

    #!/usr/bin/python #-*-coding:gbk-*- '''函数的简单规则:    函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ().    任何传入参数和自变量必 ...

随机推荐

  1. day_6.22python多线程

    僵尸进程:子进程结束,父类未结束 孤儿进程:父类进程over.,子进程未结束 0号进程负责运行,1号进程负责生成,所有孤儿进程的收容所(孤儿进程:父类进程over)1号进程,永不结束! Linux: ...

  2. Thrift IDL

    Thrift类型 Thrift类型系统旨在允许程序员尽可能使用本机类型,无论使用何种编程语言.此信息基于并取代Thrift白皮书中的信息.Thrift IDL为每一种目标语言提供了用于生成代码的类型描 ...

  3. hashMap 和linkedHashMap

    hashMap是个单向链表的数组 linkedHashMap是个双向链表的数组,modal就是linkedHashMap

  4. DB2 Version 10.5 补丁下载

    DB2 Version 10.5 for Linux, UNIX, and Windows fix pack summary https://www.ibm.com/support/knowledge ...

  5. informix数据库触发器的写法

    虽然有各种数据库,但触发器的原理都是一样的,懂一种数据库的写法就可以了解其他的. 以前写过mysql数据库的触发器,这次写informix的,还顺带看了oracle的,除了语法上的不同,informi ...

  6. 一个生产可用的mysql参数文件my.cnf

    [client]#客户端选项设置#设置客户端和连接字符集default_character_set = utf8port = 3306socket = /opt/mysql-5.6.24/tmp/my ...

  7. cocoa开发Mac小试笔记

    急需纠正自己的错误认识,Mac开发和iOS开发UI显示.事件交互.生命周期等存在极大的差距 首先点击事件NSButton和UIButton完全是两个不同的东西 列表UITableView和NSTabl ...

  8. MyBatis中choose when正确写法

    <choose> <when test="scoreRange!=null and scoreRange eq 1"> AND sc.score <! ...

  9. delphi传递变量给fastreport

    delphi传递变量给fastreport   1.打开frReport报表设计.2.打开file->data dictionary加变量.这里比如加title,bm,zbr,gj,zrs3.在 ...

  10. 图->连通性->最小生成树(克鲁斯卡尔算法)

    文字描述 上一篇博客介绍了最小生成树(普里姆算法),知道了普里姆算法求最小生成树的时间复杂度为n^2, 就是说复杂度与顶点数无关,而与弧的数量没有关系: 而用克鲁斯卡尔(Kruskal)算法求最小生成 ...