python初步要点
【python初步要点】
#! 用于告诉操作系统去哪里找Python解释器为运行您的程序。
1、print 的输出有以下2种形式,""%()的形式类似于C的printf。

要注意逗号“,”在输出的时候意味着是一个空格。
python3后,print关键字变成了print()函数。
2、raw_input('str')可以用于从命令行接受输入。
python3后,raw_input变成了input()方法。
3、[:]
4、元组()是不可变的list。
5、代码块以“:”结尾,函数、类定义以“:”结尾,缩进对齐,称为代码组。
6、文件以open(filename, access_mode)和close()成员方法来操作。
7、python的解释器是C写的,so很多地方和C一样。譬如合法的变量名。
8、函数、类定义接近着的一行可以为字符串,可以通过__doc__访问。
9、对象的__class__指向类对象,__name__为本对象的名字,所以__class__ __name__可以判断对象是哪个类。

10、导入模块有有2种为import 和 import * from *。
11、注释符为“#”,续行和C一样,为"\"。
12、多元赋值: x,y,z = 1,2,'a string',则x=1,y=2,z='a string'。
13、内存管理为引用计数:
1)变量无须事先声明;2)变量无须指定类型;3)程序员不用关心内存管理;4)变量名会被“回收”;5)del语句能够直接释放资源。
14、各有各的好处也各有各的坏处。
【函数】
1、不会有前向引用问题。
2、@decorator函数装饰器。
3、非关键字可变长参数*,关键字变量参数(字典)**。
4、apply()、filter()、map()、reduce()。
5、偏函数。(部分参数定额的函数)
6、如果在局部作用域内没有找到名字,则在全局作用域内找。如仍没找到,则抛出NameError异常。
7、global语句引用全局变量。
8、闭包,函数内的def。lambda不是闭包。
9、yield(生成器)。
10、关键字参数后不允许带有位置参数。
【空间】
1、3个名称空间:局部名称空间、全局名称空间、内建名称空间。
2、from * import * as *。from导入的名称会污染当前名称空间。
3、import语句默认实现为调用__import()__函数完成工作。
4、包导入和模块导入类似。
5、from package.module import *。会导入__init__.py中__all__的所有模块。__init__应当返回none。
6、循环import问题通过底部import来完成。
【类】
1、定义原型:class MyNewObjectType(bases):。bases为基类。
2、一般的方法会需要self,而表态方法或类方法不会。
3、构造函数需要手动调用父类的构造函数,析构函数同理。
def __init(self, nm, ph):
AddrBookEntry.__init__(self, nm, ph)
4、定义静态数据类型,所有类的根类必须是object。成员变量用self.xxx定义。
class C(object):
foo = 100
5、静态方法不包含参数,类方法包含类对象参数。
def foo():
foo = staticmethod(foo).
def foo(cls):
foo = classmethod(foo)
或者,在函数名上一行加@staticmethod或@classmethod。
6、可以多重继承,用,分隔。通过__bases__可以获取父类元组。
7、issubclass()&isinstance()
8、私有化:双下划线“__”运行时被混淆。单下划线“_”不允许被from * import *。
【__init__.py】
参考:http://blog.csdn.net/yxmmxy7913/article/details/4233420
python初步要点的更多相关文章
- python初步要点II
[python初步要点II] 1.is & is not 操作符用于测试2个对象是否指向同一个对象,即 id(a) == id(b). 2.整形和字符串对象是不可变对象,python会高效地缓 ...
- python初步编写用户登录
python初步编写用户登录 python编写用户登录 用python写一个脚本,使得这个脚本在执行后,可以产生如下的效果: 1.用户的账号为:root 密码为:westos 2.用户账号和密码均输 ...
- python初步学习-python函数 (二)
几个特殊的函数(待补充) python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda >& ...
- 【美妙的Python之二】Python初步
美妙的Python之Python起步 简而言之: Python 是能你无限惊喜的语言,与众不同. 1.动态类型: Python是一种动态类型语言,不 ...
- python初步(附学习思维导图)
python,原意为蟒蛇,至于它的发展史,度娘应该比我讲述的更为专业/偷笑.这里我们要梳理的是整个学习的脉络,当然,今后的随笔也会从基础部分说起,希望能给进门python的小伙伴一些建议. 一.环境的 ...
- python初步学习-import和datetime模块
模块 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性.模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中.简单的说,可以把模块理解为一 ...
- python初步学习-练习题
1.实现1-100的所有的和 #!/usr/bin/env python #encoding:utf8 '''实现1-100的所有的和 1. 使用列表解析获取0-100的列表 2. 使用reduce内 ...
- python初步学习-Python模块之 re
re 正则表达式 python正则表达式在线检验网站 python re正则表达式语法 匹配字符 语法 解释 表达式 匹配实例 . 匹配任意除"\n"以外的任何字符 a.c abc ...
- python初步学习-python 模块之 json
json 模块 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写.一般API返回的数据大多是 JSON.XML,如果返回JSON的话,将获取 ...
随机推荐
- bzoj2120
题解: 可修改莫队 我们加入一个时间T 然后在排序的时候考虑一下时间 在计算的时候也要考虑 代码: #include<bits/stdc++.h> using namespace std; ...
- 《转》快速导出SSRS之RDL文件
select name,[path],cast(cast(content AS varbinary(max)) as xml) as RDLDef from dbo.[Catalog] where t ...
- SoftMax多分类器原理及代码理解
关于多分类 我们常见的逻辑回归.SVM等常用于解决二分类问题,对于多分类问题,比如识别手写数字,它就需要10个分类,同样也可以用逻辑回归或SVM,只是需要多个二分类来组成多分类,但这里讨论另外一种方式 ...
- CUDA Samples: dot product(使用零拷贝内存)
以下CUDA sample是分别用C++和CUDA实现的点积运算code,CUDA包括普通实现和采用零拷贝内存实现两种,并对其中使用到的CUDA函数进行了解说,code参考了<GPU高性能编程C ...
- 笔记本电脑CPU低压、标压、高压的区别
一.笔记本CPU型号后面有通常“U”,“M”等字样,而“U”是低压的意思,“M”是标压的意思. 1.低压U:功耗低.发热低,性能不足 2.标压M:功耗高.发热高.性能高 二.选购技巧 笔记本电脑CPU ...
- jenkins配置email
# 系统设置 # Jenkins Location # 邮件通知 # 高级 # Failed to send out e-mail 勾选“使用SSL协议” SMTP端口改为465 密码使用授权码,不能 ...
- selenium定位元素的8种方法
By.id,By.name,By.tagName,By.className,By.linkText,By.partialLinkText,By.xpath,By.cssSelector <a h ...
- vue-cl发布vue
npm run dev是开发环境, npm run build是生产环境, 在开发环境完成代码和测试, 之后用生产环境生成代码, npm run build的时候, 一开始就会提示Built file ...
- cratedb geo 查询
cratedb支持的geo 查询还相对比较全,开发基本的功能已经够用了 安装cratedb 使用docker docker run -d -p 4200:4200 crate 创建数据库 创建表 CR ...
- 在 Linux redis 验证交互连接过程中遇到 redis Could not connect to Redis at 127.0.0.1:6379: Connection refused 的解决方法
Could not connect to Redis at 127.0.0.1:6379: Connection refused 1.找到redis.conf 并修改 daemonize no 为 d ...