标识符由字母、数字和下划线(_)组成,其中不能以数字开头,而且区分大小写。python
如下划线开头的标识符是有特殊意义的:编程
保留字是不能用做常数或变数,或者其余任何标识符名称。 keyword 模块能够输出当前版本的全部关键字:编程语言
import keyword函数
print(keyword.kwlist) spa
全部的保留字以下所示:code
|
|
|
and对象 |
execblog |
not索引 |
assert接口 |
finally |
or |
break |
for |
pass |
class |
from |
|
continue |
global |
raise |
def |
if |
return |
del |
import |
try |
elif |
in |
while |
else |
is |
with |
except |
lambda |
yield |
和其余编程语言的最大区别就是,Python 的代码块不采用大括号 {} 来控制类、函数以及其余逻辑判断,反却是采用缩进来写模块。
缩进的空白数量是可变的,可是全部代码块语句必须包含相同的缩进空白数量,这个必须严格执行,以下所示:
# 正确示例
i = 2if i == 3:
print('true!')else:
print('False')
# 错误示例if i == 3:
print('i:')
print(i)else:
print('wrong answer!')
# 没有严格缩进,执行时会报错
print('please check again')
这里将会报错 IndentationError: unindent does not match any outer indentation level,这个错误表示采用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改成一致便可。
而若是错误是 IndentationError: unexpected indent,表示格式不正确,多是 tab 和空格没对齐的问题。
所以,按照约定俗成的管理,应该始终坚持使用4个空格的缩进,而且注意不能混合使用 tab 键和四格空格,这会报错!
注释分为两种,单行和多行的。
# 单行注释
print('Hello, world!')
'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''
"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""
一般是一条语句一行,若是语句很长,咱们可使用**反斜杠(\)**来实现多行语句。在 [], {}, 或 ()中的多行语句,则不须要反斜杠。
sentence1 = "I love " + \"python"
sentence2 = ["I", "love",
"python"]
另外,咱们也能够同一行显示多条语句,语句之间用分号(;)分割,示例以下:
print('Hello');print('world')
对于用户输入,Python2 采用的是 raw_input(),而 3 版本则是 input() 函数:
# 等待用户输入# python 2
user_input = raw_input('请输入一个数字:\n')# python 3
user_input = input('请输入一个数字:\n')
print('user_input=', user_input)
其中 \n 实现换行。用户按下回车键(enter)退出,其余键显示。
对于 print 输出,默认输出是换行的,若是须要实现不换行,能够指定参数 end,以下所示:
a = 3
b = 2
c = 4
d = 5# 默认换行
print(a)
print(b)# 不换行,并设置逗号分隔
print(c, end=',')
print(d)
计算机程序要处理不一样的数据,须要定义不一样的数据类型。Python 定义了六种标准的数据类型,分布以下所示:
Python 并不须要声明变量的类型,所说的"类型"是变量所指的内存中对象的类型。但每一个变量使用前都必须赋值,而后才会建立变量。给变量赋值的方法是采用等号(=),等号左边是变量名,右边是存储在变量中的值。
一个示例以下:
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
print(counter)
print(miles)
print(name)
Python 还容许同时为多个变量赋值,有如下两种实现方式:
# 建立一个整型对象,值为1,三个变量被分配到相同的内存空间上
n = m = k = 2# 建立多个对象,而后指定多个变量
cc, mm, nn = 1, 3.2, 'abc'
print('n=m=k=', n, m, k)
print('cc=', cc)
print('mm=', mm)
print('nn=', nn)
其中同时给多个变量赋值的方式也是 Python 独特的一种变量赋值方法。
数字类型用于存储数值,它是不可改变的数据类型。Python 3 支持如下几种数字类型:
int (整数)
float (浮点型)
complex(复数)
bool (布尔)
数字类型的使用很简单,也很直观,以下所示:
# int
q = 1# float
w = 2.3# bool
e = True# complex
r = 1 + 3j
print(q, w, e, r) # 1 2.3 True (1+3j)
# 内置的 type() 函数能够用来查询变量所指的对象类型
print(type(q)) # <class 'int'>
print(type(w)) # <class 'float'>
print(type(e)) # <class 'bool'>
print(type(r)) # <class 'complex'>
# 也能够采用 isinstance()# isinstance 和 type 的区别在于:type()不会认为子类是一种父类类型,isinstance()会认为子类是一种父类类型
print(isinstance(q, int)) # True
print(isinstance(q, float)) # False
对于数字的运算,包括基本的加减乘除,其中除法包含两个运算符,/ 返回一个浮点数,而 // 则是获得整数,去掉小数点后的数值。并且在混合计算的时候, Python 会把整数转换为浮点数。
# 加
print('2 + 3 =', 2 + 3) # 2 + 3 = 5# 减
print('3 - 2 =', 3 - 2) # 3 - 2 = 1# 乘
print('5 * 8 =', 5 * 8) # 5 * 8 = 40# 除# 获得浮点数,完整的结果
print('5 / 2 =', 5 / 2) # 5 / 2 = 2.5# 获得一个整数
print('5 // 2 =', 5 // 2) # 5 // 2 = 2# 取余
print('5 % 2 =', 5 % 2) # 5 % 2 = 1# 乘方
print('5 ** 2 =', 5 ** 2) # 5 ** 2 = 25
字符串或串(String)是由数字、字母、下划线组成的一串字符。通常是用单引号 '' 或者 "" 括起来。
注意,Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。而且,Python 字符串是不可变,向一个索引位置赋值,如 strs[0]='m' 会报错。
能够经过索引值或者切片来访问字符串的某个或者某段元素,注意索引值从 0 开始,例子以下所示:
切片的格式是 [start:end],实际取值范围是 [start:end) ,即不包含 end 索引位置的元素。还会除了正序访问,还能够倒序访问,即索引值能够是负值。
具体示例以下所示:
s1 = "talk is cheap"
s2 = 'show me the code'
print(s1)
print(s2)
# 索引值以 0 为开始值,-1 为从末尾的开始位置
print('输出 s1 第一个到倒数第二个的全部字符: ', s1[0:-1]) # 输出第一个到倒数第二个的全部字符
print('输出 s1 字符串第一个字符: ', s1[0]) # 输出字符串第一个字符
print('输出 s1 从第三个开始到第六个的字符: ', s1[2:6]) # 输出从第三个开始到第六个的字符
print('输出 s1 从第三个开始的后的全部字符:', s1[2:]) # 输出从第三个开始的后的全部字符
# 加号 + 是字符串的链接符# 星号 * 表示复制当前字符串,紧跟的数字为复制的次数
str = "I love python "
print("链接字符串:", str + "!!!")
print("输出字符串两次:", str * 2)
# 反斜杠 \ 转义特殊字符# 若不想让反斜杠发生转义,能够在字符串前面添加一个 r
print('I\nlove\npython')
print("反斜杠转义失效:", r'I\nlove\npython')
注意:
字符串包含了不少内置的函数,这里只介绍几种很是常见的函数: