学习Python - 2
这一学期也有开Python的课但是感觉不如自己学的快,之后的内容主要还是自己研究小甲鱼的Python书,视频也作为一个辅助吧……
1.断言(assert)
这个在其他的语言里没有见到过,这个的用法大抵和if一样,就是用来判断的,但是如果返回的是 false就会让程序【自我毁灭】。
1 | assert 3 > 4 |
这个是为了发现潜在的BUG,如果这个数值错误会导致BUG,不如在这里直接把他毁灭。也就是说当要确保某个条件一定要成立的时间可以做一个断言assert。
2.for循环 以及 循环中的else
1 | for x in range(start,stop,step) |
Python的起始结束位置一般都遵守 左闭右开 的原则,也就是[start,end),这一点要特别注意,因此在遍历1-100的时间:
1 | for x in range(1,101) |
Python循环的时候可以在最后加上else
1 | sum = 0 |
这样看来实际上和不加是一样的效果。这个其实只有在有break的时间才会产生应该有的作用:
1 | for x in range(1,100) |
这样就可以在有特定情况下输出一种,如果没有特定情况就输出另一种文本;
其实就相当于少写了一段if的判断,下面就是上面的完全版,确实是省略了不少东西!
1 | bool k = false; |
3.列表
Python的变量没有数据类型,所以Python的“数组”可以同时存放不同类型的变量。
基本的函数
1 | number = [1, 2, 3] |
Python最有意思的是可以用负数位置来代表与末尾的相对距离!
※列表切片
1 | list1[start:end:step] |
切片不会修改列表自身的组成结构和数据,他其实是为列表创建了一个新的拷贝(副本)并返回。
可以通过把step 设置为-1来翻转列表
有的操作时可以直接作用于原始列表:
1 | del list1[::2] # 隔一个删一个 |
常用操作符
1 | # 合并两个列表 |
一般情况下建议使用extend()来扩展列表,这样显得比较规范和专业。
“ * ”重复操作符也可以作用于列表中!
1 | # 成员操作符 |
进一步可以用这个方式来去重
1 | old_list = [1, 1, 2, 3] |
列表函数Plus
1 | # 返回某个元素在列表中出现的次数 |
sort其实是有参数的
1 | list1.sort(func,key,reverse) |
4.元组
元组和列表大致相同,不同的是元组只可以被访问,不可以被修改。
1 | tuple1 = (1, 2, 3) # 用小括号,但是其实标识是逗号而不是小括号 |
更新/删除元组
因为元组是不可以被修改的,因此也就不能通过赋值来更新,而是覆盖!
1 | x_men = (x_men[0] + "123") + x_men[:2] # 就相当于把第二个元素换成"123" ,实际上是覆盖 |
删除当然就是用del
1 | del x_men |
但是由于Python的垃圾回收机制会在某个对象不再被使用的时候自动进行清理,所以一般不需要用。
字符串
同样是不可以修改,但依然可以切片和拼接
字符串有不少内置函数,不在这里列举,等用到的时间再去查吧,只写一点常用的
1 | str1.find() # 查找,找不到返回-1 |
格式化
format()
1 | "{0} love {1}.{c}".format("I","FishC",c = "com") |
这个可能就是调用玩家姓名然后修改文本的时候可以用。
格式化操作符: %
1 | '%c' % 97 # ASCII |
序列
列表、元组、字符串统称为序列
常用BIF(内建方法)
1 | list(可迭代对象) # 把可迭代对象转换为列表 |