python学习第三天
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习第三天相关的知识,希望对你有一定的参考价值。
小结:
总体上,python是解释型语言,开源比较好,速度较慢,装逼神器,解释器较常用的是CPython,安装后python进入运行环境 exit()退出
第一个hello world : print(‘Hello World‘) # 看起来的确非常高效,脚本语言的确厉害
编写方式:1 python进入命令行交互模式 2 编写.py文件 # 命令行方式会把每一步结果显示,py文件只会把应该显示的显示出来
输入:input() print() # 逗号会变为空格 输入返回的是字符串 print会自动换行
基本语法:注释# 对大小敏感 冒号和缩进表示代码块 help看帮助信息
数据类型:1 整数(0x代表十六进制) 2 浮点数(支持1.2e-5的写法) 3 字符串(一般用单引号)支持转义字符 r表示‘‘‘内部字符不转义 4 布尔值True False (and or not运算) 非空 非0都为True5 空值 None
变量:1 命名 英文、数字、下划线组成 不能数字开头(Java有$) 2 不用指定变量类型,属于动态语言 3 留意赋值时通常只是返回地址,变量其实就是对象
常量:约定是全部大写
除法:/ // %
字符串:1 ord()获取字符整数表示 chr()将编码转为字符 2 encode 编码 decode解码 3 len()计算长度 4 格式化输出 %s %d %f %x 一个变量% 多个变量% ()
list(类似动态数组):1 初始化[] 2 索引顺序从0开始,倒序从-1开始 3 属于广义数组,其中变量可以是任何类型 4 append添加元素 5 insert 插入元素 6 pop() pop(i) 删除元素 ,返回被删除的变量 7 替换采用索引加直接赋值
tuple(类似静态数组):1 初始化() 2 如果只定义一个数 必须(1,)
条件判断:1 if 记得冒号和缩进 2 elif 等效于 else if
range(N)生成一个整数序列 通过list()转为list 包含0 range(1,N)不包含0
循环:1 for x in 有点像遍历 2 while 循环
dict(哈希表):1 定义 {key:value, key:value}2 pop(key) 删除 3 增加的话直接p(key)=value就行 4 key不可变 所以list不能为key
对变量操作一般是对变量指向的对象进行操作,所以很强调可变 不可变
函数:1 help看帮助文档 2 函数是个对象,函数名只是个引用 和C语言不同 3 定义 def + 函数名+参数列表+代码块+return 3 命令行需要... 4 保存为my.py文件,需要from my.py import my_abs 5 空函数 pass 6 可以返回多个值,其实返回的是一个省略括号的tuple 7 可以设置默认参数,然后按位置传参 默认参数最好不要是可变的 8 还是不怎么清晰
切片:[0:3] [-2:] [-2:-1] [::5] [:10:2]
迭代:1 for x in 2 判断是否是可迭代对象 isinstance( , Iterable)
列表生成式:很强大
生成器:可以节省空间,不过感觉暂时用不到
迭代器:基本概念,暂时用不着
高阶函数(函数其实也是对象):1 map (f, Iterable)是一个作用序列,返回的是Iteror,需要list()将所有序列计算出来 2 reduce 类似递归,要求f必须有两个参数 3 filter 过滤序列 4 sorted 传入key函数 传入reverse函数
5 支持闭包 6 支持匿名函数 7 装饰器看起来很有用 ,暂时用不上 8 支持偏函数
模块化:1 每一个py文件就是一个模块,可以引入包来分层,但每个包下必须有__init__.py文件才会被识别为包,和Java不同 2 每次导入的其实都是模块 3 设置pythonpath
类:1 构造器 __init__(self, ) 2 实例函数用self作为参数 3 class 类名(父类) 4继承、多态 5 type()看类型 6 isinstance()看实例 7 dir()看所有属性和方法 8 还有一些特别的操作方法,感觉鸡肋 9 支持类属性 10
__ 将变量设为私有的 11 可以动态增加属性和方法 12 还有些经典的类方法,如__len__是为了能够使用len()函数
类高级:1 __slots__可以限制属性 2 @property可以把方法变为属性 3 支持多继承 4 支持枚举类 5 元类不懂
疑惑:模块弄那么多干什么 参数列表不清晰 @property不清楚 元类不懂
以上是关于python学习第三天的主要内容,如果未能解决你的问题,请参考以下文章