python函数

基本语法

通过关键字 def  进行定义函数。def后跟函数名,返回时使用 return 关键字:

1,函数中除了 _ 没有其他特殊字符

2,函数中可以有数字,但是数字不能放在首位。一般都是放在后面。

3,函数名可以使用英文,但是不建议使用中文。一般命名都会使用有意义的名字。

# 定义最基本的函数
def f1():
    pass
  • f1 为函数名
  • () 每个函数后面都需要有(), 固定的。
  • pass 表示函数的占位符,这个函数还没有实现逻辑,先占个位置。

在搭建框架的时候,可以先把主要函数定义出来,等后续实现,使用 pass 作为占位符。

下面来定义一个 写入文件的函数。

定义函数


def write_file():
    with open('hello.txt',mode='w',encoding='utf8') as file:
        # 写入文件, whitelines 需要 列表类型的数据
        file.writelines(["hello","world"])

将执行的代码 放在函数内部

函数定义好了以后,只是定义好了运行时不会执行。只用在调用的时候才能执行。


def write_file():
    with open('hello.txt',mode='w',encoding='utf8') as file:
        # 写入文件, whitelines 需要 列表类型的数据
        file.writelines(["hello","world"])

#调用函数
write_file()

调用函数之后,运行代码就可以看到效果。

函数参数

上面函数定义的时候每次写入文件都是写入hello.txt中,不够灵活,我们希望能够写入不同的文件

中。可以在定义函数的时候设置一个参数

指定参数

def write_file_name(name):
    """
    函数注释: 写入文件的时候提供一个文件名,指定写入的文件
    :param name: 要写入的文件名
    :return:
    """
    with open(name,mode='w',encoding='utf8') as file:
        file.write("helloworld")

# 调用函数的时候 需给函数传入一个具体值
write_file_name('fanmao.txt')
write_file_name('abc.txt')
  • write_file_name 函数名
  • (name) 函数的参数, name 表示传入的文件名, name 这里类似变量名,可以任意命名,比如也可以改为 filename 等, 需要注意,函数内部使用的时候,要跟(参数名) 要保持一致

 调用函数,传入对应的参数值。运行可以看到的执行结果。

函数也可以设置多个can'sh

def write_file_filename_content(filename,filecontent):
    """
    自定义内容写入指定文件

    :param filename: 文件名字
    :param filecontent: 文件中的内容
    :return:
    """
    with open(filename,mode='w',encoding='utf8') as file:
        file.write(filecontent)


write_file_filename_content('china.txt','hahahahaha')

根据函数的功能,可以设置多个参数。

  • 函数的注释, 可以让别人快速的了解这个函数是做什么的。这个注释可以加,也可以不加,规范的做法需要添加注释。

添加注释的好处就是再调用函数的时候,可以快速知道这个函数的功能。

鼠标移动到函数上可以看到注释。

函数参数的默认值

在定义函数的时候,可以为参数指定默认值。

# 定义函数的时候 使用默认值
def write_file_with_default_contet(filename,filecontent="helloworld"):
    """
    定义函数 带有默认值参数

    :param filename:  文件名
    :param filecontent:  文件内容
    :return:
    """
    with open(filename,mode='w',encoding='utf8') as file:
        file.write(filecontent)

# 函数定义的时候 有默认值, 调用的是不传参,运行的时候会自动使用默认值。
write_file_with_default_contet('b.txt') # 使用默认值
write_file_with_default_contet('c.txt',"hahaha")  # 不使用默认值

调用的时候,如果有默认值的参数不传值,运行的时候会使用默认值。

传值就会覆盖默认值。

默认值的注意事项:

如果一个函数中有默认值,定义函数的时候,默认值的位置要放在后面,必填值的位置放在前面。上面定义的函数,定义的时候,参数的位置必须是这样 (filename,filecontent="helloworld")

不能将有默认值的参数放在前面 (filecontent="helloworld",filename) 这是错误的。

如果定义的函数 只有一个参数,参数也有默认值,直接定义即可。

def f1(name="xiaoming"):
    print(f"hi,{name}")
#调用函数
f1()  # 使用默认值
f1("小王")

在定义的函数中 可以通过return 关键字来设置函数的返回值。比如函数中没有return ,这个函数的值默认为 None

比如下面这个函数

def f1():
    a = 1
    b = 2
    c = a+b

print(f1())

f1() 函数没有返回值。所以打印的时候为 None。

return 返回值

在函数内部通过使用 return 来返回结果。函数就有值了。


def f1():
    a = 1
    b = 2
    c = a+b
    return c

print(f1())

这个函数有 return 关键字,将c的结果return出来, 当调用f1() 函数的时候,就会返回对应的值。 c结果就可以给到f1()。

所以执行结果为 3

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值