集合 字典 迭代器 生成器yield 类(面向对象) 文件输入/输出
#元祖 yz=(2,2,2,3) #列表 ar=[2,2,2,3] #集合定义 set1={2,2,2,3} #在python里,集合不可以使用索引 删除只能删最近一次添加的 #获取迭代器 it=iter(set1) print(next(it)) #定义字典 d1={'CN':'China','EN':'England','US':'American'} print('US-->',d1['US']) print('CN-->',d1.get('CN')) print('no fr-->',d1.get('fr','字典中没有,你是不是想要法国?')) print('fr-->',d1['fr']) KeyError:'fr' print(id(d1)) del d1['US'] d1.pop('EN') print(len(d1)) print(id(d1)) #统计控制台输入的字符串中每个字符出现的次数 s=input('请输入\n') listStr=[]
for i in s:
coun=s.count(i)
nustr=i+":"+str(coun)
if nustr not in listStr:
listStr.append(nustr)
for i in listStr:
print (i)
str1=input('请输入:\n')
tongji={}
for s in str1:
if s in tongji:
tongji[s]=tongji[s]+1
else:
tongji[s]=1
for key in sorted(tongji):
print(key,'共出现',tongji[key],'次')
#key排序 str1=input('请输入:\n') tongji={}
for s in str1: if s in tongji: tongji[s]=tongji[s]+1 else: tongji[s]=1 print(tongji.items()) it=iter(tongji) print(next()) #value排序 for key in sorted(tongji,key=lambda d:tongji[d],reverse=True):print(key,'共出现',tongji[key],'次')
----------------------面向对象----------------------- java:类途径的面向对象解决反方案,先有类才有对象,接口,注解 单继承 javascript:原型链途径的面向对象解决方案 python:类途径的面向对象解决反方案 多继承 class Person: name=None age=None def __init__(self,name,age=None): self.name=name self.age=age def say(c,str=None): print(c.name,'说:',str) class Base2: def say(self,str): print('base2 say:',str) self可以是其他字符表示,但必须是第一位 p1=Person('张三') p2=Person('李四',15) print(p1.name,' ',p1.age) print(p2.name,' ',p2.age) p1=Person() p1.name='李四' p1.sex='男' p2=Person() print(p1.name) print(p1.sex) class Student(Person): score=0 def __init__(self): self.score=100 stu=Student() print(stu.name) #Person stu=new Student() print(stu.score) ------------------------------输入输出------------------------ -------------导入文本文件-------------- name='张三' age=15 with open('E:\导入文件.txt','w') as f : print('我叫%s我今年%d岁了'%(name,age)) f.write('我叫%s我今年%d岁了'%(name,age)) a=('我叫',name,'我今年',age,'岁了') f.writelines(a) print('我叫{0}我今年{1}岁了'.format(name,age)) print('我叫{0:8}我今年{1}岁了'.format(name,age)) print('我叫{0:>8}我今年{1:8}岁了'.format(name,age)) print('我叫{0:&>8}我今年{1:8}岁了'.format(name,age)) for i in range(1,11): print(str(i**1).rjust(2),end="") print(str(i**2).rjust(5),end="") print(str(i**3).rjust(6),end="") print("") for i in range(10,0,-1): print("{0:>2d}{1:>5d}{2:>6d}".format(i,i**2,i**3)) f.write("\n{0:>2d}{1:>5d}{2:>6d}".format(i,i**2,i**3))