2-python自动化自学

基础知识:https://www.cnblogs.com/alex3714/articles/5717620.html

一:列表:
    格式:variable=["value1","value2","value3",.....]
    查看:
        variable[#]    ---取单个
        variable[#:#]  ---取出#到#-1的value
        variable[#:-1] ---取出#到最后一个
        variable[-#:-#]---倒数显示[-2,-1],[-3,-2]...
        variable[:#]  ---0和-1是可省略的
    操作:
        variable.append("value") ---追加
        variable.insert(#,"value")---插入
        variable[#] ---改
        variable.remove("value") || del variable[#] variable.pop(#)----删除
        variable.index("value") ---获取下标
        variable.count("value")---统计value
        variable.clear()---清空variable
        variable.reverse()----反转列表
        variable.sort()---排序,特殊符号>数字>大写>小写
        variable.extend(variable1) ---将v1里面的值赋值到v
        
        variable=variable1.copy() ---复制V1到V  ***这是浅copy
        variable=variable1  ---复制,属于共享一个内存地址
            ***补充:
                列表里面在包含一个列表,在使用copy时候会出现每有办法复制内容,这与内存的地址存储方式有关
                    格式:varaible[#][#]
                使用深度COPY:
                    import copy
                    variable=copy.deepcopy(variable1)
    列表打印:
        for i in variable: ---全打印
            print(i)
        for i in variable[0:-1:2]: ---步长打印

二:元组:就是列表,只是创建之后value不可以更改
    格式:vraiable=("value","value1","value2")


三:字符串操作:
    variable.capitalize()------首字母大写
    variable.casefold()--------大写全部变小写
    variable.center(10,"-")----输出 '-------value-------'
    variable.count('value')----统计value出现次数
    variable.encode()----------将字符串编码成bytes格式
    variable.endswith("Li")----判断字符串是否以 Li结尾
    variable.expandtabs(#) ----将\t转换成#个空格
    variable.find('value')-----查找value,找到返回其索引,找不到返回-1,例如print([name.find("name"):])---展现了字符串可以切片
    variable.format(V1="value",V2="value2",.....) ----用于格式化:msg = "my name is {name}, and age is {age}"
    variable.format_map(‘V1’:’value‘,’V2‘:'value2',.....) ----用于格式化(但是用的是字典方式):msg = "my name is {name}, and age is {age}"
    variable.isalnum() --------检测字符串是否由字母和数字组成,是返回True
    variable.isalpha() --------检测纯英文字符,返回false
    variable.isdecimal() ------检查字符串是否只包含十进制字符,***注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。
    variable.isdigit() ---是否是一个整数
    variable.isidentifier() ---判断是不是一个合法的标识符(合法变量名)
    variable.islower ----------是不是一个小写
    variable.upper() ----是不是大写
    variable.isnumeric() -----是不是一个只有数字
    variable.isspace() ----是不是空格
    variable.istitle() ----检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
    variable.title() ------每一个字符串开头大写
    variable.isprintable()  ----是不是可以打印,tty,drive格式不能打印
    
    variable.join('',join['1','2','3']) ---***将参数
    variable.ljust(#,"*") ---不够#个则右补齐*
    variable.rjust(#,'-') ---不够#个则左补齐-
    variable.lower()  -------将大写变为小写
    variable.upper() --------将小写变大写
    variable.lstrip() -------将字符最前的\n和空格去掉
    variable.strip() --------将字符两边的\n和空格去掉
    variable.rstrip() -------将字符最后的\n和空格去掉
    
    variable.maketrans("V1","V2") ----将V1映射为V2,对称加密,例如 p=str.maketrans("abc","123")    
    variable.translate(str.maketrans)  ----加密,print("acdbf".translate(p))  结果: 1cd2f
    
    variable.replace("old","new",#) ---替换old为new,个数为#个
    variable.rfind('value') ---返回字符串最后一次出现的位置(从左向右查询)
     variable.split("Separator",#) -----通过指定分隔符对字符串进行切片,Separator是分隔符,#是分隔次数,类似于cut命令;
    variable.startswith("value",#,#)------用于检查字符串是否是以指定子字符串开头,#,#表示开头和结尾
    variable.swapcase() ---------------小写变大写,大写变小写
    variable.zfill(#) ---补0,

四:字典
    特性:dict是无序的,key必须是唯一的,
    格式:variable={"key":"value"}
    存在更改,不存在添加:variable["key"]="value"
    删除:
        del variable  || del variable["key"]
        variable.pop("key")
        variable.popitem() ---随机删除
    查看:
        variable["key"]  ----不安全的获取方法
        print(variable.get("key")) ---安全的获取方法
    判断:
        print("key" in variable)
    打印:
        variable.values()  ----显示所有的value
        variable.key() -----显示所有的key
        variable.setdefault("key1",{"key2":[value]}) ----先去字典里面寻找,如果取到就返回,如果取不到就创建一个新值
        variable.update() ---分并两个字典,有key就更新,没有key就创建
        variable.items() ---将一个字典转变为字符串
        variable.fromkeys("[key1,key2,...]","value") ---初始化一个新字典
                可多级嵌套:[key1,key2,...],[ {"[key1-1,key1-2,...]","value"},"value" ]
                ***注意:数据创建多层嵌套是使用同一个内存,及一份数据
    多级嵌套key:
        variable={ "key1-1":
                    { "key2-1":["value"] },
                    { "key2-2":["value"] }
            },
            {
                 "key1-2":
                    { "key2-3":["value"] }        
            }
        更改:
            variable["key1"]["key2"][#] = "value"
    字典循环:
        for i in variable:        ---高效
            print(i,varaible[i])
        
        for k,v in variable.item() --低效
            print(k,v)

项目1:
    product_list=[
        ('phone',5000),
        ('book',4000),
        ('bike',3000),
        ('watch',2000),
        ('coffee',1000)
    ]
    shopping_list = []
    salary=input("please input a number(quit):")
     #judge string or number
    if salary.isdigit():
        salary=int(salary) #change string to number
        while True:
            for i in product_list:
                    print(product_list.index(i),i)
    #enumerate(variable) == variable.index()
            user_choice = input("choose produce('quit')")
            if user_choice.isdigit():
                user_choice = int(user_choice)
                if user_choice < len(product_list) and user_choice > 0 :
                    p_item = product_list[user_choice]
                    if p_item[1] <= salary:
                        shopping_list.append(p_item)
                        salary -= p_item[1]
                        print("ADDED %s into shopping,your current balance is %s" %(p_item,salary))
                    else:
                        print("money is no enough")
                else:
                    print("goods is not exist")
            elif user_choice == "quit":
                print("----shopping list------")
                for i in shopping_list:
                    print(i)
                print("you have money is: ",salary)
                exit()
            else:
                print("wrong")


项目2:
    date1={
        "key1":{
            "key2":{
                "key3":{
                    "1":["value1-0","value2-0"],
                    "2":["value1-1","value2-1"],
                    "3":["value1-2","value2-2"]
                    }
            }
        }
    }

    while True:
        for i in date1:
        print(i)
        choose1=input("go to:")
        if choose1 in date1:
        while True:
            for i in date1[choose1]:
                print("\t",i)
            choose2=input("go to:")
            if i in date1[choose1]:
                while True:
                    for i in date1[choose1][choose2]:
                        print("\t\t",i)
                    choose3=input("go to:")
                    if choose3 in date1[choose1][choose2]:
                        while True:
                            for i in date1[choose1][choose2][choose3]:
                                print(date1[choose1][choose2][choose3][i])
                            choose5=input("input:")
                            if choose5 == "end":
                                print("exit")
                                break
                    break
            break
        break
附加:
    可以用声明来实现:
        提前声明一个变量:end_method = True
        在退出的时候改变:end_method = False
        放在循环开始处

猜你喜欢

转载自www.cnblogs.com/chenming-1998/p/11701683.html