Python基础语法

 布尔数中的短路法则:


 

1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。



2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。



所以Python解释器在做布尔运算时,如果提前确定计算结果,就不会往后算了,直接返回结果。

 

构造list



2)构造list很简单,按照上面的代码,直接用 [ ] 把list的所有元素都括起来,就是一个list对象。通常,我们会把list赋值给一个变量,这样,就可以通过变量来引用list:意义上是数学的有序集合


3)按照索引访问list 需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。(类比数组)

当索引数字为负数时,表示逆序读出List中的内容 L = [1, 2, 3] print L[-1]-->2 ps:不能越界 out of range


4)添加新元素 运用函数append()总是把新的元素添加到 list 的尾部 L.insert(0, 'X') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的A同学,以及后面的所有同学,向后移动一位


5)删除元素 pop()方法总是删掉list的最后一个元素,并且它返回这个元素 要把X踢出list,先定位X的位置。由于x的索引是2,因此,用 pop(2)把x删掉


6)替换元素


7)创建元组

tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 类似,但是,tuple一旦创建完毕,就不能修改了。圆括号替代方括号

正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:


8)if语句根据缩进原则,相同缩进的代码是为统一代码块


缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。


9)if-else语句

语句嵌套


10)for循环 while循环



11)字典的语法


{}表示dic ()表示list 【】表示元组tuple


dic的访问


dic特点查找速度快但占用内存大且key不能重名,list速度慢但是占用内存小


dict的第二个特点就是存储的key-value序对是没有顺序的!


dict的第三个特点是作为 key 的元素必须不可变


dictionary的更新



用for遍历dict


for key in d


有时只关心key对于value并不关心此时用到set


索引set


由于set存储的是无序集合,所以我们没法通过索引来访问


set 的特点


set的内部结构和dict很像,唯一区别是不存储valueset存储的元素也是没有顺序的


set更新用函数set.sdd()




定义函数:在Python中,定义一个函数要使用 def 语句,依次写出函数名括号、括号中的参数冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。



定义函数中的可变参数




对list进行切片(取指定元素)



倒叙切片 联系list支持倒序取值 L【-1】

切片包括list tuple dic和字符串都可以



什么是迭代?==循环操作 Iteration





注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括:

1. 有序集合:list,tuple,str和unicode;

2. 无序集合:set

3. 无序集合并且具有 key-value 对:dict

索引的迭代



for index, name in enumerate(L):

运用enumerate函数(列举 枚举)


dic的迭代方法,迭代出value


那这两个方法有何不同之处呢?

1. values() 方法实际上把一个 dict 转换成了包含 value 的list。

2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。

3. 打印 itervalues() 发现它返回一个 <dictionary-valueiterator> 对象,这说明在Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。

如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求


同时迭代出key和value的方法


items函数的使用和iteritems函数的使用


for key,vaules in d.items()

print(key,':',values)



list的生成


条件过滤:


[x * x for x in range(a, b)]

你可能感兴趣的:(Python基础语法)