Python Day02

模块 == 库 (标准库, 第三方库)

注意:文件名不与调用库名重复

sys1.py

sys.path      #打印环境变量

sys.argv      #打印相对路径

import os

cmd_res = os.system("dir")            #执行命令,不保存结果

print("--->" , cmd_res)                     #输出0,表示执行成功

自己写的模块调用:

    ·在同一个目录下

    ·添加到环境变量

    ·添加到site-packages(在lib中)目录下

pyc里存放的是预编译后的字节码文件,会运行最近更新的文件

布尔值:

    ·真或假

    ·1 或 0

列表:

增:

    ·names.append("Ford")          #添加

    ·names.reserver()                   #反转列表

    ·names.extend(names2)         #新增列表,且原来列表存在


删:

    ·names.remove("Jack")

    ·del names[1]                         #特定位置删除

    ·del names2                           #删除列表

    ·names.pop()                         #默认删除最后一个也可以指定位置

    ·names.clear()                        #清空列表


改:

    ·names.insert(1, "kater")        #特定位置插入,直接写需要插入的位置

    ·names[2] = "Moon"               #特定位置替换 --改

    ·names.sort()                          #排序:【特殊符号>> 数字>> 大写字母>> 小写字母】--参照ASCII

    ·name2 = copy.copy(names)          #浅copy,复制第一层 

     name2 = name[:]   #同上

     name2 = list(name)   #同上

    ·name2 = copy.deepcopy(names) #深copy,完全克隆


查:--顾头不顾尾, 0位置可以省略,范围取值用“ :”

A、根据位置取名字

    ·print(names)

    ·print(names[1:3])                      #切片处理

    ·print(names[-1])                        #反向切片

    ·print(names[-2:])                       #倒数两个

    ·print(names[0: -1: 2])                #每隔两个打印

B、根据名字取位置

    ·print(names. index("Li"))            #查询“Li”的位置

    ·print(names[names.index("oliver")]) #查询“oliver”是否存在

    ·print(names.count("oliver"))         #打印所有 “oliver”个数

元祖 -- tuple

功能和列表相似,只是一旦创建,便不能再修改,又称--只读列表语法

enumerate:把列表中的下标取出来

例如:   for index, item in enumerate(product_list):

                      print(index,item)

\033[31;1m______\033[0m: 输出文字变色

32绿色

41背景红条

42背景绿条

exit()--退出

练习:

Python Day02_第1张图片



Python Day02_第2张图片

             定义两个列表,商品列表和购物车空列表,输入工资,判断是否为整数,如果不是则提示错误,是的话,就继续循环


Python Day02_第3张图片

        输出商品列表中的商品和下标,用户选择购买的商品,判断用户输入的是否为整数,错误则显示No such thing,符合要求则判断是否符合商品的的下标,判断用户工资是否能够支付,并根据判断结果输出


Python Day02_第4张图片

用户主动推出---quit,并打印已经购买的商品列表和工资,第一次判断不是整数则,显示wrong option


字符串的贼无聊操作:

name = "jams\tses {name} lal {age}"

print(name.capitalize())  #首字母大写

print(name.count("s"))  #计数

print(name.center(50, "-"))  #居中,补上--

print(name.endswith("s"))  #判断是否已s结尾,true or false

print(name.expandtabs(tabsize=10))  #将\t转化为空格

print(name.find("a"))  #切片

print(name.format(name='Liu', age='18'))  #格式化输出,常用

print(name.format_map( {'name':'Liu','age':16} ) )  #格式化输出,字典

print(name.isalnum()) #判断是否是拉丁数字和英文字符

print(name.isalpha()) #判断是否是纯英文字符

print(name.isdigit()) #判断是否是整数

print(name.isidentifier()) #判断是否是一个合法的标识符

print(name.isupper()) #判断是否是全部大写

print(name.index('s')) #判断‘s'是否存在于,并打印存在个数

print(name.title()) #判断首字母是否大写

print('+'.join(['1','2'])) #输出 1+2

print(name.ljust(30,'*'))  #右边添加

print(name.rjust(30,'$'))  #左边添加

print(name.lower()) #把大写变小写

print(name.upper()) #把小写变大写

print('\nAllowed'.lstrip()) #去除左边的空格或回车

print('Allowed\n'.rstrip()) #去除右边的空格或回车

p = str.maketrans("adcdef",'123456')#对应位置替换

print("aecdf Li".translate(p))

print('Allowed C'.replace('l','L',1)) #替换

print('Allowed C'.split()) #把字符串按照空格(默认)分成列表,也可以按照()中的输入分割,去除()内的

print('1+2+3+4'.split('+'))

print('1+2\n+3+4'.splitlines()) #\n隔开

print('Allowed'.zfill(30))


字典:字典是一种key-value 的数据模型,通过字母,符号来查找对应的内容

key(尽量不写中文))+ 内容

增:

   info["stu1101"] = "武藤兰"    #改或添加

   info.update(b)        #有的就更新,没有就创建,b为某列表

    c = dict.fromkeys([6,7,8],[1,{"name":"Allowed"},666])     #批量添加

删:

     del info["stu1101"]       #删除,python内置通用方法

     info.pop("stu1101")     #同上

改:

     c[7][1]['name'] = "Jack"    #全都修改

     c.setdefault("taiwan",{"www.baidu.com":[1,2]})      #如果key存在则不修改,不存在就添加

查:

     print(info.get('stu1105'))  #具体查找

     print('stu1103' in info)    #查找字典中是否存在

     for i in info:

           print(i, info[i])  #循环输出

三级菜单:

Python Day02_第5张图片
Python Day02_第6张图片
Python Day02_第7张图片

你可能感兴趣的:(Python Day02)