- 序列
tuple s1 =( 1.2,3,'love')
list s2 = [ 3.2,4,'love']
s1(上限:下限:步进) 步长可以为-1 等
字符串是一种特殊的 tuple
tuple 不可变更;list中的元素可以变更 - 运算
乘方:
判断:print 2**3 // =8
还有 is , is not 等print 2 in [2,4, 5,9]
布尔变量:
True //而不能是 true 首字母大写逻辑运算符
逻辑运算:print True and False
- if 控制
是通过 4 个空格缩进控制语句的
输出的结果是 i is small than 3, 因为这是一个判断,如果成立了就不去判断下面的语句了a=1 if a<3: print 'i is small than 3' elif a==1 print 'i is 1'
注意: elif : 不同于C语言的 elseif 其次是必须有冒号 - 循环
在3.以后的版本中显示的是 range 类型,而不是list类型idx = range(0,5) // idx = range(5) print(idx) type(idx) // list
- 表示隶属关系的方式有两种
1. : 冒号
2. 缩进 - 函数
函数的声明中不需要声明返回值
函数定义的冒号不能少def square_sum(a,b): c = a**a+b**b return c
函数定义中的return 不是必须的 - 类
类中的方法,第一参数必须是 self #也不一定,也可以是sel , this, 等
具体原因,还有点不懂,大概是在解释执行时 用类的实例(对象)代替这个self
类名的首字母要大写
继承
类型属性与性质的定义:class chicken(Bird): way_of_move='walk' prossible_in_KFC=True #ckicken 会继承 Bird 类 baby = chicken() #就得到一个对象
属性是每个对象都拥有的,一般是不改变的,如果改变,任何对象的这个属性都会变化
性质是每个对象拥有的,定义方法 self.attribute 的方式定义
__init(self)__ 是两个下划线 - pyc文件是和平台无关的,可以在大部分操作系统上运行
- 可以把全局变量 全部放在一个单独的文件中,然后再 import
- 模块
模块的路径 1. 所在文件夹 2. 标准库的安装路径 3.系统的PYTHONPATH
引入模块
1. import first # first.py是一个模块
2. import * from first
3. import first as first_moudle
4. import filepath.first # filepath目录下必须有__init__.py 让python知道这是个模块的目录 - 参数传递
基本原则是,先位置,再关键字,再包裹位置,再包裹关键字
func(*arg): # 定义函数 print(arg) #包裹 func(a=1,b=2) func(a=1,b=2,c=3) #如果arg为字典,则函数应该定义为 func(**arg): # 定义函数 print(arg) #解包裹 func(a,b,c): print(a,b,c) arg = (1,2,3) func(*arg) #把arg解析为3个部分
- 循环
利用range(0,len(),?) 实现循环的控制,有利于取出list tuple中值
如果是不指名 in 之后是range()而是一个列表,for循环每次取列表中的一个元素,直到结束
enumerate() 实现下标和值的便利
zip() 实现解包和装包:
s1 = [1,2,3] s2 = [1,2,3] ziped = zip(s1,s2) #聚合列表 a,b = zip(*ziped) #分解列表
- 循环对象
生成器
生成器的写法与函数的写法相同,只是return 变为 yeild
for循环调用的时候与range()函数相同 - 生成器表达式与 表推导
生成器表达式,类型为
>>> G = (x for x in range(4)) >>> print G <generator object <genexpr> at 0x000000000254B5E8> >>> type(G) <type 'generator'>
- 表推导
说明只有判断成立的情况下,才对 (x,y) 赋值>>> x1 =[1,3,5] >>> y1 =[9,12,13] >>> L = [x**2 for (x,y) in zip(x1,y1) if y >10] >>> print L [9, 25]
表推导是 [ ] 表示的list类型;而生成器表达式是( )表示的genrator类型,只能用在for循环中- 函数对象
1. 将函数作为参数传递
2. lambda 函数
3. map() filter() 和 reduce()函数 第一个参数为 调用的函数
返回的是可以处理的 list - 错误
raise ***exception :
try 有异常 exception finally
try 没有异常 else finally
- 动态类型
勇往直前!!
要努力!!要为以后好好奋斗!!
python 学习笔记-2
最新推荐文章于 2024-01-05 14:02:32 发布