在 Python 里,标识符由字母、数字、下划线组成。python
在 Python 中,全部标识符能够包括英文、数字以及下划线(_),但不能以数字开头。编程
Python 中的标识符是区分大小写的。python3.x
如下划线开头的标识符是有特殊意义的。数据结构
以双下划线开头的 __foo 表明类的私有成员,__foo(self)表明类的私有方法,不能直接从外部调用,需经过类里的其余方法调用。编程语言
以双下划线开头和结尾的 __foo__ 表明 Python 里特殊方法专用的标识,如 __init__() 表明类的构造函数。函数
下面的列表显示了在Python中的保留字。这些保留字不能用做常数或变数,或任何其余标识符名称。oop
全部 Python 的关键字只包含小写字母。学习
and | exec | 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 与其余语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其余逻辑判断。优化
python 最具特点的就是用缩进来写模块。this
缩进的空白数量是可变的,可是全部代码块语句必须包含相同的缩进空白数量,这个必须严格执行。以下所示:
1 if True: 2 print ("True") 3 else: 4 print ("False")
如下代码将会执行错误:
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 if True: 6 print("Answer") 7 print("True") 8 else: 9 print("Answer") 10 # 没有严格缩进,在执行时会报错 11 print("False")
执行以上代码,会出现以下错误提醒:
1 E:\Python\PythonLearing\venv\Scripts\python.exe E:/Python/PythonLearing/test.py 2 File "E:/Python/PythonLearing/test.py", line 11 3 print("False") 4 ^ 5 IndentationError: unindent does not match any outer indentation level
IndentationError: unindent does not match any outer indentation level。
错误代表,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改成一致便可。
若是是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你"Hi,老兄,你的文件里格式不对了,多是tab和空格没对齐的问题",全部 python 对格式要求很是严格。
所以,在 Python 的代码块中必须使用相同数目的行首缩进数。
建议你在每一个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用。
Python语句中通常以新行做为语句的结束符。
可是咱们可使用斜杠( \)将一行的语句分为多行显示,以下所示:
1 total = item_one + \ 2 item_two + \ 3 item_three
语句中包含 [], {} 或 () 括号就不须要使用多行链接符。以下实例:
1 days = ['Monday', 'Tuesday', 'Wednesday', 2 'Thursday', 'Friday']
Python 可使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。
其中三引号能够由多行组成,编写多行文本的快捷语法,经常使用于文档字符串,在文件的特定地点,被当作注释。
1 word = 'word' 2 sentence = "这是一个句子。" 3 paragraph = """这是一个段落。 4 包含了多个语句"""
python中单行注释采用 # 开头。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 # 第一个注释 6 print ("Hello, Python!"); # 第二个注释
输出结果:
1 Hello, Python!
python 中多行注释使用三个单引号(''')或三个双引号(""")。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 6 ''' 7 这是多行注释,使用单引号。 8 这是多行注释,使用单引号。 9 这是多行注释,使用单引号。 10 ''' 11 12 """ 13 这是多行注释,使用双引号。 14 这是多行注释,使用双引号。 15 这是多行注释,使用双引号。 16 """
print 默认输出是换行的,若是要实现不换行须要在变量末尾加上 ' end=' 。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 x="a" 6 y="b" 7 # 换行输出 8 print(x) 9 print(y) 10 11 print ('---------') 12 # 不换行输出 13 print(x, end = ' ') 14 print(y, end = ' ') 15 16 17 # a 18 # b 19 # --------- 20 # a b
格式化方法,能够用format实现格式化。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 age = 20 6 name = 'Swaroop' 7 print('{0} was {1} years old when he wrote this book'.format(name, age)) 8 print('Why is {0} playing with that python?'.format(name)) 9 10 11 # Swaroop was 20 years old when he wrote this book 12 # Why is Swaroop playing with that python?
格式化方法,也可使用%s和%d实现,%s对应字符变量,%d对应数字变量。另外还有%r,打印变量原始类型,通常做调试用。
1 #!/user/bin/env ptyhon 2 # -*- coding:utf-8 -*- 3 # Author: VisonWong 4 5 age = 20 6 name = 'Swaroop' 7 print('%s was %d years old when he wrote this book' %(name,age) ) 8 print('Why is %s playing with that python?' %name) 9 10 11 # Swaroop was 20 years old when he wrote this book 12 # Why is Swaroop playing with that python?
① 声明一个变量name,变量name的值为:“wcw”
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 name = "wcw"
② 变量命名的规则
1 变量定义的规则: 2 3 变量名只能是 字母、数字或下划线的任意组合 4 变量名的第一个字符不能是数字 5 如下关键字不能声明为变量名 6 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 7 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
③ 扩展 (给变量name1赋值Alex li,变量name2赋值为变量name1,name1重赋值Jack Chen,此时name2的值为多少?)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #-Author-Lian 4 name1 = "Alex Li" 5 6 name2 = name1 7 print(name1, name2) 8 9 name1 = "Jack Chen" 10 11 print("What is the value of name2 now?")
由图所示,因此最后name1的值为Jack Chen,name2的值为Alex li。
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其余西欧语言。
其最多只能用 8 位来表示(一个字节),即:2**8 = 256,因此,ASCII码最多只能表示 256 个符号。
显然ASCII码没法将世界上的各类文字和符号所有表示,因此,就须要新出一种能够表明全部字符和符号的编码,即:Unicode。
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。
Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每一个字符设定了统一而且惟一的二进制编码。
规定全部的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536。注:此处说的的是最少2个字节,可能更多。
UTF-8,是对Unicode编码的压缩和优化,他再也不使用最少使用2个字节,而是将全部的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
因此,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),若是是以下代码的话:
报错:ascii码没法表示中文
1 #!/usr/bin/env python 2 3 print "你好,世界"
改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 print "你好,世界"
注:python2.x版本,默认支持的字符编码为ASCll python3.x版本,默认支持的是Unicode,不用声明字符编码能够直接显示中文。
在内存中存储的数据能够有多种类型。
例如,一我的的年龄能够用数字来存储,他的名字能够用字符来存储。
Python 定义了一些标准类型,用于存储各类类型的数据。
Python有五个标准的数据类型:
一、Numbers(数字)
二、String(字符串)
三、List(列表)
四、Tuple(元组)
五、Dictionary(字典)
Python数字
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number对象就会被建立:
1 var1 = 1 2 var2 = 10
也可使用del语句删除一些对象的引用。
del语句的语法是:
1 del var1[,var2[,var3[....,varN]]]]
Python支持四种不一样的数字类型:
int(有符号整型)
long(长整型[也能够表明八进制和十六进制])
float(浮点型)
complex(复数)
实例
一些数值类型的实例:
int | long | float | complex |
---|---|---|---|
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32.3e+18 | .876j |
-0490 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2E-12 | 4.53e-7j |
长整型也可使用小写 l,可是仍是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。
Python 还支持复数,复数由实数部分和虚数部分构成,能够用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。
Python字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。
通常记为 :
1 s="a1a2···an"(n>=0)
它是编程语言中表示文本的数据类型。
python的字串列表有2种取值顺序:
List(列表) 是 Python 中使用最频繁的数据类型。
列表能够完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至能够包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
元组是另外一个数据类型,相似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。可是元组不能二次赋值,至关于只读列表。
字典(dictionary)是除列表之外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
二者之间的区别在于:字典当中的元素是经过键来存取的,而不是经过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。