python之父:荷兰人吉多.范.罗苏姆
1989年开发,1991年第一版公开版发布
语言特点:
- 简单易学
- 面向对象
- 解释性(Java编译性语言)
- 免费开源
- 可移植性
- 胶水性
标识符:
- 区分大小写
- 首字符可以_,但是不能数字
- 除首字母,可以_,数字,字母
- 关键字不能作为标识符
- 不要使用python内置函数作为标识符
- #和$不能构成标识符
关键字:33个关键字,除False,True和None首字母大写,其他全为小写字母
变量:动态类型语言,不用定义数据类型
常量:不能定义真正意义的常量,只能依靠程序员道德理念
注释:
- 代码注释 #
- 编码注释
a. # coding=utf-8(文件第一/二行)
b. # !/user/bin/python(python解释器路径,Linux使用,Windows不需要)
# -*- coding:utf-8 -*-
语句:
- 一行代码代表一条语句,分号可省略
- 多个变量赋相同的值,可连写:a=b=c=2
- if,for和while有代码块的语句中,不用通过大括号来界定,而是缩进
- 一个缩进级别一般是一个制表符(Tab)或四个空格,但有些编译器一个制表符等于8个空格
模块:
- import <模块名>
- from <模块名> import <代码元素>
包:from com.yuanzhao.module import a
命名规则和java相同
命名规范:
- 包名,全部小写字母,中间可由点隔开
- 模块名,全部小写字母,单词间可用下划线隔开
- 类名,大驼峰法命名,如YuanZhao
- 异常名,同类名,使用Error后缀,如YuanZhaoError
- 变量名,全部小写字母,可用下划线隔开
- 函数名和方法名,同变量名
- 常量名,全部大写字母,可用下划线隔开
注释规范:
- 文件注释,每个文件头部添加多行版权,作者等注释,使用#
- 文档注释,三重双引号,注释内容能够生成API帮助文档,可以使用pydoc工具从源码中提取,所以注释内容需要注意
- 代码注释 #
- 使用TODO注释,未完成或未确定的代码加 # TODO 注释,在控制台TODO可识别
导入规范:
- 每一个导入语句只能导入一个模块
- 导入顺序:标准库-第三方库-自己模块,每一组之间空一行,且模块按照英文字母排序
- Ctrl+Alt+O,pycharm整理代码快捷键
代码排版:import前后空两行,函数和类声明前后空两行,方法声明前空一行,两个逻辑代码块间可 空一行,赋值符号、二元运算符前后空一格,括号内部不要空格,逗号、分号、冒号钱不要空格,后面一个空格;一行代码如需断开,在逗号后面、运算符前面断开,尽量加括号,不要用续行符 \ 。
数字类型:python中所有数据类型都是类,每一个变量都是类的“实例”。没有基本数据类型的概念,所以整数,浮点和字符串也都是类
6种标准数据类型数字,字符串,列表,元组,集合和字典
数字类型相互转换:int(),float(),bool()
字符串类型(序列类型):
- 普通字符串,采用单双引号括起来的内容
- 原始字符串,在普通字符串前面加r,字符串中的特殊字符不需要转义,比如\n
- 长字符串,字符串中包含了换行缩进等排版字符,可使用三重单双引号
字符串格式化:format()方法,以及占位符{}
"{0}今天的收入是{1:.2f}元".format(name,money)
字符串查找:顺序查找-str.find(sub[,start[,end]]) 倒序查找-str.rfind(sub[,start[,end]])
算数运算符:
- 一元运算符:负号(-)
- 二元运算符:+,-,*,/,%,**,//
关系运算符:==,!=,>,<,>=,<=
逻辑运算符: not,and,or
位运算符:~,&,|,^,>>,<<
赋值运算符:+=,-=,*=,/=,%=,**=,//=,&=,|=,^=,<<=,>>=
其他运算符:is(注意与==区别,一个是对象,一个是数值),is not,in,not in
运算符优先级:算数运算符-位运算符-关系运算符-逻辑运算符-赋值运算符
分支语句:if,if else,if elif else
循环语句:while,for in(可加else,指正常结束执行else)
跳转语句:break,continue
使用范围:range([start,] stop[,step]),start<=整数序列取值<stop,step为步长