导航

Python学习笔记2

Posted on 2018-05-02 14:26  落落凡尘  阅读(173)  评论(0)    收藏  举报

#系统自带的模块(库)

1 import sys
2 print(sys.path)
3 print(sys.argv)
4 print(sys.argv[2])
1 import os
2 
3 cmd_res = os.system("dir") #只执行命令,不保存结果
4 cmd_res = os.popen("dir") #指向内存地址
5 cmd_res = os.popen("dir").read()
6 print("-->",cmd_res)
7 
8 os.mkdir("new_dir") #创建一个新的目录

 

#第三方模块(需要安装的库)
#先写一个登陆接口

import login #默认从当前目录找

如果既不在当前目录,也不在环境目录下就会报错。两个解决方法:1.把login.py拷贝到环境目录中site-packages下 2.加一条环境目录,在new_dir中也寻找。

 

pyc是个什么?
pyc是个介于解释器和源码之间的编译码,Python第一步先在内存中的PythonCodeObject编译,然后生成pyc文件,再进行通过解释器解释pyc文件。依靠时间先后关系来判断pyc是否是最新的代码集合。

 

Python数据类型
整型、浮点型、字符串、布尔值
Python 3里区分了字节和字符串,文本总是Unicode,由str类型表示,二进制数据(视频等)由bytes类型表示,不能互相拼接和搜索。而Python 2中不作区分。
Python 3中所有的数据传输都是二进制的形式。
encode编码,decode解码
 
1 msg = “我爱北京天安门”
2 print(msg)
3 print(msg.encode()) #print(msg.encode(encoding="utf-8"))
4 print(msg.encode(encoding="utf-8").decode(encoding="utf-8"))

 

三元运算
a,b,c = 1,3,5
d = a if a>b else c #如果a>b,则d=a,否则d=c
 
列表
 1 lists = ["A","B","C","D"]
 2 print(lists[2]) #切片,顾头不顾尾
 3 lists.append = ("E") #追加一条在列表最后
 4 lists.insert = (1,"X")#把X插到B的前面,需要插到哪个位置前面,就填几
 5 lists[1] = "Y" #把X改成Y
 6 lists.remove("Y")#删除Y
 7 del lists[1]#删除Y
 8 lists.pop(1)#删除Y,不填下标的话默认删除最后一个位置的值
 9 print(lists.index("C"))#从列表中找到C的位置,返回下标
10 print(lists.count("C"))#从列表中找出C出现的个数
11 lists.reverse()#反转列表
12 list2 = [1,2,3,4]  lists.extend(list2)#将list2扩展到list1上
13 lists.sort()#排序,按照ASCII码,先特殊符号,再数字,再字母

 

list3 = lists.copy()#完全拷贝一份lists到list3,这个copy是浅copy,只拷贝第一层列表
举例:
1 lists = ["A","B","C","D",["x","y"]]
2 list3 = lists.copy()
3 print(lists)
4 print(list3)
5 lists[4][0] = "XXX"
6 print(lists)
7 print(list3)#把第二层列表中的x改成XXX后,list3中也变成XXX,所以是只拷贝第一层列表,其实第二层列表在第一层列表中只是存了一个内存指针,虽然打印出来像是在一个列表里,所以copy是内存地址

 

如果要完全copy列表lists,而不会受到lists变动而变动,则需要深copy
import copy
list3 = copy.deepcopy(lists)

 

列表循环
for i in lists:
    print(i)
 
列表切片
print(lists[0:-1:2])
 
浅copy的三种方式
1 import copy
2 person=['name',['a',500]]
3 p1=copy.copy(person)
4 p2=person[:]#完全切片
5 p3=list(person)

 

元组tuple

只读列表,只能查,切片等,不能修改
 
购物车练习
 1 # -*- coding:utf-8 -*-
 2 # Author: Fan Chen
 3 cart = []
 4 list = [
 5     ('Iphone', 5800),
 6     ('Mac Pro', 10800),
 7     ('Bike', 800),
 8     ('Coffee', 30),
 9 ]
10 
11 salary = input("Please input your salary:")
12 if salary.isdigit():
13     salary = int(salary)
14     while True:
15         for index, item in enumerate(list):
16         # print(list.index(item),item)
17             print(index, item)
18         number = input("Please select your goods to your cart:")
19         if number.isdigit():
20             number = int(number)
21             if number < len(list) and number > -1:
22                 p_list = list[number]
23                 if p_list[1] <= salary:  # 买得起
24                     cart.append(p_list)
25                     salary -= p_list[1]
26                     print("Added \033[32;1m%s\033[0m into shopping cart, your balance is \033[31;1m%s\033[0m"%(p_list, salary))
27                 else:
28                     print("\033[41;1myou balance is %s not enough\033[0m" % salary)
29             else:
30                 print("you choose %s is not invalid", number)
31         elif number == 'q':
32             print("You are logging out...")
33             print("you have bought below:")
34             for p in cart:
35                 print(p)
36             exit()
37         else:
38             print("You press a invalid option...")