python教程/学习笔记
一.python引论
1.1.将Python程序代码保存为以.py结尾的文件 1.2.缩进的一致性 1.3.获取用户输入: >>>x=raw_input('x:')
# raw_input与input区别,前者获取用户输入后返回的类型是字符串,后者返回初始值。 x:2
>>>y=raw_input('y:') y:3
print x*y 6# 结束
1.4.赋值时要注意,如果赋的是列表、字典和set,那么不能直接用赋值号=,而是要用copy函数,因为这三种容器本质上赋的是地址。其他情况的赋值无所谓。
二.python基本语法 2.1.python文件类型 2.1.1文件分类:
1)*.py文件,这就是我们常见的py源文件,没什么好说的;
2)*.pyc, py源文件编译成的二进制字节码文件,依然由python加载执行,不过速度会提高,也会隐藏源码;
3)*.pyo,优化编译后的程序,也是二进制文件,适用于嵌入式系统。 2.1.2、生成pyc和pyo文件 1)如何生成pyc文件呢?
假设我们有一个1.py文件需要编译成pyc文件,则在python shell输入 import py_compile
py_compile.compile('1.py') 这样就可以生成pyc文件了 2)如何生成pyo文件呢? python -O -m py_compile 1.py
另外,pyc和pyo跟py文件是一样的,依然可以用python 1.pyc等形式执行
2.2.python编码规则(见pdf文件)
2.2.1. 关于缩进:python 是通过缩进来进行代码布局的。使用 vi 可以在~/.vimrc 中配置几个空格来代表一个 tab,从而来布局 python 函数的缩进。可以只用空格,也可以全部使用 tab键,这样也不会出错。注意空格与tab不能混用。 2.2.2.关于行长度:反斜杠续行。
2.2.3.用两行分割顶层函数和类的定义;用一行分割类成员方法的定义;在一个函数内用空行时请注意谨慎使用于一个逻辑段。
2.2.4. 在 python 2.4 之后内核已经开始支持 Unicode 了。 无论什么情况下,使用 UTF-8 才是王道! 1 # -*- coding:utf-8 -*- 2
2.2.5. 导入
通常应该在单独行中使用导入。 例如:No: import sys, os Yes: import sys import os
但是这样也是可以的:
from types import StringType, ListType
imports 应该放在文件的顶部,仅在模块注释和文档字符串之后,在模块的全局变量和 常量之前。
Imports 也是有顺序的: 1)Python 标准库的 import;2)第三方库的 import;3)自定义的库的 import;
并且在每组的 import 之间使用一行空行分割。 2.2.6.以下地方不推荐出现空格:
1) 紧挨着圆括号,方括号和花括号的
如:\写成\ 2) 紧贴在逗号,分号或冒号前的
如: \写成 \ 3) 紧贴着函数调用的参数列表前开式括号的
如: \写成 \ 4) 紧贴在索引或切片下标开始的开式括号前
如: \写成\
5) 在赋值(或其它)运算符周围的用于和其它并排的一个以上的空格,如: 1 x = 1 2 y = 2
3 long_variable = 3
写成 1 x = 1 2 y = 2
3 long_variable = 3
6)始终在这些二元运算符两边放置一个空格:赋值(=), 比较(==, <, >, !=, <>, <=,>=, in, not in, is, isnot), 布尔运算 (and, or, not). 按你的看法在算术运算符周围插入空格. 始终保持二元运算符两边空格的一致.一些例子: 1 i = i+1
2 submitted = submitted + 1 3 x = x*2 - 1
4 ypot2 = x*x + y*y 5 c = (a+b) * (a-b) 6 c = (a + b) * (a - b)
7)不要在用于指定关键字参数或默认参数值的'='号周围使用空格,例如: 1 def complex(real, imag=0.0): 2 return magic(r=real, i=imag)
2.2.7. 不要将多条语句写在同一行上. No: if foo == 'blah': do_blah_thing() Yes: if foo == 'blah': do_blah_thing()
No: do_one(); do_two(); do_three() Yes: do_one() do_two() do_three()
2.2.8. 注释
1)注释必须跟代码保持一致,当你想修改代码时,建议优先修改注释。
2)注释以'#'和一个空格开始,必须用英语,可以是句子或短语,首字母应大写。 3)如果注释很短,建议省略句末的句号
4)注释块通常由一个或多个由完整句子构成的段落组成,每个句子应该以句号结尾。 5)注释块通常应用于跟随着一些(或者全部)代码并和这些代码有着相同的缩进层次。 6)注释块中每行都是以'#'和一个空格开始(除非他是注释内的缩进文本)。 7)注释块内的段落以仅含单个'#'的行分割。
8)注释块上下方最好有一空行包围(或上方两行下方一行,对一个新函数定义段的注释)。 9)行内注释应该至少用两个空格和语句分开. 它们应该以'#'和单个空格开始. x = x+1 # Increment x
10)约定使用统一的文档化注释格式有助于良好的习惯和团队的进步。
2.2.9.为配合 pydoc;epydoc,Doxygen 等等文档化工具的使用,应该一直遵守编写好的文档字符串的约定。
2.2.10.多行文档字符串结尾的\应该单独成行,例如: \
Optional plotz says to frobnicate the bizbaz first. \
对单行的文档字符串,结尾的\在同一行也可以。 2.2.11.版本注解 1 __version__ = \
这个行应该包含在模块的文档字符串之后,所有代码之前,上下用一个空行分割。 当然也可以这样: 1 ‘’’
2 @version: 1.0.0.0 3 ‘’’
跟其他相关信息(如 author、copyright、date 等)一起。 2.2.12.命名规则 1)单下划线作为前导,如: _single_begin,这是弱的内部使用标识,例如使用“from M import*”的时候不会被导入;
2)单下划线作为结尾的,如:single_end_,这一般用于跟 python 关键词冲突; 3)双下划线前导,如:__double_begin,类私有名;
4)双下划线前导+结尾,如:__double_begin_and_end__,特殊对象或属性,存在于用户控制的命名空间中,如:__init__,__import__等。有时可以被用户定义,用于触发某个特殊行为,如运算符重载。
5)模块名应该是不含下划线的,简短的,小写的名字
6)类名总是使用首字母大写、驼峰命名(第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母)单词串的约定。
7)函数名函数名应该为小写、动宾短语,可能用下划线风格单词以增加可读性。如:open_file()
2.3.变量和常量 2.3.1.数字常量,如下是python的一些常量表示形式: 2 整数
3.23 浮点数
52.3e-4 科学技术法表示的浮点数 -5 -4.6j 复数
和C类的语法不同的是,Python是内置了复数的。 2.3.2.布尔常量:布尔值的表示方式是True和False
2.3.3.字符串常量:字符串常量有三种表示显示:单引号(')双引号(\)三引号('''或\) 其中单引号和双引号功能完全相同,和C的双引号表示字符串方式一样,主要是新增了一个三引号的多行模式,在三引号的模式中,可以使用单引号和双引号,也可以接收换行符号,对于表示多行来说非常方便。
'''This is a multi-line string. This is the first line. This is the second line.
\He said \'''
2.3.4.None常量
None是一个特殊的常量。 None和False不同。 None不是0。
None不是空字符串。#想判断字符串是否为空if s.strip()=='':或者if not s.s …… 此处隐藏:3443字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




