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]
|
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__
|
1
2
3
|
ages = (11, 22, 33, 44, 55)或ages = tuple((11, 22, 33, 44, 55)) |
- 索引
- 切片
- 循环
- 长度
- 包含
|
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 别用内置名
- 循环
- 长度
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)
浙公网安备 33010602011771号