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

1、Python标识符

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

在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。

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

以下划线开头的标识符是有特殊意义的。

以双下划线开头的 __foo 代表类的私有成员,__foo(self)代表类的私有方法,不能直接从外部调用,需通过类里的其他方法调用。

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

2、Python 保留字符

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

所有 Python 的关键字只包含小写字母。

andexecnot
assertfinallyor
breakforpass
classfromprint
continueglobalraise
defifreturn
delimporttry
elifinwhile
elseiswith
exceptlambdayield

3、行和缩进

学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。

python 最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:

 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 的代码块中必须使用相同数目的行首缩进数

建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用。

4、多行语句

Python语句中一般以新行作为语句的结束符。

但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

1 total = item_one + \
2         item_two + \
3         item_three

语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:

1 days = ['Monday', 'Tuesday', 'Wednesday',
2         'Thursday', 'Friday']

5、Python 引号

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

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

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

6、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 """

7、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?

8、变量赋值及命名规则

① 声明一个变量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。

9、字符编码

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,不用声明字符编码可以直接显示中文。

 10、标准数据类型

在内存中存储的数据可以有多种类型。

例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。

Python 定义了一些标准类型,用于存储各种类型的数据。

Python有五个标准的数据类型:

1、Numbers(数字)

2、String(字符串)

3、List(列表)

4、Tuple(元组)

5、Dictionary(字典)

Python数字

数字数据类型用于存储数值。

他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。

当你指定一个值时,Number对象就会被创建:

1 var1 = 1
2 var2 = 10

也可以使用del语句删除一些对象的引用。

del语句的语法是:

1 del var1[,var2[,var3[....,varN]]]]

Python支持四种不同的数字类型:

int(有符号整型)

long(长整型[也可以代表八进制和十六进制])

float(浮点型)

complex(复数)

实例

一些数值类型的实例:

intlongfloatcomplex
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3e+18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2E-124.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组成。

 

 

转载于:https://www.cnblogs.com/visonwong/p/8611166.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值