1.python运算符和语句
1.1bool和简单语句
bool仅有两种类型:True和False(注意必须大写)
True = 1;False = 0
按照以往经验不同类型对象不能做运算,但布尔类型却可以和整数/浮点数进行运算
bool()返回语句的真假
当对象为空则返回False,空字典,空列表,空字符
注意这里:is和 "="的区别
两个列表虽然元素相同,但他们是两个列表内存地址不一样,is是用来检查内存地址是否一样的。
比较运算和逻辑运算(布尔运算)
常用简单的语句
1.2条件语句
例题
条件语句的三元赋值操作:
1.3for 循环
变量i依次获得字符串(也可以是列表或者字典等可迭代对象)中的元素:
注意这样操作字典的,得到的是键
例子:
程序分为两部分,第一部分随机生成100个数字,并建立一个列表
第二部分统计数字的个数:
常用于for循环的函数:range() zip() enumerate()
range()
用range创建数据集的时候,数据并没有占用内存,只有当读取的时候才占用,比方说range(0,100000000)这是一个很大的数据集,但都没有占用内存。使用到3就只有0,1,2,3四个数字占用内存
例子:从0~100中挑出能被3整除的数字:
这里就有两种思路:1,是直接构建步长为3的列表 2.通过if语句筛选出能被3整除的数字
关于zip函数的应用,直接来一个小应用
enumerate(枚举)
这里建立一个列表[1,2.4,“python”]
关于enumerate的应用:
将下面列表中的元素的偶数用”even"表示
列表解析(重要)
直接来看例子:
简洁而优雅
关于python的一个练习
1.4 while循环
while循环体内一遇到break就终止循环
while循环体内遇到continue直接回到循环体最初的判断。上面的小程序本身没什么价值,只是帮忙理解下continue的作用
按照这样执行,当a为偶数时直接回到while第一步,无法print最后的结果都是奇数。
看以下一个例子:
系统随机生成一个数字,让用户去猜:
这里有两点需要注意:
1.while True:break的使用
2.用户的输入是不可靠的,使用if语句对用户输入的可能性是一个预测,增加程序的鲁棒性(https://baike.baidu.com/item/%E9%B2%81%E6%A3%92%E6%80%A7/832302?fr=aladdin)
2.函数
2.1函数基础
看一个小例子:短短几句代码,知识点很多
1.函数的定义及调用 2.upper lower islower函数的使用 3.布尔值作为if条件
4. for循环遍历序列 5.字符串与列表的相互转化
在函数体中遇到return则跳出函数体
参数收集
当参数个数不确定,或者有很多个参数的时候需要用到参数收集
2.2嵌套函数
这里发现函数也有内存地址,在python中函数也是对象
()可以理解成调用这个对象
当函数作为对象被引用的时候就是嵌套函数:
需要注意的是嵌套函数中,作为参数的函数不能写()如上图中的func1和abs
上面的代码是在函数中调用了一个内置函数,如果调用一个定义的函数呢?
可以看到上图中第一段代码里面的函数没有被执行,因为它没有被调用。想执行,必须调用
或者使用第三段代码,将这个函数作为一个对象,返回。
全局变量与局部变量
第一段代码代码只是想引用变量a,没有报错,注意第二部分想对变量a赋值,即报错。
因为a这时还是局部变量,无法在函数体内使用
将局部变量声明为全局变量使用关键字:global
2.3装饰器
课没听明白
https://www.jianshu.com/p/ee82b941772a 留一篇文章参考下
2.4特殊函数
前面学习了内置函数,自定义函数
通常把下面这三种函数称为特殊函数