函数入门
"""自定义了一个函数"""
# def print_info():
# # 函数体
# """
# 用来打印个人信息的
# :return: 返回到函数的调用处
# """
# info = '逆商很重要'
# print(info,'111111')
# return info # 不是说一定要有
#
# """怎么去使用这个函数 函数的调用 函数名()"""
#
# info = print_info()
# print(info)
# print(print_info()) # None 我并没有返回东西
"""
内置函数
print()
input()
len()
max()等等
"""
# print(len('1234567809')) # '1234567809' 函数的参数
"""用函数实现两个数进行相加"""
# num1 = int(input('请输入你的第一个数:'))
# num2 = int(input('请输入你的第二个数:'))
# def add_num(num1, num2): # 形式参数
# print(num1)
# print(num2)
# print(num1+num2)
#
#
# add_num(num1, num2) # 实际参数
"""自定义一个len函数"""
# print(len('123123'))
string_ = input('请输入一个序列:')
def my_len(strings):
count = 0
for i in strings: # 遍历
count += 1
# print(count)
return count
print(len(string_))
print(my_len(string_))
2、函数的参数
# def func(a, b, c):
# print(a)
# print(b)
# print(c)
#
#
# func(11, c=99, b=33) # 位置参数必须放在关键字参数的前面
# def add(a, b):
# c = a + b
# print(c)
#
#
# add(11, 22)
# def func(a, b, c=99):
# print(a)
# print(b)
# print(c)
#
#
# func(11, 22, 66)
# print(1, end='asdfas')
# print(2)
# print('-----------')
# func(55, 66)
# def func(a, b, c, *diy): # *args 约定俗成的变量名 此处自定义了变量名 是以元组的形式返回
# print(a)
# print(b)
# print(c)
# print(diy) # 接收多传入的位置参数,以元祖的形式保存
#
#
# func(33, 44, 55, 66, 77)
#
# func(*(33, 44, 55, 66, 77))
def func(**kwargs):
print(kwargs) # 字典类型
func(e=33, h=44, f=55, d=66, c=77) # 关键字参数
func(**{'e': 33, 'h': 44, 'f': 55, 'd': 66, 'c': 77})
3、函数的返回值
# def Sum(a, b): # 命名时不要用已经存在的函数名
# sum = a + b
# return sum
#
#
# print(Sum(1, 3))
# 定义一个函数 用于输出现在的温度 摄氏度
def sheshidu():
temp = int(input('请输入现在的温度:'))
# print(temp)
return temp
temp1 = sheshidu()
print(temp1)
# 定义一个函数 用于将现在的摄氏度转成华氏度 摄氏度转华氏度 c = (a - 32) / 1.8
def huashidu(temp1):
result = (temp1 - 32) / 1.8
print(result)
huashidu(temp1)
4、函数的多个返回值
# 函数的多个返回值
def my_test2():
a, b, c = (1, 2, 3)
# print(a,b,c)
# return a # 当函数中有多个return时,不会报错,但是只会执行第一个
# return b # 后面的代码为什么不会被执行 return返回到函数调用处了
# return c
return a, b, c # 写在一起 但返回的类型为元组
values = my_test2()
print(values) # (1, 2, 3)
a, b, c = values
print(a, b, c) # 1 2 3
print(type(values)) # <class 'tuple'>
5、练习:定义一个函数, 传入任意一个列表参数, 请在函数内容输出去重后的列表值
# 写法1
li = list(input("请输入一个列表:"))
def distinct_list(old_list):
temp_list = set(old_list)
new_list = list(temp_list)
return new_list
print(f"去重后的列表值为{distinct_list(li)}")
# 写法二
def distinct_list1(*old_li):
print(list(set(old_li)))
distinct_list1(1, 1, 2, 2, 3, 3, 3) # [1, 2, 3]
# 写法三
def distinct_list1(old_li):
new_li = list(set(old_li))
new_li.sort()
print(new_li)
li = [f'{j}' for i in range(0, 2) for j in range(0, 10)]
print(li) # ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
distinct_list1(li) # ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']