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

简介: 【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()


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

目录
相关文章
|
4月前
|
Java 编译器 C语言
python安装、输入输出、注释、中文编码、编码规范等基础语法
python安装、输入输出、注释、中文编码、编码规范等基础语法
|
4月前
|
Python
python----输入输出&&算数运算
python----输入输出&&算数运算
48 0
|
4月前
|
算法 Python
【Python基础】- 自定义函数和匿名函数
【Python基础】- 自定义函数和匿名函数
77 0
|
3月前
|
Python
刷题——Python篇(1)输入输出
刷题——Python篇(1)输入输出
|
4月前
|
Python
Python中的输入输出
【4月更文挑战第2天】,在Python编程中,`input()`函数用于获取用户输入,如`input("提示")`,并返回字符串。`print()`函数则负责输出,如`print("文本")`,默认以空格分隔多个值,结束符为换行。可以通过`sep`和`end`参数自定义分隔符和结束符。`sys.argv`和`argparse`模块用于处理命令行参数。
42 1
Python中的输入输出
|
4月前
|
存储 Python
Python自定义函数练习(持续更新中~)
Python自定义函数练习(持续更新中~)
25 0
|
4月前
|
存储 Python
「Python系列」Python输入输出
在Python中,输入和输出是程序与用户交互的基本方式。Python提供了几种内置函数来处理输入和输出操作。
42 4
|
4月前
|
Java 编译器 C语言
python基础语法——常量、变量、注释、输入输出和运算符
本文基于pycharm编译器,也可以使用Anaconda 里的编译器,将讲解一些python的一些基础语法知识。可以和我写的python数据分析——Python语言基础(语法基础)结合起来看,有些知识点可能在这篇文章写的不是很全面
48 0
|
4月前
|
Python
[Python] 如何在控制台进行输入输出
[Python] 如何在控制台进行输入输出
73 0
|
4月前
|
Java Go C++
Java每日一练(20230417) N 皇后、搜索二维矩阵、发奖金问题
Java每日一练(20230417) N 皇后、搜索二维矩阵、发奖金问题
40 0
Java每日一练(20230417) N 皇后、搜索二维矩阵、发奖金问题