函数

函数基础
函数概念
为什么用函数
什么是函数
定义函数
调用函数
返回值详解
上节回顾
文件处理
修改文件
1、读取要修改文件内容 read可能导致内存溢出
赋值给变量
修改
将修改后的内容重新写入文件
2、读取要修改的内容
with open(user.txt,encoding='utf-8')as f1
with open('temp.txt','a',encoding='utf-8')as f1
for line in f:
line=line.strip('\n)
li=line.split(':')
if li[0]=='abc'
name=li[0]
pwd='123456'
new_line=':'.join([name,pwd])+'\n'
f1.write(new_line)
else:
line=line+'\n'
f2.write(line)
import os
os.remove('user.txt')
os.rename('temp.txt','user.txt')
复制文件

从原文件读取,写入到目标文件
sys.argv
常用操作
f.flush 立即刷到硬盘(由于Windows)写入硬盘会有自动缓存的特点,不会立马显示
closed 是否关闭
encoding 获取编码
name 文件路径
模式
文本模式 T是默认的只能处理文本文件
字节模式 b使用与任何文件类型

为什么要学函数
面条版程序存在的问题
1、结构混乱
2、有冗余代码
3、后期维护性差,拓展性差
函数是什么
函数是实现某一功能代码的集合体
相当于生活中具备某个功能的工具,例如:锤子
要使用工具,必须先制造工具,才能使用
同理在程序中要先使用函数,则必须先定义函数,

如何定义函数:
定义函数的语法
def 函数的名字(参数,....参数n):
'''
文档注释
'''

代码一
代码二
代码n
return 值
def :定义的关键字
函数的名字:用来查找函数,用来查找函数和执行函数
python的命名规范
不能是数字开头
不能是关键字
只能由数字,字母 下划线组成
要见名知意,这一点很重要
用下划线链接多个单词

文档注释:
注释:是给程序员看的备注信息
文档注释:是用于描述函数的具体细节
代码块:
具体实现功能的代码,也称为函数体
return: 用于返回值给使用者

return 参数和注释都是可选的

def print_hello _world():
print('hello world')

def print_msg():
'''
打印五次hello world
文档注释可以被help函数提取
’‘’
for i in range(5):
print('hello world))
print(print_msg)
print_msg()#函数名加括号就能触发函数体的执行,称之为调用函数



文档注释:
def test():
'''
这是一个测试函数 里面啥也没有
'''

import 文档注释
print(help(文档注释))

def act():

for i in range(5):
print('hello world')

act()

三,定义函数的三种分类
'''
参数可选 那就可以将函数
分为有参函数和无参函数
无参函数:
当你的函数体执行不需要外界的数据就可以完成功能,就叫无参函数
有参函数:
当你的函数体需要外界的数据就可以完成功能,就叫无参函数
空函数:如果不包含任何的函数体就叫做空函数
def func():#在程序开发初期有用,可以用于定义出程序的结构
pass #(略过函数体)

func():调用函数是没有意义的
'''
参数是什么:
参与运算的数据
def input_user_info():
name = input('name').strip()
pwd= input('pwd').strip()
print(name,pwd)

input_user_info()


def print _msg():
for i in range(5):
print(’hello wold)
print _msg()

 

 

 

 

有参函数:
def print(count,msg)
for in range (count):
print(msg)
print_msg(5,'hello ')

比较两个数谁大:
def max(a,b):#按照顺序赋值:会把10赋值给a=10,b=20:

if a>b:
print('max is ',a)
else:
print('max is ',b)

max(10,20)

空函数:
def avg():
pass

用函数来实现登录功能

什么样的代码应该定义为函数:
这段代码多次被执行,
这段代码是一个完整的独立的代码

 

 

定义阶段和调用阶段发生了什么:
def func():
print('run func')
pass

定义阶段
1申请内存空间,将函数代码存储到内存中
2把内存地址和函数名建立绑定关系
需要强调的是:函数在定义阶段是不会执行函数体代码但是会识别语法

调用阶段:
1、通过函数命找到函数的内存地址
2、加括号触发函数体执行

 

 

函数的调用的三种写法
1,直接调用
def ():
print('func run ')直接调用
func()
2、在表达式中调用
def max(a,b):
if a>b:
return a
else:
return b
print(max(10,20)>100)
print(max(10,20)*100)
3、将函数的返回值作为参数
print(max(max(10,20),30))

函数返回值:
return: 关键字用来返回一个值
在函数定义中是可选的
什么时候该返有回值
函数是工具,是帮你完成某个功能的,要产生一个结果给使用者,例如生活中的榨汁机,执行完成后给使用者一个返回值

什么时候不需要返回值
在调用这个函数时,不需要返回任何结果给调用者

return:
1、一次性返回多个值
def func():
return1,2,3,'abc'
res=func()
print(type(res))
print(res)
对返回值进行解压
a,b,c,d=func()
print(a,b,c,d)
2、返回值为空
不写任何的return 默认返回None
return后不返回任何值
return None
3、一个函数中可以有多个return关键字
函数执行过程中只要遇到return,后续代码都不会执行,函数立马返回
我们可以利用这个特点来结束函数的执行
def func4():
print (1)
return 1
def

 

def func2():
return
def func3():
return None
def func4():


def show_info(name ,age,sex):
print('''
========info=========
name=%s
age=%s
sex=%S


========end==========


'''(name,age,sex))
show_info((name ,age,sex))

函数 必须先定义 后调用

什么是函数
函数是实现某一功能的,代码集合体
相当于生活中的工具
2、为什么要使用函数:
1、代码冗余
2、结构不清晰,可读性差
3、扩展性差
如何定义函数:
调用函数
函数的返回值

转载于:https://www.cnblogs.com/tangda/p/10249961.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值