Python学习第三天,一起加油

今天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内容太多了!得好好想想才行!!!有好的学习方法可以分享一下,大佬们!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值