版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_24994943/article/details/82011702
# ex18
# 定义与使用函数
def print_two(*args): # 定义格式 def 函数名(参数名)
arg1, arg2 = args
print(f"arg1: {arg1}, arg2: {arg2}")
def print_two_agagin(arg1, arg2):# 此函数方法与上个函数一致
print(f"arg1: {arg1}, arg2: {arg2}")
def print_one(arg1):
print(f"arg1: {arg1}")
def print_none():
print("I got nothing.")
print_two("Lodu","Artificis")
print_two_agagin("Lodu","Artificis")
print_one("First!")
print_none()
# ex19
# 函数的参数
def fun(arg1, arg2):
print(f"arg1 = {arg1}", end = ' ')
print("arg2 =", arg2)
# 可以直接用数字作为参数
fun(20, 30) # arg1 = 20 arg2 = 30
# 也可以用变量作为参数
v1 = 10
v2 = 50
fun(v1, v2) # arg1 = 10 arg2 = 50
# 可以在参数中做数学运算
fun(10 + 20, 5 + 6) # arg1 = 30 arg2 = 11
# 甚至可以将变量和数学运算结合在一起
fun(v1 + 100, v2 + 1000) # arg1 = 110 arg2 = 1050
v3 = "Hello "
v4 = "World."
fun(v3, v4) # arg1 = Hello arg2 = World.
fun(v1 + v2, v3 + v4) # arg1 = 60 arg2 = Hello World.
# ex20
# 函数与文件
from sys import argv
script, input_file = argv
def print_all(f):
print(f.read()) # 打印文件f中的所有内容
def rewind(f):
f.seek(0) # 找到文件f的第1个byte的位置
def print_a_line(line_count, f):
print(line_count, f.readline())
# f.readline()打印文件的一行
# f会自动保存当前文件的位置
# f.readline()会返回当前行的内容,并在该行末尾处会返回一个“\n”
current_file = open(input_file)
print("First let's print the whole file:\n")
print_all(current_file)
# 假设此处打印的文字如下
# Line1
# Line2
# Line3
print("Now let's rewind, kind of like a tape.")
rewind(current_file)
print("let's print three lines:")
current_line = 1
print_a_line(current_line, current_file) # 1 Line1
current_line = current_line + 1 # 或者可以写成 current_line += 1
print_a_line(current_line, current_file) # 2 Line2
current_line = current_line + 1
print_a_line(current_line, current_file) # 3 Line3
# ex21
# 函数的返回值
def add(a, b):
print(f"ADDING {a} + {b}")
return a + b
def subtract(a, b):
print(f"SUBTRACTING {a} - {b}")
return a - b
def multiply(a, b):
print(f"MULTIPLY {a} * {b}")
return a * b
def divide(a, b):
print(f"DIVIDE {a} / {b}")
return a / b
age = add(30, 5) # 35
height = subtract(78, 4) # 74
weight = multiply(90, 2) # 180
iq = divide(100, 2) # 50.0
print(f"Age: {age}, Height: {height}, Weight: {weight}, IQ: {iq}.")
what = add(age, subtract(height, multiply(weight, divide(iq, 2))))
print("That becomes:",what)