学习PYthon第二天

本文介绍了Python编程中的函数调用和作用域规则,包括局部变量和全局变量的使用。通过ATM机模拟示例展示了变量在不同作用域的应用。接着详细讲解了列表、元组、字符串等数据容器的定义、操作方法及特性,如列表的插入、追加和删除,元组的不可变性,以及字符串的切片和替换功能。此外,还涵盖了序列的切片操作和集合、字典这两种无序数据容器的定义、操作及用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.嵌套调用函数:

 2.变量在函数中的作用域

        函数内部定义的变量:局部变量,在函数外不能访问

        全局变量:函数内部不可修改,通过global 关键字将变量定义为全局变量

        案例:ATM机

money = 5000
name = input("请输入您的姓名:")

def check():
    print(f"您好,您的余额剩余{money}")

def cun():
    cunMony = int(input("请输入存款金额:"))
    global money
    money += cunMony
    print(f"存款成功,当前余额为{money}")

def qu():
    quMony = int(input("请输入取款金额:"))
    global money
    if quMony > money:
        print("余额不足")
    else:
        money -= quMony
        print(f"取款成功,当前余额为{money}")

def main():
    print("--------主菜单--------")
    print(f'{name}你好,欢迎使用ATM机')
    print('查询金额   输入【1】')
    print('存款      输入【2】')
    print('取款      输入【3】')
    print('退出      输入【4】')
    return input('请输入你的选择')

while True:
    keyboard_input = main()
    if keyboard_input == "1":
        check()
        continue
    elif keyboard_input=="2":
        cun()
        continue
    elif keyboard_input=="3":
        qu()
    else:
        print("程序退出")
        break

3.数据容器list:

        (1)列表的定义:使用 [ ]         name_list = ['123','it' ,'周迅'],里面可以嵌套列表,列表中元素的类型不受限制,数据容器内的每一份数据称为元素,允许元素重复

         (2)通过下标索引取对应位置的数据。name_list[0] = 123;也可以通过反向索引取数据,比如:name_list [-1] = ‘周迅’

          (3)列表常用的操作方法:list内部可用的很多函数

                list.index(元素):查找元素下标索引

                list[下标]  = 值:修改元素值

                list.insert(插入位置,插入值):列表插入元素

                list.append(元素):列表最后追加一个元素

                list.extend(将要追加的其它列表容器):追加很多元素

                del list[下标]: 删除指定下标的元素

                list.pop(下标):取出列表中的元素,并把取出的值作为返回值返回

                list.remove(元素):遍历列表,找到指定元素进行删除

                list.clear():清空列表

                list.count() : 统计元素在列表中的数量

                count = len(list) : 统计列表中元素的总数

# while循环遍历列表
while i < len(myList):
    element = myList[i]
    print(element)
    i += 1

# for循环遍历列表
for element in myList:
    print(element)

4.数据容器元组tuple:

        (1)元组的定义:使用()        t1 = (1,'hello', True)        如果元组只有一个元素

                元组具有不可修改性

        (2)元组中的方法:

                tuple.index(传入元素):查找某个元素的下标

                tuple.count(元素):元组中某元素的个数

                len(tuple):元组的长度

        (3)元组中嵌套一个list,list中的内容可以修改

# for循环遍历元组
t1 = (123,'hhh',True,'12341')
for element in t1:
        print(f"t1中的元素有{element}")

  5.字符串str:

        (1)定义:name = 'hfncwiue',不可以修改(增加或删除元素)

         (2)方法:

                str[1] :取下标为1的字符

                str.index(字符):查找字符的下标

                str.replace(字符串1,字符串2):替换字符串中字符

                str.split(字符):按照字符进行字符串切分

                str.strip():不传入参数,去前后空格;传入字符,去除前后相同字符

6.序列:内容连续、有序、可使用下表索引的一类容器(列表、元组、字符串)

        序列常用操作:

        (1)切片表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,生成一个新的序列:

                步长为1表示一个一个的取元素

                步长为2表示,每次跳过一个元素取数据

                步长为n表示,每次跳过n-1个元素取数据

                步长为负数,反向取

my_list=[0,1,2,3,4,5,6]
# 对list切片,从1开始,4结束 步长为一(可省略不写)
new_list = my_list[1:4]
print(new_list)

my_tuple = (0,1,2,3,4,5,6)
# 对tuple进行切片,从头开始,到最后结束,步长为1 可以省略
new_tuple = my_tuple[:]
print(new_tuple)

my_str = '0123456'
# 对字符串进行切片,从头开始,到尾结束,步长为-1
new_str = my_str[::-1]
print(new_str)

7.集合:不支持元素重复,无序的,无法进行下标索引访问

       (1) 定义集合: my_set = {‘哈哈哈’,‘呜呜呜’,‘嘿嘿嘿’}                       myset = set()

        (2)集合方法:

                添加新元素:my_set.add(元素)

                移除元素:my_set.remove(元素)

                随机取出一个元素:my_set.pop() 没有参数,随机取,返回取出的元素

                清空集合:my_set.clear() 

                取出集合的差集:set1.difference(set2)

# 取出集合一中有,集合2中没有的元素
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.difference(set2)
print(set3)
# set3 = {2,3}

                消除两个集合的差集:set1.difference_update(set2)

# 消除set1和set2中相同的元素
set1 = {1,2,3}
set2 = {1,5,6}
set1.difference_update(set2)
print(set1)
# 修改了 set1 = {2,3}
# set2 不变

                合并两个集合:(去重)set1.union(set2)

# 合并两个集合,生成新的集合,原来的两个集合不会改变
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.union(set2)
print(set3)
# set3 = {1,2,3,5,6}

                统计集合元素:len(set):返回一个整数,自动去重

                集合的遍历:由于集合没有下标,不能使用while遍历,只能使用for循环遍历

8.字典

        (1)定义:使用大括号{ },存储键值对 key:value 定义空字典 dict1 = dict();不允许key重复,后面的会自动覆盖前面的value,没有下标索引,可以嵌套

        (2)基于key取value值:my_dict [key值] = 对应的value值

        (3)常用操作:

                新增/更新 元素:字典 [ key ] = value

                删除元素 : my_dict.pop(key)         返回对应的value值

                清空元素:dict.clear()

                获取全部的key:my_dict . keys() 用来做字典的遍历,不支持while循环

my_dict = {'周迅':100,'寻二':44,'哈哈':88}
keys = my_dict.keys()
for key in keys:
    print(my_dict[key])

for i in my_dict:
    print(my_dict[i])

                      字典中的元素数量:len(my_dict)          

9.五类数据容器对比:

10.通用容器转换:

        str()        tuple()        set()        dict()         list()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值