Python的种类

    • Cpython
          Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
    • Jyhton
          Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
    • IronPython
          Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
    • PyPy(特殊)
          Python实现的Python,将Python的字节码字节码再编译成机器码。
  • RubyPython、Brython ..

 

1

sys.argv 接受传入参数

 

pyc py文件生成的字节码文件  先找pyc文件  没有在生成

 

缓冲池  万恶的+号  字符串一个+号就开一个空间存储  所有用 %s

 

字符串常用功能:
  • 移除空白 strip
  • 分割  split
  • 长度  len(obj)
  • 索引 obj[1]
  • 切片 obj[1:],obj[1:2]

 

4、列表
创建列表:
1
2
3
name_list = ['alex''seven''eric']
name_list = list(['alex''seven''eric'])

基本操作:

  • 索引  index
  • 切片 :
  • 追加 append
  • 删除 del remove pop
  • 长度 len
  • 切片  obj[1:2]
  • 循环 for while (foreach)    
  •      break continue pass return exit
  •      
  • 包含 'xx' in  ['sadxx'], __contains__ 
5、元祖
创建元祖: 元祖的元素不可以修改t= (11,22,{'kk':'dd'}) 可以修改字典元素 t[2]['kk']=2
1
2
3
ages = (1122334455)
ages = tuple((1122334455))
基本操作: 与列表同
  • 索引 
  • 切片
  • 循环
  • 长度
  • 包含
6、字典(无序)
创建字典:
1
2
3
person = {"name""mr.wu"'age'18}
person = dict({"name""mr.wu"'age'18})

常用操作:

  • 索引 键值对
  • 新增  d[key] =xx
  • 删除 del d[key]
  • 键、值、键值对 keys values items
    •   for k,v in dic.itmes      别用内置名
  • 循环
  • 长度 
PS:循环,range,continue 和 break
 
1.py  __name__ 1
2.py  __name__ 2
3.py __name__3
一个py项目应该只有一个主入口文件,进行内部调用
index.py       __name__ ='__main__'(main 代表主文件) 执行 谁 谁是 main
python index.py
 

 

 

print(type(obj)) 看类型

不是内置 显示具体位置

 print(dir(obj)) 看能用方法

Int 中的 __divmod__       总过数据95条 让一个页面显示10条  需要10页 

int.__eq__() 判断是否相等  .__abs__

__init__ 构造方法 

 

字符串

name='qwe'

name.__contain__('qw')  = True

contain 相当于 in

name.capitalize() 首字母大写

name.casefold()  首字母小写

name.center(20,'*') **********qwe*********** 

name.count('q',9,10) 计算字符串次数

name.encode() 编码

name.endwith('e',0,3)判断0-2是不是以e结尾的

name.expandtabs()  tab转换成空格

name.find('ex') 找是否有ex 没有找到返回-1

name.index('y')找是否有y 报错

 

name = "alex {0} as {1}"

result = name.format('sb',"eric")

结果  alex sb as eric

 

format 拼接  字符串替换

li=['s','v','s']

result="".join(li)

"svs"

join

ljust

rjust

lstrip

 

partition('is')按照is分割字符串 

replace('a','o',2) 把第2个a 换成o

 

spiltlines()按行分割

startwith(看开头)

title

upper

 

列表

extent 扩展列表 (可以加列表很元祖)

index

insert

pop 删除最后一个值,并返回这个值

remove 指定值

reverse 反转

sort

tu=(11,22,33,)   列表 和元祖最后都要加, +

 

字典

get 没有值不会报错  会在后面加一个设定的值get('k2','alex') 

keys values items

setdefault  设置值

update                                          

确定是更新原字典,还是形成一个新的字典   

 

习题

all_list=[11,22,33,44,55,66,77,88,99,90,]


def main(all_list):
    """
    dic={'k1':[],'k2':[]}
    for n in range(len(num)):
        del_num=num.pop()
        if del_num>66:
            big_num=dic['k1']
            big_num.append(del_num)
            dic['k1']=big_num
        else:
            small_num=dic['k2']
            small_num.append(del_num)
            dic['k2']=small_num
    print(dic)
"""
    dic={}
    for i in all_list:
        if i >66:
            if "k1" in dic.keys():
                dic['k1'].append(i)
            else:
                dic['k1']=[i,]
        elif i<=66:
            if "k2" in dic.keys():
                dic['k2'].append(i)
            else:
                dic['k2']=[i,]   # 因为我们想要 dic={"k1":[11,22,33,44]}

    print(dic)
if __name__=='__main__':
    main(all_list)

day2 作业:

 

 



def show_good(): #展示商品和价格
global shop_goods
shop_goods={'basketball': 110, 'T-shirt': 50, 'shoe': 200, 'chair': 800, 'bowl': 5, }
global shop_goods_names
shop_goods_names=list(shop_goods.keys())
for k,v in enumerate(shop_goods_names):
print(k,' : ',v,':',shop_goods[v],'$')

def cart(): #加入购物车
shop_cart=[]
while True:
good=input("输入你想买的物品的编号,退出请输入q")
if good=='q':
break
good=int(good)
shop_cart.append(shop_goods_names[good])
return shop_cart

def calculate_expense(shop_cart): #计算金额
expense = 0
for good in shop_cart:
expense+=shop_goods[good]
print('总花费%s'%expense)
return expense

def judge(money,shop_cart): #判断是否买多了
expense=calculate_expense(shop_cart)
while expense>money:
print('你的余额为%s,余额不足'% money)
for k, v in enumerate(shop_cart):
print(k,':',v,':',shop_goods[v],'$')
abandon_good=input('请去除一些商品')
expense -= shop_goods[shop_cart[int(abandon_good)]]
shop_cart.remove(shop_cart[int(abandon_good)])
expense = calculate_expense(shop_cart)
return shop_cart

def main(money):
show_good()
shop_cart=cart()
shop_cart=judge(money,shop_cart)
expense=calculate_expense(shop_cart)
money=money-expense
print('还剩%s'%money)
if __name__=="__main__":
money=1000
main(money)