Python
Python入门:
Python 可以有效避免“悬挂else” (初学者的代码bug)
什么叫悬挂else,举例:
if (high > 2)
if(high >7)
printf("Nice!");
else
printf("ERROR");
当 else 想与最上面的 if进行匹配,由于C语言的就近原则,导致else 与最邻近的 if 相匹配。就出现了 悬挂else 的bug。
而这种现象在python就不会发生,因为Python有严格的代码规则,必须统一缩进(这点在C上没有规定)。如过按上述代码格式在python上运行就可以实现,因为最上面的 if 与 else 是同一缩进级别,因此会匹配。
三元操作符
一般式:
x,y = 4,5
if x < y:
small = x
else:
small = y
三元操作符表达:
small = x if x < y else y (x if 条件 else y)
断言(assert)
assert 当这个关键字后面的条件为假的时候,程序自动崩溃并抛出AssertionError的异常
如:
>>> assert 3 > 4
用处:可以用Ta在程序中置入一个检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作,assert关键字就非常有作用了。
for循环
语法:
for 目标 in 表达式
循环体
range()
语法:range([strat,] stop[,step=1])
· 这个BIF(内置函数)有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。
· step=1表示第三个参数的值默认值是1。
· range这个BIF的作用是生成一个start参数的值开始到stop参数的值结束的数字序列
break&&continue
break:终止当前循环,跳出循环体
continue:终止本轮循环并开始下一个循环(进行下一轮循环之前会测试循环条件,为true时再进行下一次循环,否则退出循环)
append()方法、extend()方法、insert()方法 (向列表中添加元素)
区别:
1.append() 是添加任意单个元素,可以是一个列表(只有一个元素的列表)
2.extend() 相当于列表的合并,所以extend后面也只能是列表(多个元素)
3.insert()是向列表指定位置插入元素 [所有序数都是从0开始算]
sth.insert(num,'sth')
从列表中获取元素
·通过列表的索引值(index)从列表获取单个元素,也是从0开始的。
从列表删除元素
·remove() 删除指定元素
·del 删除指定索引数的元素
·pop()方法是弹出元素,当()内无索引数时默认弹出最后一个元素
列表分片(Slice)
利用索引值,可以获得一个元素,利用列表分片,可以一次性获取多个元素。