【Python指南 | 第八篇】自定义函数、输入输出,这一篇就够了

在这一篇文章中,将介绍自定义函数、输入输出的相关知识。

在这里插入图片描述

函数

在使用Python做项目时,函数是必不可少的。Python提供了许多内建函数如print(),但我们也可以自己创建函数,这称为用户自定义函数。

函数的定义格式:

def 函数名(参数列表):
    函数体

注意事项如下:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()

  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

  • 函数内容以冒号 : 起始,并且缩进。

  • return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。

在定义完一个函数后,即可通过传参等方式进行函数的调用(有些函数的调用是不需要参数的)

举个例子:

# 计算面积函数
def area(width, height):
    return width * height
 
def print1(name):
    print(name)
 
print_welcome("ice")
w = 5;h = 5
print(area(w, h))

在这里插入图片描述

匿名函数相关知识点本文不再详述

输入与输出

有些情况下,我们需要通过键盘传入值来调试代码,这涉及到内置函数的使用。

我们常使用input()内置函数来传值:

str = input();
print(str)

在这里插入图片描述

有些情况下,写脚本的时候,需要读、写文件,这也涉及到内置函数的使用。

open()

open() 将会返回一个 file 对象,基本语法格式如下:

open(filename, mode)
  • filename:包含了你要访问的文件名称。
  • mode:决定了打开文件的模式:只读,写入,追加等。这个参数是非强制的,默认文件访问模式为只读®。

mode模式及描述如下表:

mode 模式描述
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

下面介绍几个常见的读写函数。

f.read()

调用 f.read(size) 可以读取一定数目的数据,然后作为字符串或字节对象返回。

size 是一个可选的数字类型的参数。 当 size 被忽略了或者为负,那么该文件的所有内容都将被读取并且返回。

举例:设1.txt中内容如下

我
你
他

py代码如下:

 # 打开一个文件
 f = open("/abc/1.txt", "r")

 str = f.read()
 print(str)

 # 关闭打开的文件
 f.close()

输出如图:

在这里插入图片描述

f.readline()

f.readline() 会从文件中读取单独的一行。f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。

# 打开一个文件
f = open("/abc/1.txt", "r")
 
str = f.readline()
print(str)
 
# 关闭打开的文件
f.close()

执行以上程序,输出结果为:

在这里插入图片描述

f.readlines()

f.readlines() 将返回该文件中包含的所有行。

# 打开一个文件
f = open("/abc/1.txt", "r")
 
str = f.readlines()
print(str)
 
# 关闭打开的文件
f.close()

执行以上程序,输出结果为:

在这里插入图片描述
另一种方式是迭代一个文件对象然后读取每行:

# 打开一个文件
f = open("/tmp/foo.txt", "r")
 
for line in f:
   print(line, end='')
 
# 关闭打开的文件
f.close()

执行以上程序,输出结果为:

在这里插入图片描述
这个方法很简单,但是并没有提供一个很好的控制。 因为两者的处理机制不同,最好不要混用。

f.write()

f.write(string) 将 string 写入到文件中,然后返回写入的字符数。(换行符等算1个字符)

# 打开一个文件
f = open("1.txt", "w")

num = f.write( "花应怎么吹\nPython" )
print(num)
# 关闭打开的文件
f.close()

执行以上程序,输出结果为:

12

在这里插入图片描述
如果要写入一些非字符串结构如元组等, 则需转换为字符串再写入:

# 打开一个文件
f = open("1.txt", "w")

value = ('ice',1)
s = str(value)
f.write(s)

# 关闭打开的文件
f.close()

在这里插入图片描述


本文到此结束,在下一篇文章中将介绍错误与异常相关知识点。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏,祝你平安喜乐。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值