Python学习之路2——Python标识符及变量赋值

一、Python标识符

在 Python 里,标识符由字母、数字、下划线组成。python

在 Python 中,全部标识符能够包括英文、数字以及下划线(_),但不能以数字开头。编程

Python 中的标识符是区分大小写的。python3.x

如下划线开头的标识符是有特殊意义的。数据结构

以双下划线开头的 __foo 表明类的私有成员,__foo(self)表明类的私有方法,不能直接从外部调用,需经过类里的其余方法调用。编程语言

以双下划线开头和结尾的 __foo__ 表明 Python 里特殊方法专用的标识,如 __init__() 表明类的构造函数。函数

二、Python 保留字符

下面的列表显示了在Python中的保留字。这些保留字不能用做常数或变数,或任何其余标识符名称。oop

全部 Python 的关键字只包含小写字母。学习

and exec not
assert finally or
break for pass
class from print
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 引号

Python 可使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。

其中三引号能够由多行组成,编写多行文本的快捷语法,经常使用于文档字符串,在文件的特定地点,被当作注释。

1 word = 'word'
2 sentence = "这是一个句子。"
3 paragraph = """这是一个段落。 4 包含了多个语句"""

六、Python注释

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 打印

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种取值顺序:

    • 从左到右索引默认0开始的,最大范围是字符串长度少1
    • 从右到左索引默认-1开始的,最大范围是字符串开头

Python列表

List(列表) 是 Python 中使用最频繁的数据类型。

列表能够完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至能够包含列表(即嵌套)。

列表用 [ ] 标识,是 python 最通用的复合数据类型。

Python元组

元组是另外一个数据类型,相似于List(列表)。

元组用"()"标识。内部元素用逗号隔开。可是元组不能二次赋值,至关于只读列表。

Python 字典

字典(dictionary)是除列表之外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

二者之间的区别在于:字典当中的元素是经过键来存取的,而不是经过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

相关文章
相关标签/搜索