初识python 廖雪峰(慕课网)
3-9 Python中的布尔类型
短路计算
True和False是布尔值,就像1,2,3是整数,“abc”是字符串一样。
做这个题,需要了解以下两点:
第一,在一个语句中,当and和or同时存在时,and的优先级高于or。
第二,所谓“短路原则”,即对于a and b来说,如果a为True,则返回b,如果a为False,则直接返回False;对于a or b来说,如果a为True,则返回a,如果a为False,则返回b。
对于这个题目来说,
print a and 'a=T' or 'a=F'
此句话分拆为3步,
首先,a and 'a=T',已知a为True,则这部分返回值为'a=T',原语句相当于 print 'a=T' or 'a=F'
其次,'a=T' or 'a=F',or前后两个非空字符串,都认为是True,因此返回or前面的部分,'a=T'
最后,执行print命令。因此输出为'a=T'
4-7 Python之创建tuple
创建tuple和创建list唯一不同之处是用( )替代了[ ]。
现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。
获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素,不信可以试试
4-8 Pyhton之创建单元素tuple
所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义
5-1 Python之if语句
缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。
注意: if 语句后接表达式,然后用:表示代码块开始。
如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车:
6-3 Python中dict的特点
dict的缺点是占用内存大,还会浪费很多内容
存储的key-value序对是没有顺序的
作为 key 的元素必须不可变,key不能是list
6-6 Python中什么是set
set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。
6-9 Python之遍历set
()tuple []list {}dict ([])set
7-4 Python函数之返回多值
计算复杂函数时,2*a 不要写成 2a 。应多加括号来规定算术优先级
7-6 Python之定义默认参数
由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面(同C++)
8-2 倒序切片
L=range(1,101) L是1-100 L=range(1,101,5) 在之前加了步长
L=range(10) L是0-9
切边针对list,[起始索引:结束索引:步长] 倒数第一个元素是-1,正数第一个元素是0 字符串也能切边s[::]
9-2 索引迭代
索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。
9-3 迭代dict的value
dict对象本身就是可迭代对象,用 for 循环直接迭代 dict,可以每次拿到dict的一个key
dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,itervalues() 方法替代 values() 方法,迭代效果完全一样,优势是不占用内存空间
如果要迭代key和value,有items()方法和iteritems()方法,后者的优势也是节省内存空间
初识python 廖雪峰(慕课网)的更多相关文章
- python 廖雪峰的官方网站
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316119884678 ...
- Python廖雪峰学习笔记——操作文件和目录
查看当前目录的绝对路径: >>>os.path.abspath('.') # 在某个目录下创建一个新目录, # 首先把新目录的完整路径表示出来: >>> os.pa ...
- Python廖雪峰学习笔记——单元测试
定义:对一个模块.一个类.一个函数进行进行正确性检验的测试性工作.当我们对函数或者模块等进行修改时,单元测试就显得尤为重要. 单元测试 = 测试用例(用来测试的数据)+测试模块
- 廖雪峰官网学习js 数组
indexOf( ) 某字符的位置 slice 相当于string 的substring 切片 a = ['a','b',1,2,3] (5) ["a", "b&q ...
- 廖雪峰官网学习js 字符串
操作字符串: length() 长度 totoLowerCase() 小写 toUpperCase() 大写 trim() 移除空白 charAt( ...
- 廖雪峰官网学习js 数据类型和变量
数据类型: number 不分整数 和浮点数 字符串 用' ' " " 表示 布尔值 true false && 与运算符(都ture才ture ...
- Python自学笔记-生成器(来自廖雪峰的官网Python3)
感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 生成器 通过列 ...
- Python自学笔记-lambda函数(来自廖雪峰的官网Python3)
感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 匿名函数 通过 ...
- Python自学笔记-sorted()函数(来自廖雪峰的官网Python3)
感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 排序算法 排序 ...
随机推荐
- Kafka-JavaAPI(Producer And Consumer)
Kafka--JAVA API(Producer和Consumer) Kafka 版本2.11-0.9.0.0 producer package com.yzy.spark.kafka; import ...
- Java源码-集合-LinkedList
基于JDK1.8.0_191 介绍 LinkedList是以节点来保存数据的,不像数组在创建的时候需要申请一段连续的空间,LinkedList里的数据是可以存放在不同的空间当中,然后以内存地址作为 ...
- tcp连接建立和断开
TCP协议作为传输层主要协议之一,具有面向连接,端到端,可靠的全双工通信,面向字节流的数据传输协议. 1.TCP报文段 虽然TCP面试字节流,但TCP传输的数据单元却是报文段.TCP报文段分为TCP首 ...
- WebView 设置请求头 Header
package com.webview.demo; 2 3 import android.os.Bundle; 4 import android.support.v7.app.AppCompatAct ...
- CSP2019 Emiya 家今天的饭
Description: 有 \(n\) 中烹饪方法和 \(m\) 种食材,要求: 至少做一种菜 所有菜的烹饪方法各不相同 同种食材的菜的数量不能超过总菜数的一半 求做菜的方案数. Solution1 ...
- error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 解决方法
在VS2012中生成时出错:error C4430: missing type specifier - int assumed. Note: C++ does not support default- ...
- 「AT2021」キャンディーとN人の子供 / Children and Candies
前言 今天练习赛出了这道题,由于我太菜没有在考场上做出来. 翻了题解后,感觉题解讲的并不是十分直观,所以自己写一篇. 题目大意 太长了,不讲了. 数据范围: \(1\leq N\leq 400\) \ ...
- Python 基础之循环结构 while
一.while循环介绍 while 循环 可以提高代码的效率,减少代码的冗余 while 条件表达式: code1 code2如果条件表达式成立,返回Ture,就执行其中的代码块 1.基本 ...
- Lamda表达式学习笔记二
Lamda表达式学习笔记二 lamda表达式----方法引用 上一篇讲到Lamda体就是对函数式接口方法的实现 ,在方法体中我们可能会引用其他方法实现逻辑,所以在lamda体中我们可以直接引用器方法 ...
- 通过修改select的value值
1 <input type="button" id="btn" value="按钮"/> 2 <select name=& ...