python基础教程lesson8

作者: laokou 分类: 水处理 发布时间: 2017-11-03 16:48
#字典,元组,字符串,有用函数等
print("-------------第一部分--------------")
print("无返回值的函数返回值为None")
def tmp():
    pass
print(tmp())#如果是tmp,那是函数,加()是对象(返回值)
print(type(tmp))#tmp的类型是一个 函数
print(tmp)#为什么函数本身会有返回值?
print("-------------第二部分--------------")
dict1={"str1":1,"str2":2}
dict2={1:1,2:2}
print(dict1["str1"])
print(dict2[2])
print("可以看出字典不一定要字符串对应数字")
dict3={1:"one",2:"two"}
print(dict3[1])
print("可以任意切换,类似list,索引用[键]")
print(type(dict))
print(isinstance(dict3,dict))
print("和前面描述的一样,字典本身也是一个类")
print("字典的键不能是列表或者字典,即不能是可变的")
try:
    dict3={[1]:"one"}
except:
    print("上面有错")
print("-------------第三部分--------------")
print("这里有一个知识点,元组创建一个元素时后面要跟一个逗号")
list=[1,]
tuple=(1,)
list1=[1]
tuple1=(1)
print(list,tuple,list1,tuple1)
print("如上面显示,元组如果不用逗号结束,因为小括号()可能是运算式")
print("-------------第四部分--------------")
print("字典内容可以修改")
dict={1:"one",2:"two"}
dict[3]="three" #注意修改方法
print("注意修改值的方法,是一种索引,和list相似")
print(dict)#注意排序,后续学习
dict[3]="三"
print(dict)
print("-------------第五部分--------------")
print("in语法可以查找dict里的键")
print(1 in dict)
print("one" in dict)
print("只可以查找键,不能查找值")
print("通过索引的方式查找,和list相近,但注意,索引是键而不是序列了")
print("如果索引错误,则报错")
print("所以dict有一个get方法,功能一样,但如果索引错误返回None")
dict={1:'one',2:'two',3:'three'}
try:
    print(dict[5])
except:
    print("如果看到这句话,说明上面索失败引")
    print("我们用get方法,来试一下,下面会输出一个None")
    print(dict.get(5))
    print("并且如果get不到,可以指定返回值,下面为例")
    print(dict.get(5,"没有这个键"))
    print("如果找到这个键了,就返回键值,get后的参数不适用")
print("-------------第六部分--------------")
print("列表切片")
list=[1,2,3,4,5]
print(list[0:1])
print("列表切片的方式是用索引[],和字典查找键的方式相同")
print("中间通过冒号连接")
print("和range一样,包含第一个不包含第二个")
list2=[]
for i in range(0,10):
    list2.append(i)
print(list2)
print("有个小技巧,切片两个数字相减就是元素数量")
print("两次切片就可以分割一个列表")
print(list2[:4],"这是前4个")
print(list2[4:],"这是从第5个元素开始剩下的")
print("前面不加默认为0,后面不加默认为到最后")
print("注意,后面不加是到最后一个元素")
print(list2[4:9],"可以看出不是最后一个元素")
print(list2[4:10],"正常方式,切片最后一个元素实际是不存在的,才能保证完整性")
print("-------------第七部分--------------")
print("切片还可以有三个元素,分别是开始位置(包含),末尾位置(不包含),跨步")
print(list2[::2])
print("切片中可以有负数,从末尾反推")
print(list2[1:-1],"-1表示最后一个数,不包含它")
print(list2[1:9],"和这个是一样的,不用换算了")
print(list2[::-1],"从0开始,到最后一个数(包含),反着来,就是倒序了")
print("-------------第八部分--------------")
print("上面有一个for赋值给list的语句,可以调整精简")
list3=[i*2 for i in range(10)]
print(list3)
print("还可以更复杂一点,有点不好记忆")
list4=[i**2 for i in range(10) if i**2 %2==0]
print(list4)
print("-------------第九部分--------------")
print("从lesson9可以知道,str是个类,那么字符串对象是可以拥有方法的")
a="{x}{y}".format(x=5,y=6)
print(a)
print(type(a),"可以看出a是一个字符串")
print("字符串的方法由很多,简单举例一下:")
print("你好".join("我也好"))
print("你好".replace("好","很好"))
print("你好".endswith("好"))
print("hello".upper())
print("HELLO".lower())
print("one,two".split(","))#这里是形成了一个数组
#注意,既然能打印出来,方法里应该有返回值,否则应该是None
print("-------------第十部分--------------")
print("简单了解一些有用的函数")
print(min(1,2,3))
print(max(1,2,3))
print(max([1,2,3]))
print(abs(-90))
print(sum([1,2,3,4,5])) #sum函数参数需要提供列表
print("我们自己写一个sum试试")
print("-------------第十一部分--------------")
def summ(list):
    int=0
    for i in range(len(list)):
        int=int+list[i]
    return int
print(summ([1,2,3,4,5]))
print("还是蛮可以的-。-")
print("对于未知数量的参数,用*传参")
list2=[1,2,3,4,5]
if all(i>0 for i in list2):
    print("这种方式和上面相似")
print("i *** for i in ***的语法")
print("记住这些,挺好玩")