python基础学习总结day04

1.函数的关键字

方法与函数的区别:函数可以直接调用,而方法必须通过类调用。

关键字def标识着函数
return标识为返回值

def 函数名(参数):
	代码
	return

2.函数的定义

  1. 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  2. 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  3. 函数内容以冒号起始,并且缩进。
  4. return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

3.函数参数与作用域

参数:

  1. 必须参数
  2. 关键字参数
  3. 默认参数
  4. 可变参数
  5. 组合参数

(必须参数):

#! /usr/bin/python3
#-*-coding utf-8 -*-
def test(a,b):
	return a + b
test(1,2)	

(关键字参数):函数调用使用关键字参数确定传入的参数值

#!/usr/bin/python3
#-*-coding utf-8 -*-
def prsoninfo(age,name):
	print('年龄:',age)
	print('姓名:',name)
	return
personinfo(name='xiaoming',age=18)	

(默认参数):默认参数一定要在非默认参数的后面。

#! /usr/bin/python3
#-*-coding utf-8 -*-
def test(a,b,c=100,d=200)
	return a+b+c+d
test(1,2)
test(1,2,3)
test(1,2,d=4)

(可变参数):如果需要一个参数能够处理的参数声明时更多,将其封装成一个tuple,这些参数叫做可变参数。常用* args代表。

#! /usr/bin/python3
#-*-coding utf-8 -*-
def personinfo(*args):
	for var in args:
		print('我是不定长参数:',var) 

(组合参数):可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而组合参数允许你传入0个或任意个含参数名的参数,这些组合参数在函数内部自动组装为一个字典dict。常用**kwargs。

#!/usr/bin/python3
# -*- coding:utf-8 -*-
def personinfo(**kwargs):
	print('args:',kwargs)
personinfo(name='zhangsan',age=19,address='china')
>>>('args:', {'age': 19, 'name': 'zhangsan', 'address': 'china'})

作用域:

局部变量:只在函数或者方法内才有效,其他地方无法调用。
全局变量:在整个python文件中有效,所有的py文件内的函数或者方法都可以调用。使用关键字global进行声明。

#! /usr/bin/python3
# -*- coding:uft-8 -*-
num = 100
def func():
	global num
	num

如果要修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字来声明。

num1 = 5 

def outter():
	num1 = 4 
	def inner(): 
		nonlocal num1 
		num1 = 3 inner() 
	print(num1) # 3 
	
outter() 
print(num1) # 5

如果全局变量与函数中的局部变量同名,在函数使用时使用的是函数中的局部变量。
在函数中不使用global声明全局变量时不能修改全局变量,其本质上是不能修改全局变量的指向,即不能将全局变量指向新的数据。
对于不可变类型的全局变量来说,因其指向的数据不能修改,所以不使用global时无法修改全局变量。
对于可变类型的全局变量来说,因其指向的数据可以修改,所以不使用global时也可修改全局变量。

4.函数的返回值

  1. 函数需要先定义后调用,函数体中 return 语句的结果就是返回值。如果一个函数没有 reutrn 语句,其实它有一个隐含的 return 语句,返回值是 None,类型也是 ‘NoneType’。
  2. return 语句的作用: 结束函数调用、返回值
  3. return 语句位置与多条 return 语句
    python 函数使用 return 语句返回 "返回值",可以将其赋给其它变量作其它的用处
    所有函数都有返回值,如果没有 return 语句,会隐式地调用 return None 作为返回值
    一个函数可以存在多条 return 语句,但只有一条可以被执行,如果没有一条 reutrn 语句被执行,同样会隐式调用 return None 作为返回值
    如果有必要,可以显式调用 return None 明确返回一个None(空值对象)作为返回值,可以简写为 return,不过 python 中懒惰即美德,所以一般能不写就不写
    如果函数执行了 return 语句,函数会立刻返回,结束调用,return 之后的其它语句都不会被执行了

4.python函数返回返回多个值。

    def demand_1_sta(self):
        """demand_1_sta"""
        id_path = os.path.join(self.out_path, 'mb_inditity_mask')
        out_path = os.path.join(self.out_path, 'demand_1')

        hql = DEMAND_ONE_HQL.format(id_path=id_path, out_path=out_path)
        rc = common.qe_excute(self.qe, hql)
        logging.info('demand 1 statistics done rc:{}.'.format(rc))
        
        return rc, out_path
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值