一、基础知识
一、标识符
标识符:就是对变量、常量、函数、类等对象起的名字
Python语音在任何场景都严格区分大小写!
Python对于标识符的命名有如下的规定:
- 第一个字符必须是字母表中的字母或下划线‘_’ ,标识符的其他的部分由字母、数字和下划线组成
a,AK,_set_id,green都可以,¥,~abc,123这些都不可以 - 标识符对大小写敏感
- 变量名全部小写,常量名全部大写
- 函数和方法名用小写加下划线
- 类名用大写驼峰
模块和包的名字用小写
变量的命名不要用关键字和内置函数的名字
二、Python保留字
保留字也叫关键字,是Python官方确定的用作语法功能得专用标识符,不能把它们用作任何自定义标识符名称。Python的标准库提供了一个keyword模块,可以查看当前版本的所有关键字
>>> import keyword
>>>keyword.kwlist
三、注释
- 单行注释
以符合“#”为单行注释开始,知道本行末尾,都是注释内容 - 多行注释
Python没有真正意义上的多行注释(块注释),只能在每行都打上#号,然后假装自己是个多行注释 - 注释文档
在某些特殊的位置,用三引号包括起来得部分,被当做注释,但是,这种注释有专门的作用,用于为_doc_提供文档内容,这些内容通过现成的工具,自动收集起来,形成帮助文档。比如,函数和类的说明文档:
def func(a,b):
"""
这个是函数的说明文档。
:param a:加数
:param b:加数
:return:和
"""
class Foo:
"""
这个类初始化了一个age变量
"""
def __init__(self,age):
self.age = age
需要强调的是这类注释必须紧跟在定义体下面,不能在任意位置。
四、代码头两行
1.#!/usr/bin/env python
2.# _*_ coding:utf-8 -*_
第一行不是注释,用于指定运行该脚本的Python解释器,Linux专用,windows不需要。
第二行是代码的编程方式。不是程序要处理的数据的编码方式,而是程序自己本身的字符编码
五、语句与缩进
Python用换行表示本语句结束,下一句开始的;
Python利用缩进来表示代码块,不需要使用大括号
同一个代码块的语句必须包含相同的缩进空格数
多行语句:可以使用反斜杠(\)来实现多行语句;
string = “i love this country,"\
+"because it is very beautiful!”
在[],{},()中的多行语句,可以不需要反斜杠(\),直接回车,接着写
六、pass语句
pass语句是占位语句,当你不知道后面的代码写什么或者怎么写,可以使用pass语句
def func(a,b,c):
pass
七、空白字符与空白行
Python会自动忽略空白字符和空白行
八、字符串的表示形式
在Python中,被引号括起来的都是字符串,这个引号包括单引号、双引号、甚至3引号
Python中单引号和双引号的作业完全相同,但其他语言中,双引号括起来的才是字符串,单引号括起来的是字符,例如C。例如json,很多同学在用json格式转换时,经常使用单引号,导致转换失败
使用三引号('''或""")可以指定一个多行字符串。
转义符 ‘\‘
,用来特殊转义,例如\r\n
,\\
。它可以将引号转义为单纯的引号,没有任何作用的引号。
原生字符串: 通过在字符串前加r或R,如 r"this is a line with \n",表示这个字符串里的斜杠不需要转义,等同于自身。因此,例子中的\n会显示出来,并不是换行。
unicode字符串:加前缀u或U, 如 u"this is an unicode string"。
bytes类型:加前缀b,如b”this is a bytes data”。但是s=b“哈哈”,这种是不行的!
字符串是不可变类型。
字符串会自动串联,如“i" “love" “you"会被自动转换为”I love you”。
九、排查问题