【Python自学笔记】EX18-EX21 python的函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 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)

猜你喜欢

转载自blog.csdn.net/sinat_24994943/article/details/82011702