今天Python学习:函数,容器!
# 函数的简单使用
# 定义函数
# 函数先定义后使用
# def 函数名(传入参数):
# 函数体
# return 返回值
str1 = "love"
str2 = "you"
str3 = "baby's"
def my_len(data): # 定义了函数
count = 0
for _ in data:
count += 1
print(f"字符串{data}的长度是{count}")
my_len(str1)
my_len(str2)
my_len(str3)
# 使用函数的传入参数基本实例
def add(x, y): # 参数数量不受限制
result = x + y
print(f"{x}+{y}={result}") # 注意换行空和格
add(int(input("输入第一个数:")), int(input("输入第二个数"))) # 按照顺序传入参数
# 实例2
def check_tem(tem):
if tem <= 37.5:
print(f"体温{tem}正常")
else:
print(f"体温{tem}不正常")
import random
x = random.uniform(35.5, 40.0) # 产生随机小数
x = round(x, 1) # 限制小数位数
check_tem(x)
# 函数的返回值可以用一个变量接受继而输出
def add(a, b):
sum1 = a + b
print(f"{a} {b}两数相加")
return sum1 # 没有return,返回值是None
x = int(input("输入第一个数:"))
y = int(input("输入第二个数:"))
result = add(x, y)
print(f"输出:{result}")
# 函数中None的使用
def check_age(age):
if age >= 18:
return 'YES'
else:
return None
age = int(input("输入年龄:"))
result = check_age(age)
if not result: # None用于if的判断,None再if中表示False的含义if not False表示true
print(f"年龄{age}未成年")
else:
print("YES sir")
# None还可以用于变量的赋值为空
# name = None
# 定义函数时的说明文档
def add(x, y):
"""
输入多行注释回车会出现函数的注释形式
:param x:
:param y:
:return:
"""
result = x + y
print(f"{x}+{y}={result}")
return result
# 函数的嵌套调用
def fun1():
print("---2---")
def fun2():
print("---1---")
fun1() # 注意调用循序即可
print("---3---")
fun2()
# 函数的局部变量和全局变量
def test():
num = 100
print(num)
test()
# print(num) # 显示未引用,num为局部变量在函数调用完之后会被消除
# 如果想要使用,则设置为全局变量
# global 关键字的使用,可以让在函数内部定义的局部变量转换为全局变量num = 200
def test_A():
print(num) # 仍然是num = 200的全局变量
def test_B():
global num # 修改了局部变量为全局变量并修改了值
num = 500
print(num)
test_A()
test_B()
print(num) # 调用的是修改后的全局变量
# 函数案例
money = 50000000
# name = None
name = input("请输入您的名字:")
def check_balance(show):
if show:
print("-----------余额-----------")
print(f"余额为{money}¥")
def fun_BD():
print("-----------存款------------")
global money
money += int(input(print("请输入您要存入的金额:")))
print(f"{name},您好,您存款{money}¥成功!")
check_balance(False)
def fun_ATM():
print("----------取款----------")
global money
money -= int(input(print("请输入您要取款的金额:")))
print(f"{name},您好,您取款{money}¥成功!")
check_balance(False)
def fun_menu():
print("--------------主菜单-------------")
print(f"欢迎!{name}\t")
print("请输入您要办理的业务:\t")
print("1.查询余额\n2.存款\n3.取款\n4.主菜单\n5.退出")
return input("请输入你的选择:")
def break_ATM():
print("您已退出!")
while True:
keyword_in = fun_menu()
if keyword_in == "1":
check_balance(True)
continue
elif keyword_in == "2":
fun_BD()
elif keyword_in == "3":
fun_ATM()
elif keyword_in == "4":
fun_menu()
elif keyword_in == "5":
break_ATM()
break
# Python数据容器--list列表可以存储不同数据类型
my_list = ["love", "you", "Python"]
print(my_list)
my_list = ["love", 520, True]
print(my_list)
my_list = [["love", 666], ["you", 520, True]]
print(my_list)# 列表的索引[0,1,2,3,.....]&[.....-3,-2,-1]
# 嵌套列表的索引my_list = ["me", "you", "she"]
print(my_list[1]) # 超出范围的报错
print(my_list[-2])
# 嵌套
my_list = [[1, 2, 3], [4, 5, 6]]
print(my_list[1][1])
# 列表的操作--查找: 列表.index(元素)
my_list = [1, 2, 3, 4]
index = my_list.index(2)
print(f"索引值:{index}")
# 列表赋值
my_list[0] = 89
print(" 列表赋值 ", my_list)
# 列表的插入:列表.insert(下标,元素)
my_list.insert(1, 56)
print("列表插入 ", my_list)
# 列表尾部追加单个元素 列表.append(元素)
my_list.append(96)
print(" 尾部追加", my_list)
# 尾部批量追加元素:列表.extend(其他数据容器)
my_list = [1, 2, 3, 4]
my_list.extend([5, 6, 7])
print("追加后", my_list)# 列表的删除--del
my_list = [1, 2, 3, 4, 5]
del my_list[2]
print(my_list)
# 列表元素的取出--列表.pop(下标)
my_list = [1, 2, 3, 4, 5]
num = my_list.pop(2)
print(my_list, "取出的元素", num)# 删除列表中的匹配项:列表.remove(元素)
my_list = [1, 2, 3, 4, 2, 5]
my_list.remove(2) # 删除第一个匹配项即第一个2
print("删除匹配向后", my_list)
# 清空列表 :my_list.clear()
# 统计列表中的元素的数量:列表.count(元素)
my_list = [1, 2, 3, 4, 2, 5]
count = my_list.count(2)
print("统计的数量", count)# 统计列表中所有元素数量
my_list = [1, 2, 3, 4]
print(len(my_list))
# 列表上限2**63-1个
# 列表允许重复数据
# 列表的遍历--while
my_list = [1, 2, 3, 4, 5]
index = 0
while index < len(my_list):
print(f"元素:", my_list[index])
index += 1
# 列表遍历--for
my_list = [1, 2, 3, 4, 5]
for element in my_list:
print(f"元素:{element}")
# 列表实例
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
index = 0
you_list = []
num = 0
while index < len(my_list):
if my_list[index] % 2 == 0:
you_list.append(my_list[index])
num += 1
index += 1
print(f"偶数列表{you_list}共有{num}个元素")
# 元组:tuple类型
t1 = (1, "hello", True, (1, 2, "you")) # 元组可以嵌套使用
t2 = ()
t3 = tuple()
print(type(t1), t1, "\n", type(t2), t2, "\n", type(t3), t3)
# 定义单个元素时
t4 = ("hello", ) # 定义单个元素时别忘了后面的逗号
print(type(t4), t4)
# 元组的索引和列表相同t5[1][2]
# 元组可使用index和count及len,while,for循环操作和list相同
# 元组的内容不能修改但是元组中嵌套一个list可以修改
t5 = (1, 2, 3, [4, 5, 6])
t5[3][1] = 9 # 替换
print(t5)
# 字符串容器,字符串容器不可以修改
# index列表同样适用于字符串
# 字符串替换--字符串.replace(字符串1, 字符串2)
# 将字符串1的内容替换为字符串2
# 不是修改了字符串而是得到了‘新的字符串’
my_str = "i love you my baby"
new_my_str = my_str.replace("y", "520") # 注意同类型替换
print("新字符串", new_my_str) # 原来的字符串不变
# 字符串的分割--字符串.split(分隔符字符串)
# 按照指定的分隔符字符串,将字符串划分为多个字符串并存入列表中。
# 字符串本身不变,而是得到了一个列表对象
my_str = "i love you my baby"
my_str_list = my_str.split(" ")
print(f"原字符串:{my_str},新列表:{my_str_list},类型:{type(my_str_list)}")
# 字符串的规整操作
my_str = " i love you "
my_str_new = my_str.strip() # 去除字符串的前后空格
print(f"原字符串:{my_str}新字符串:{my_str_new}")
# strip传入参数时去除前后的指定字符串
my_str = "12i love you58"
my_str_new = my_str.strip("1258") # "1258"是按照单个字符依次去除的,去除的是‘前后’字符
print(f"新字符串:{my_str_new}")
# count用于统计字符串中某个字符串出现的次数:字符串.count("某个字符串")
# len同样适用用于统计字符串的长度:len(字符串)
感叹!这部分Python内容太多了!得好好想想才行!!!有好的学习方法可以分享一下,大佬们!