首页 > 技术文章 > Python

ImportantMagic 2020-02-11 17:17 原文

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)

利用索引值,可以获得一个元素,利用列表分片,可以一次性获取多个元素。

推荐阅读