前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识Python(一)

初识Python(一)

作者头像
py3study
发布2020-01-11 20:59:19
3980
发布2020-01-11 20:59:19
举报
文章被收录于专栏:python3python3

一、第一个Python语句

创建 hello.py 文件,内容如下:

代码语言:javascript
复制
print?'hello,world'

执行 hello.py 文件,即:

代码语言:javascript
复制
python?hello.py

执行结果如下:

wKiom1iJtkeSuGDUAAAG_o9dItw008.png
wKiom1iJtkeSuGDUAAAG_o9dItw008.png

python内部执行过程如下:

wKioL1iJsN7A7bjYAADuBTdiMUs471.jpg
wKioL1iJsN7A7bjYAADuBTdiMUs471.jpg

二、解释器

默认执行上述的hello.py文件,需要明确的指出hello.py脚本由python解释器来执行,即python hello.py。

另外还可在hello.py的文件头部指定解释器,可像执行shell脚本一样执行python脚本,如下:

代码语言:javascript
复制
#!/usr/bin/env?python
??
print?'hello,world'

并赋予hello.py可执行权限,如:chmod +x hello.py

这样,直接执行./hello.py或hello.py,执行结果如下:

wKiom1iJuWai7h9YAAAIQuRlDhs668.png
wKiom1iJuWai7h9YAAAIQuRlDhs668.png

三、内容编码

python解释器在加载.py文件中的代码时,会对内容进行编码(默认ascill)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示256个符号。

Bin

Dec

Hex

缩写/字符

解释

00000000

0

00

NUL(null)

空字符

00000001

1

01

SOH(start of headling)

标题开始

00000010

2

02

STX (start of text)

正文开始

00000011

3

03

ETX (end of text)

正文结束

00000100

4

04

EOT (end of transmission)

传输结束

00000101

5

05

ENQ (enquiry)

请求

00000110

6

06

ACK (acknowledge)

收到通知

00000111

7

07

BEL (bell)

响铃

00001000

8

08

BS (backspace)

退格

00001001

9

09

HT (horizontal tab)

水平制表符

00001010

10

0A

LF (NL line feed, new line)

换行键

00001011

11

0B

VT (vertical tab)

垂直制表符

00001100

12

0C

FF (NP form feed, new page)

换页键

00001101

13

0D

CR (carriage return)

回车键

00001110

14

0E

SO (shift out)

不用切换

00001111

15

0F

SI (shift in)

启用切换

00010000

16

10

DLE (data link escape)

数据链路转义

00010001

17

11

DC1 (device control 1)

设备控制1

00010010

18

12

DC2 (device control 2)

设备控制2

00010011

19

13

DC3 (device control 3)

设备控制3

00010100

20

14

DC4 (device control 4)

设备控制4

00010101

21

15

NAK (negative acknowledge)

拒绝接收

00010110

22

16

SYN (synchronous idle)

同步空闲

00010111

23

17

ETB (end of trans. block)

传输块结束

00011000

24

18

CAN (cancel)

取消

00011001

25

19

EM (end of medium)

介质中断

00011010

26

1A

SUB (substitute)

替补

00011011

27

1B

ESC (escape)

溢出

00011100

28

1C

FS (file separator)

文件分割符

00011101

29

1D

GS (group separator)

分组符

00011110

30

1E

RS (record separator)

记录分离符

00011111

31

1F

US (unit separator)

单元分隔符

00100000

32

20

(space)

空格

00100001

33

21

!

00100010

34

22

"

00100011

35

23

#

00100100

36

24

$

00100101

37

25

%

00100110

38

26

&

00100111

39

27

'

00101000

40

28

(

00101001

41

29

)

00101010

42

2A

*

00101011

43

2B

+

00101100

44

2C

,

00101101

45

2D

-

00101110

46

2E

.

00101111

47

2F

/

00110000

48

30

0

00110001

49

31

1

00110010

50

32

2

00110011

51

33

3

00110100

52

34

4

00110101

53

35

5

00110110

54

36

6

00110111

55

37

7

00111000

56

38

8

00111001

57

39

9

00111010

58

3A

:

00111011

59

3B

;

00111100

60

3C

<

00111101

61

3D

=

00111110

62

3E

>

00111111

63

3F

?

01000000

64

40

@

01000001

65

41

A

01000010

66

42

B

01000011

67

43

C

01000100

68

44

D

01000101

69

45

E

01000110

70

46

F

01000111

71

47

G

01001000

72

48

H

01001001

73

49

I

01001010

74

4A

J

01001011

75

4B

K

01001100

76

4C

L

01001101

77

4D

M

01001110

78

4E

N

01001111

79

4F

O

01010000

80

50

P

01010001

81

51

Q

01010010

82

52

R

01010011

83

53

S

01010100

84

54

T

01010101

85

55

U

01010110

86

56

V

01010111

87

57

W

01011000

88

58

X

01011001

89

59

Y

01011010

90

5A

Z

01011011

91

5B

[

01011100

92

5C

\

01011101

93

5D

]

01011110

94

5E

^

01011111

95

5F

_

01100000

96

60

`

01100001

97

61

a

01100010

98

62

b

01100011

99

63

c

01100100

100

64

d

01100101

101

65

e

01100110

102

66

f

01100111

103

67

g

01101000

104

68

h

01101001

105

69

i

01101010

106

6A

j

01101011

107

6B

k

01101100

108

6C

l

01101101

109

6D

m

01101110

110

6E

n

01101111

111

6F

o

01110000

112

70

p

01110001

113

71

q

01110010

114

72

r

01110011

115

73

s

01110100

116

74

t

01110101

117

75

u

01110110

118

76

v

01110111

119

77

w

01111000

120

78

x

01111001

121

79

y

01111010

122

7A

z

01111011

123

7B

{

01111100

124

7C

|

01111101

125

7D

}

01111110

126

7E

~

01111111

127

7F

DEL (delete)

删除

由于ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode;

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由16位来表示(2个字节),即:2 **16 = 65536;

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存,等;

所以,python解释器在加载.py文件中的代码时,会对内容进行编码(默认ascill),如果是python代码中包含中文,将会执行出错,如下:

代码语言:javascript
复制
#!/usr/bin/env?python

print?"你好,世界"

报错如下:

wKioL1iJwpnh8FRAAAAu7LRM5WY995.png
wKioL1iJwpnh8FRAAAAu7LRM5WY995.png

因此,需要在py文件中显示的告诉python解释器,用什么编码来执行代码,如下:

代码语言:javascript
复制
#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-

print?"你好,世界"

结果如下:

wKiom1iJw2iCToT8AAAKeYpHB9c086.png
wKiom1iJw2iCToT8AAAKeYpHB9c086.png

四、注释

当行注释:在语句前加上#,被注释的语句在python中不会被执行,如下:

代码语言:javascript
复制
#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-

#这是python的第一个示例代码;

print?"你好,世界"

注:#!/usr/bin/env python并不是单纯的注释信息,主要用来指定用什么解释器运行脚本以及解释器所在的位置;而# -*- coding: utf-8 -*-,用来指定文件编码为utf-8;

多行注释:在段落的前一行或开头及后一行或结尾,用'''包含起来,如下:

代码语言:javascript
复制
#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-

'''
这是
python的
第一个
示例代码
'''

print?"你好,世界"

或者

代码语言:javascript
复制
#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-

'''这是
python的
第一个
示例代码'''

print?"你好,世界"

五、执行脚本传入参数

Python可通过引用大量的模块,从而使开发的Python程序更加简洁、简明。Python的类库主要包括三种:

  • Python内部提供的模块
  • 第三方模块
    • 业内开源的模块
    • 程序员自己开发的模块

例如,Python内部提供一个sys的模块,其中的sys.platform用来获取当前系统平台,可使用import命令或from ...import...命令导入模块;

代码语言:javascript
复制
#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-

import?sys
?
print?sys.platform

或者

代码语言:javascript
复制
#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-
??
from?sys?import?platform
??
print?platform

执行结果如下:

wKiom1iJ5Afh4SbaAAAJM46557U768.png
wKiom1iJ5Afh4SbaAAAJM46557U768.png

六、pyc 文件

在执行Python代码时,如果导入了其他的.py文件,那么在执行过程中会自动生成一个与其同名的.pyc文件,该文件就是Python解释器编译之后产生的字节码;代码经过编译可以产生字节码,字节码通过反编译也可以得到代码;

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com