python语法知识_Python 语法小知识
对象通过引用传递的 不支持自增 自减之类的 i++ ++i 多元赋值 右边是元组 ,多元赋值可以实现不需要中间变量 交换两个变量的值 _xxx_ 系统定义的名字 _xxx 私有变量 python对象的类型和内存都是在运行时才确定的 当对象被创建时,就创建了一个引用计数 del 删除一个对象的引用 垃圾收集器手机引用计数器为0的对象 然后将该对象销毁 并释放内存 python使用对象模型来存储数据,对象都拥有三个特性:身份、类型、值。身份可以通过内建函数ID()来得到,类型可以通过type()来得到。 所有类型对象的类型都是type。 所有内建类型均支持比较运算,多个比较运算的求值顺序为从左到右。 <> 和 != 都是不等于的意思 is操作符来测试两个变量是否指向同一个对象 int()等看起来像函数,实质上是类,当你调用时他们生成该类的一个实例,所以叫工厂函数。 函数可以后定义 但必须在该函数运行时 调用的相关函数已经声明完成 在函数体内定义的函数 只能在函数体内部被调用 装饰器是在函数调用之上的修饰,以@开头,装饰器可以和函数调用一样堆叠起来 可以将函数作为参数来传递,并在函数体内调用这些函数。函数可以有默认参数,但是所有必须的参数都要在默认参数之前, *和** 支持变长参数,*是元组 表示非关键字参数 **是字典 表示关键字参数,关键字和非关键字参数都可以用在同一个函数中,只要关键字参数是最后一个参数并且非关键字元组先于它之前出现即可。 lambda关键字创造匿名函数,,lambda表达式的定义和声明必须在同一行 filter() 一个过滤函数过滤元素,返回为真的元素被保留,最后返回的对象是一个从原始队列中过滤后的队列 map() 和filter()类似,不过map返回的是所有值的列表 reduce() 函数内部的变量有局部作用域,为了防止局部变量在函数体内把全局变量的值给覆盖掉,可以在函数体内使用global关键字,指明访问的是全局变量 python语法上支持多个函数嵌套级别,可以匹配静态嵌套的作用域。 递归.. 函数包含对自身的调用 生成器是一个带有yield语句的函数,一个生成器能暂停执行并返回一个中间结果,那就是yield语句的功能,返回一个值给调用者并暂停执行,当生成器的NEXT()方法被调用的时候,他会从暂停的地方继续执行。 py2.5中还可以将值送回给生成器,并且在生成器异常时抛出异常,并要求生成器退出。 模块 sys sys.path 查看加载模块的路径 sys.modules 查看当前加载的模块都是那个路径下的 默认加载第一个碰到的模块 当访问一个属性时,先搜索局部空间-》全局空间-》内建空间 先搜索到的覆盖后面搜索到的 from...import.. 是导入模块的指定属性。import...as... 一个模块无论不导入多少次,只被加载一次,只从模块导入名字的副作用是,这些名字会成为你局部空间的一部分,可能会覆盖你已经存在的同名字对象。 reload()可以重新加载一个已经导入的模块,而这个模块必须是完全导入的,import sys.modules()包含当前导入的包的名称及位置 文件 文件对象不仅可以用来访问对象,也可以访问其他类型抽象层面上的‘文件’。内建函数open() file()都会返回一个文件对象,对该文件的后续操作都需要用到该文件对象。 open(filename,mode,buffer) filename 文件名称 mode 访问模式 buffer缓存模式 读 read() 全部,返回字符串 readline() 一行,返回字符串 readlines() 全部,返回字符串列表 写 write() writelines() 并没有writeline方法 在读文件一行 或者写文件一行时 read write 并不会删除或者添加尾部的换行符,需要你手动处理 移动 seek() 可以移动文件指针到文件中不同的位置 文件迭代器 更高效的读取文件 for eachline in fd: close() 关闭文件 print 语句默认在输出末尾加一个换行符,如果你read一行,然后用print输出,末尾则会有两个换行符,在print输出时,在末尾加上逗号,则可避免添加换行符 标准文件有三个 sys.stdin sys.stdout sys.stderr sys.argv 是命令行参数的列表 sys.argv[0] 是该文件名 没有sys.argc 用len(sys.argv)获得 错误异常 任何在try语句块里的代码都会被检测,检查是否有异常发生。 try组要有try..except和try..finally两种方式,这两种方式是互斥的,一个try语句可以对应多个except,但只能有一个finally 在一个except语句中可以处理多个异常,但这些异常需要放进一个元祖里。 捕获所有异常,使用exception模块 try也可以和else配合,在try中没有异常被检测到的时候,执行else中的代码。 finally字句则是,无论异常是否发生都会被执行的代码 try-except-else-finally with语句的目的在于从流程图中把try except finally关键字和资源分配释放相关代码统统去掉。 断言 assert,如果 字典 字典是唯一内建的映射类型。 只有对象是可以hash的才可以作为字典的键,因为字典是乱序的排序的,如果要获得有序的排列,在循环前使用内建sorted()函数处理一下字典 字典比较 1 比较大小 长度 2 比较键大小 3 比较值大小 集合 循环 与序列相关的内建函数有soreted() 排序 reversed() 反转 enumerate() 按照key和值遍历 zip() break 结束当前循环 跳转到下一句 continue 终止当前循环,忽略剩余语句,然后回到循环顶端 pass 不做任何事,只是结构需要 迭代器,他为序列类的对象提供了一个类序列的接口,python的迭代无缝的支持序列对象,而且还允许程序迭代非序列类型。你可以迭代不是序列,但表现出序列行为的对象。可以迭代序列 字典 文件 列表解析,可以用来动态的创建列表,[expr for i in if xxx] seq,duiseq中的每个元素应用expr表达式,然后产生新列表。列表解析表达式可以取代内建的map lambda表达式 生成器表达式是列表解析的一个扩展, 序列 字符串 列表 元祖 查看类的属性 dir(class) 或者 class.__dict__
python语法知识_Python 语法小知识相关推荐
- 笔记本计算机的清洁保养知识,笔记本电脑保养小知识
笔记本电脑保养小知识 想要延长笔记本电脑的使用寿命,那么就要好好保养笔记本电脑,下面小编为大家介绍关于笔记本电脑的保养小知识,欢迎大家阅读! 笔记本电脑保养小知识1 屏幕保护 长时间不使用电脑时,可透 ...
- 计算机小知识140,电脑小知识140个小技巧(7)
你做不知道的超级技巧 电脑小知识140个小技巧(7) 121.IE快捷键: Ctrl+W关闭窗口 F4打开地址拦的下拉选择网址 F6或ALT+D选择地址拦 空格键可以下翻页,Shift+空格则可以上翻 ...
- DRAM刷新refresh相关知识归类-基础小知识(三)
文章目录 一.背景小知识 1.1 DRAM的层次结构 1.2 刷新要求 1.3 DRAM存储芯片的读写时序 1.4 刷新方式分类 参考文献 RAM每一位数据都是通过芯片内的一个 小电容充电(或低电平) ...
- 二级计算机小知识,【学习小知识】--计算机二级office如何考优秀?
原标题:[学习小知识]--计算机二级office如何考优秀? 计算机二级的学习已经过半,不知道大家都学习的怎么样呢?今天小编想向大家渗透一下如何考优秀? 1 1.Word 1. 文件保存时,文件名一定 ...
- python3语法基础知识_Python语法笔记 - 基础知识
本文为博主原创文章,请遵守文章最后的版权申明. 有很多程序员在学习一门技术之前,都会有一番思想斗争.究竟要不要花时间去学?学了有什么意义?我大Java包办一切,何必要去学那些"旁门左道&qu ...
- python解码和编码的区别_python基础小知识,is和==的区别,编码和解码
1.is和==的区别 1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址 >>> s1 = "Tanxu" >>> s2 = ...
- python怎么输出变量_Python每日小知识(1):输入和输出、数据类型和变量
1.输出函数:Print() 接受多个字符串时用逗号隔开(相当于空格),就可连成一串输出. 2.输入函数: input() 可让用户输入字符串,同时存放到变量中 注意:(1)先输入score = in ...
- python输入1到7输出星期_Python每日小知识(1):输入和输出、数据类型和变量
1.输出函数:Print() 接受多个字符串时用逗号隔开(相当于空格),就可连成一串输出. 2.输入函数: input() 可让用户输入字符串,同时存放到变量中 注意:(1)先输入score = in ...
- 自学python 编程基础知识_python学习-基础知识-1
1.计算机历史 计算机使用高低电压的两种状态来描述信息.计算机可以理解的只有二进制数据即010100011....,1个比特位可以表示的状态只有2种,n个比特位可以表示的状态有2的n次方种. 所以如果 ...
最新文章
- 2018年前35名Python面试问题和答案
- 分辨5线单极性步进电机接头
- SQLServer数据库如何收缩日志空间?
- UDP穿透NAT原理解析
- vue路由的钩子函数有哪些?都做了哪些事情?
- html-简单验证、滑块、搜索框
- 华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”
- 万字长文详解如何用 Python 玩转 OpenGL | CSDN 博文精选
- 类型与通用语言运行时:System.Object
- 如何写一首悲伤的原创歌曲?
- Java面试基础知识,一次哔哩哔哩面试经历
- 声源定位之GCC-PHAT算法
- Python获取Csdn扫码登录每日一句
- RTK Query(RTKQ)
- 亚马逊云科技携手埃森哲共助行业云转型
- chrome插件- Vue Devtools not detected vue.js
- linux挂载实验箱闹钟,Linux/Ubuntu命令行下打造一个音乐闹钟
- 深度学习之视频入门经典+视频分类+视频行为识别+行为检测+视频事件识别+事件检测--附带源码和作者主页
- 我的软件项目分级理论
- ubuntu 16.04笔记本合盖不休眠