一.基础语法
1.编码
python 3.X默认编码是UTF-8,所有字符串都是unicode字符串,而python 2.X默认编码是ASCII
同样新接触python的小伙伴,这里推荐大家使用python 3.X,python 2.X的默认编码在学习与编程过程中会出现类似于“UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)”的错误,主要报错原因就是python 2.x 没办法处理非ascii编码
当然问题既然出现就有解决的办法,使用python 2.X 如果出现这类问题,可以通过从头上修改编码格式
# -*- coding: UTF-8 -*-
PS:编码这东西最好别乱碰,如果修改错了,很难修改回来,还是建议大家使用3.X以上版本
2.标识符
在 Python 里,标识符由字母、数字、下划线组成。
所有标识符第一个字符必须是字母表中字母或下划线,但不能以数字开头
标识符严格区分大小写
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
Python 可以同一行显示多条语句,方法是用分号 ; 分开
例:
ps:在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了
3.python保留字符
and | exec | not | class | continue |
assert | finally | or | from | global |
break | for | pass | raise | |
def | if | return | else | is |
del | import | try | with | except |
elif | in | while | lambda | yield |
ps:保留字不能用作常数或变数,或任何其他标识符名称
4.注释
# | 单行注释 | 例:"#这是一个单行注释" |
' ' ' | 多行注释 | 例: ''' 这是一个多行注释 ''' |
" " " | 例: """ 这是一个多行注释 """ |
5.多行语句
python通常是一行一段代码,如果代码过长可以通过 “\” 反斜杠来分行,
例:
如果在[],(),{}中分行 不需要使用 "\" 反斜杠,可直接在 "," 逗号后分行
例:
6.缩进
Python最具特色的缩进,用缩进来表示代码块,不需要像JAVA语言一样使用“{}”大括号
缩进的空格数是可变的,但是同一个代码块的代码语句必须使用相同的空格缩进
例:使用的是一个TAB的长度,四个空格,同一个代码块中 缩进相同运行结果正常
例:使用的是一个TAB的长度,四个空格,同一个代码块中 缩进不相同运行报错
、
ps:建议在使用tab,来确定代码块内缩进长度
7.空行
函数之前与类的方法直接,空行表示一段代码的开始于结束,空行与多行语句不同,空行不属于python语法的一部分,但却是属于程序代码的一部分。使用空行来分割有特定含义的函数或方法,提高代码的可读性,方便以后对代码的维护与重构。
例
8.等待用户输入
类似于java的Scanner类。等待用户输入,获取用户输入的值。
python 2.x 的方式为
string = raw_input("等待用户输入")
python 3.x 的方式为
string = input("等待用户输入")
输入后按回车 Enter键退出
例:
PS:使用input方法时,执行到input处时,主线程进入阻塞,等待用户输入退出完成后,主线程退出阻塞状态
9.多个语句构成代码组
缩进相同的一组语句构成一个代码块,称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)
例:
10.import 与 from...import
在 python 用 import 或者 from...import 来导入相应的模块。
11.命令行参数
在终端使用python -h 命令查询各个参数的详情信息