1、运算符
运算符用于执行程序的代码运算,包括1>算数运算符 2>比较运算符 3>赋值运算符 4>逻辑运算符 5>成员运算符
1> 算数运算符
2> 比较预算符
3> 赋值运算符
4> 逻辑运算符
5> 成员运算符
2、查看对象的类,或对象所具备的功能
1> 利用type功能查代码属于哪一类 例:
例:a:="asd" print(type(a)) <type 'str'> #可以看出a属于str类
2> 快速看对象内所具有的功能:
例: a ="asd" print(dir(a)) ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__',.......]
3、快速查看功能的含义及用法:
例: a ="asd" help(type(a))
4、如果给定一个功能,查类别:
鼠标放在这个功能词上,ctrl +鼠标左键,自动定位到功能所在的类
3、基本数据类型及其常用功能
一、整数(int)
例:bit_length(self): 返回表示该数字的时占用的最少位数
例: a =4 print( a.bit_length() ) 3
二、字符串(str)
1> capitalize(self): 首字母变大写
例:a="asd" print(a.capitalize()) Asd
2> center(self, width, fillchar=None): 内容居中,width:总长度;fillchar:空白处填充内容,默认无
例: a="asd" print(a.center(5,"*")) *asd*
3> count(self, sub, start=None, end=None): 计算字符串中子序列出现的个数
例: a ="asd asd asd" print(a.count("s",0,5)) #寻找a中“as出现的次数 其中0表示从a开始5表示到s结束(空格也算一位,顾前不顾后既5>范围>=0) 3
4> endswith(self, suffix, start=None, end=None): 是否以 xxx 结束 (startswith(self, prefix, start=None, end=None): 是否以xxx开始)
例: a="asd fgh sgm" print(a.endswith("gh",0,7)) True
5> expandtabs(self, tabsize=None): 将tab转换成空格,默认一个tab转换成8个空格
例: a="asd\t333" print(a.expantabs()) #其中\t等同于Tab键 asd 3333
6> find(self, sub, start=None, end=None): 寻找子序列位置,如果没找到,返回 -1
从前往后找,如果找到则返回其其位置所在的号
例: a="asd asd asd" print(a.find("d",0,5)) 2
7> format(*args, **kwargs): 字符串格式化,动态参数
例: a="hello {0},age {1}" # 其中{0}、{1}是占位符
print(a.format("lu",26)) hello lu,age 26
8> isalnum(self): 是否是字母和数字的任意组合
例: a="123asd" print(a.isalnum()) Ture
9> isalpha(self): 是否是字母(全部)
例: a="asd" print(a.isalpha()) True
10> isdigit(self): 是否全部是数字
例: a="123" print(a.isdigit()) True
11> islower(self): 是否全部是小写
例: a="asd" print(a.islower()) True
12、istitle(self): 是否是标题(首字母是否全部大写) (title(self): 变成标题)
例: a="The School" print(a.istitle()) True
13、isupper(self): 检验全部是否是大写
例: a="ASD" print(a.isupper()) True
***14、join(self, iterable): 连接 iterable是可迭代的
例: a=["lu","xiao","jun"] print("_".join(a)) lu_xiao_jun
15、ljust(self, width, fillchar=None): 内容左对齐,右侧填充 (rjust内容右对齐,左侧填充 )
例: a="asd" print(a.ljust(5,"*")) #定义新字符串长度为5,右侧填充* asd**
16、lower(self): 内容全部变小写
例: a="ASD" print(a.lower()) asd
17、lstrip(self, chars=None): 移除左侧空白 (rstrip为移除右侧空白,strip为移除两侧空白)
例: a=" asd" print(a.lstrip()) asd
18、partition(self, sep): 分割为前,中,后三部分 默认从左往右找 ( rpartition(self, sep): 分割为前,中,后三部分 从右往左找 )
例: a="luxiaojun" print(a.partition("xiao")) ('lu,''xiao','jun')
19、replace(self, old, new, count=None): 替换 (其中count为从左向右找需要替换几个)
例: a="aabbccaa" print(a.replace("aa","pp",1)) ppbbccaa
20、 split(self, sep=None, maxsplit=None): 分割 分割后分割的东西不存在
例: a="aaasdddsfff" print(split("s",1)) #默认从左分割 1是从左数第一个s ('aaa','dddsfff')
21、swapcase(self): 大写变小写,小写变大写
例: a="AsDf" print(a.swapcase()) aSdF
22、索引用来获取字符串中特定位置的字符
例: a="asd" print(s[0]) a
>>>>>>>>>>>>同常用len()来获取字符串的字符数
23、切片用于获取字符串中前几个字符
例:a="asdfg" print(s[0:2]) #2>x>=0
as
24、循环
例:a ="asd" for i in a: a s d
三、列表
1、 列表中同样适用索引、切片、循环
2、 列表内部提供的其他功能
1> append(self, p_object): 表示追加
例: a=["asd","fgh"] a. append("jkl")
print(a)
['asd','fgh','jkl']
2> count(self, value): 计算列表中子序列出现的个数
例:a =["asd","fgh","asd"] print(a.count("asd")) 3
3> extend(self, iterable): 批量添加数据
a=["asd","fgh","jkl"] a.extend("qqq") print(a) ['asd', 'fgh', 'jkl', 'q', 'q', 'q']
4> index(self, value, start=None, stop=None): 索引位置
例:a =["asd","fgh","jkl"]
print(a.index("asd"))
0
5> insert(self, index, p_object): 往某一个索引的位置插入一个值
例:a =["asd","fgh","jkl"] a.insert(1,"222") print(a)
['asd','222','fgh','jkl']
6> pop(self, index=None): 在原列表中移除掉最后一个元素,并把其赋值给新变量
例:a =["asd","fgh","jkl"] b=a.pop() print(b)
['asd','fgh']
7> remove(self, value): 移除某一元素
例:a =["asd","fgh","jkl"] b=a.remove("asd") print(a) ['fgh', 'jkl']
8> reverse(self): 反转
例: a =["asd","fgh","jkl"] b=a.reverse() print(a) ['jkl', 'fgh', 'asd']
4、元祖
特点:
1> 元祖和列表几乎一样
2> 列表是可以修改的,而元祖是不可以修改的
3> 同样适用索引、len()、切片、for循环、不支持删除
2、 列表内部提供的其他功能
1> count(self, value): 计算元素出现的个数
例:a =["asd","fgh","jkl","asd"] print(a.count("asd")) 2
2> index(self, value, start=None, stop=None): 获取指定元素的索引位置
例:a =["asd","fgh","jkl"] print(a.index("asd",0,4)) 0
5、字典(指点的每一个元素都是一个键值对)
1> clear(self): 清除全部内容
例: a={"aaa":10,"bbb":20,"ccc":30} a.clear() print(a) {}
2> 索引取值时,keys不存在则报错
例:a ={"aaa":10,"bbb":20,"ccc":30} print(a["aaa"]) 10
3> 循环
例:a ={"aaa":10,"bbb":20,"ccc":30}
for i in a:
aaa
bbb
ccc #默认输出key值
4> 获取所有的keys、values、itmes
例:a ={1:10,2:20,3:30} print(a.keys)
print(a.values)
print(a.itmes)
5> get(self, k, d=None): 据key获取值,如果keys不存在,可以指定一个默认值
例:a ={1:10,2:20,3:30} print(a.get(1)) 10
6> has_key(self, k): 是否有key
例:a ={1:10,2:20,3:30} print(a.has_key(1)) True
7> pop(self, k, d=None): 获取并在字典中移除
例:a ={1:10,2:20,3:30} b =a.pop(2) print(a) {1: 10, 3: 30}
8> update(self, E=None, **F): 更新
例:a ={1:"1",2:"2",3:"3"} b={7:"7"} print(a) {1: '1', 2: '2', 3: '3', 7: '7'}
6、enumrate(自动生成一列,默认从0开始自增1)
例:a =["电脑","鼠标","汽车"] for b,c in enumerate (a,1): print(b,c) (1,'电脑') (2,'鼠标') (3,'电脑')
7、作业
一、元素分类
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
a =[11,22,33,44,55,66,77,88,99] b ={"k1":[],"k2":[]} for i in a : if i >66: b["k1"].append(i) else: b["k2"].append(i) print (b) {'k2': [11, 22, 33, 44, 55, 66], 'k1': [77, 88, 99]}
二、查找
li = ["alec", " aric", "Alex", "Tony", "rain"] tu = ("alec", " aric", "Alex", "Tony", "rain") dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"} for i in li: b =i.strip() B=b.lower() if B.endswith("c") and B.startwith("a"): print(B) for o in tu: c=o.strip() C=c.lower() if C.endswith("c") and C.startwith("a"): print(C) for p in dic: d=dic[p].strip() D=d.lower() if D.endswith("c") and D.startwith("a"): print (D) alec aric alec aric aric
li = ["手机", "电脑", '鼠标垫', '游艇'] for i,o in enumerate(li): print(i,o) b=int(raw_input("请输入:")) print(li[b])
功能要求:
- 要求用户输入总资产,例如:2000
- 显示商品列表,让用户根据序号选择商品,加入购物车
- 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
- 附加:可充值、某商品移除购物车
1
2
3
4
5
6
|
goods = [ { "name" : "电脑" , "price" : 1999 }, { "name" : "鼠标" , "price" : 10 }, { "name" : "游艇" , "price" : 20 }, { "name" : "美女" , "price" : 998 }, ] |