Python开发第一篇 基础篇(下)

一.python种类

    1.1 Cpython

      python官方版本,使用c语言实现,运行机制:先编译,py(源码文件)->pyc(字节码文件),最终执行时先将字节码转换成机器码,然后交给cpu执行;

    如果再次运行时,会优先寻找字节码文件,若源码文件被修改,则会再次编译成字节码

    1.2 Jython

      Python语言的Java实现,不仅提供Python的库,同时也提供所有的Java类。能运行在任何可兼容的Java1.1或更高的Java虚拟机平台上。

    运行机制:py(源文件)->动态编译成字节码(Java字节码)->然后在JVM中执行

         由于最终执行会编译成java字节码,所以对Java类无缝存取,对于与Java语言的交互效率极高

    1.3 IronPython

      Python语言的c#实现,由Jython的创始人创造

    运行机制:源码文件->C#字节码->CLR(公共语言运行库)与(JVM类似)

    1.4 PyPy

        rPython实现的Python,rPython是Python的一个子集,Python语言的动态编译器,它使用的是JIT(及时编译器),

    运行机制:先编译 源码文件->字节码->机器码,然后直接由cpu执行

    1.5 各版本总结

        pypy与其他版本对比,编译过程相对慢,但是执行效率是最高的,因为它是编译成机器码,cpu可以直接执行机器码,

    其他语言都需要再转换成机器码,然后交由cpu执行

      

  二.传递参数 

    2.1新建python文件,名为hello_args.py,输入下面的代码

1 import sys
2 print(sys.argv)

  通过python hello_args.py,屏幕打印输出

    [‘hello_args.py‘]

  python hello_args.py hello world屏幕打印输出

    [‘hello_args.py‘, ‘hello‘, ‘world‘]

  默认文件名本身则是argv[0],属于第一个参数

  如果要使用用户传递的参数,可以通过下标方式获取,操作方法与列表操作方法一样

  三. 内容编码

    3.1 针对2.x版本

      python解释器加载py文件时,会对内容进行编码(默认ascii)

      ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,

    主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

      在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0)

      ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来

    表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:
        0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),

          如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;

          通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;

          ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。

          它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
        32~126(共95个)是字符(32是空格),

          其中48~57为0到9十个阿拉伯数字。
        65~90为26个大写英文字母,

        97~122号为26个小写英文字母,

        其余为一些标点符号、运算符号等。

      3.2标准I表


Bin

Dec

Hex

缩写/字符

解释

0000 0000

0

00

NUL(null)

空字符

0000 0001

1

01

SOH(start of headline)

标题开始

0000 0010

2

02

STX (start of text)

正文开始

0000 0011

3

03

ETX (end of text)

正文结束

0000 0100

4

04

EOT (end of transmission)

传输结束

0000 0101

5

05

ENQ (enquiry)

请求

0000 0110

6

06

ACK (acknowledge)

收到通知

0000 0111

7

07

BEL (bell)

响铃

0000 1000

8

08

BS (backspace)

退格

0000 1001

9

09

HT (horizontal tab)

水平制表符

0000 1010

10

0A

LF (NL line feed, new line)

换行键

0000 1011

11

0B

VT (vertical tab)

垂直制表符

0000 1100

12

0C

FF (NP form feed, new page)

换页键

0000 1101

13

0D

CR (carriage return)

回车键

0000 1110

14

0E

SO (shift out)

不用切换

0000 1111

15

0F

SI (shift in)

启用切换

0001 0000

16

10

DLE (data link escape)

数据链路转义

0001 0001

17

11

DC1 (device control 1)

设备控制1

0001 0010

18

12

DC2 (device control 2)

设备控制2

0001 0011

19

13

DC3 (device control 3)

设备控制3

0001 0100

20

14

DC4 (device control 4)

设备控制4

0001 0101

21

15

NAK (negative acknowledge)

拒绝接收

0001 0110

22

16

SYN (synchronous idle)

同步空闲

0001 0111

23

17

ETB (end of trans. block)

传输块结束

0001 1000

24

18

CAN (cancel)

取消

0001 1001

25

19

EM (end of medium)

介质中断

0001 1010

26

1A

SUB (substitute)

替补

0001 1011

27

1B

ESC (escape)

换码(溢出)

0001 1100

28

1C

FS (file separator)

文件分割符

0001 1101

29

1D

GS (group separator)

分组符

0001 1110

30

1E

RS (record separator)

记录分离符

0001 1111

31

1F

US (unit separator)

单元分隔符

0010 0000

32

20

(space)

空格

0010 0001

33

21

!
 

0010 0010

34

22

"
 

0010 0011

35

23

#
 

0010 0100

36

24

$
 

0010 0101

37

25

%
 

0010 0110

38

26

&
 

0010 0111

39

27

 

0010 1000

40

28

(
 

0010 1001

41

29

)
 

0010 1010

42

2A

*
 

0010 1011

43

2B

+
 

0010 1100

44

2C

,
 

0010 1101

45

2D

-
 

0010 1110

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)

删除
 

八进制

十六进制

十进制

字符

八进制

十六进制

十进制

字符

0

0

0

nul

100

40

64

@

1

1

1

soh

101

41

65

A

2

2

2

stx

102

42

66

B

3

3

3

etx

103

43

67

C

4

4

4

eot

104

44

68

D

5

5

5

enq

105

45

69

E

6

6

6

ack

106

46

70

F

7

7

7

bel

107

47

71

G

10

8

8

bs

110

48

72

H

11

9

9

ht

111

49

73

I

12

0a

10

nl

112

4a

74

J

13

0b

11

vt

113

4b

75

K

14

0c

12

ff

114

4c

76

L

15

0d

13

cr

115

4d

77

M

16

0e

14

so

116

4e

78

N

17

0f

15

si

117

4f

79

O

20

10

16

dle

120

50

80

P

21

11

17

dc1

121

51

81

Q

22

12

18

dc2

122

52

82

R

23

13

19

dc3

123

53

83

S

24

14

20

dc4

124

54

84

T

25

15

21

nak

125

55

85

U

26

16

22

syn

126

56

86

V

27

17

23

etb

127

57

87

W

30

18

24

can

130

58

88

X

31

19

25

em

131

59

89

Y

32

1a

26

sub

132

5a

90

Z

33

1b

27

esc

133

5b

91

[

34

1c

28

fs

134

5c

92

\

35

1d

29

gs

135

5d

93

]

36

1e

30

re

136

5e

94

^

37

1f

31

us

137

5f

95

_

40

20

32

sp

140

60

96


41

21

33

!

141

61

97

a

42

22

34

"

142

62

98

b

43

23

35

#

143

63

99

c

44

24

36

$

144

64

100

d

45

25

37

%

145

65

101

e

46

26

38

&

146

66

102

f

47

27

39

`

147

67

103

g

50

28

40

(

150

68

104

h

51

29

41

)

151

69

105

i

52

2a

42

*

152

6a

106

j

53

2b

43

+

153

6b

107

k

54

2c

44

,

154

6c

108

l

55

2d

45

-

155

6d

109

m

56

2e

46

.

156

6e

110

n

57

2f

47

/

157

6f

111

o

60

30

48

0

160

70

112

p

61

31

49

1

161

71

113

q

62

32

50

2

162

72

114

r

63

33

51

3

163

73

115

s

64

34

52

4

164

74

116

t

65

35

53

5

165

75

117

u

66

36

54

6

166

76

118

v

67

37

55

7

167

77

119

w

70

38

56

8

170

78

120

x

71

39

57

9

171

79

121

y

72

3a

58

:

172

7a

122

z

73

3b

59

;

173

7b

123

{

74

3c

60

<

174

7c

124

|

75

3d

61

=

175

7d

125

}

76

3e

62

>

176

7e

126

~

77

3f

63

?

177

7f

127

del

    3.3 大小规则

      1)数字0~9比字母要小。如"7"<"F";

      2)数字0比数字9要小,并按0到9顺序递增。如"3"<"8"

      3)字母A比字母Z要小,并按A到Z顺序递增。如"A"<"Z"

      4)同个字母的大写字母比小写字母要小。如"A"<"a"。      

       记住几个常见字母的ASCII码大小:

     “换行LF”为0x0A;“回车CR”为0x0D;空格为0x20;"0"为0x30; "A"为0x41;"a"为0x61。另外还有128-255的ASCII字符。

       查询ASCII技巧,方便查询ASCII码对应的字符:新建一个文本文档,按住ALT+要查询的码值(注意,这里是十进制),

     松开即可显示出对应字符。例如:按住ALT+97,则会显示出‘a‘。

     3.3 扩展 ASCII

        扩展ASCII 字符是从128 到255(0x80-0xff)的字符。扩展ASCII不再是国际标准。

     3.4 汉字编码      

        0-127 是7位ASCII 码的范围,是国际标准。至于汉字,不同的字符集用的ascii 码的范围也不一样,常用的汉字字符集有GB2312-80,GBK,

      Big5,unicode 等。

        GB_2312 字符集是目前最常用的汉字编码标准,windows 95/98/2000 中使用的 GBK字符集 就包含了GB2312,或者说和GB2312 兼容,

    GB_2312 字符集包含了 6763个的 简体汉字,和682 个标准中文符号。在这个标准中,每个汉字用2个字节来表示,每个字节的ascii码为 161-254

     (16 进制A1 - FE),第一个字节 对应于 区码的1-94 区,第二个字节 对应于位码的1-94 位。

      161-254 其实很好记忆,大家知道英文字符中,可打印的字符范围为33-126。将这对数加上128(或者说最高位置1),就得到汉字使用的字符的围。

      GB18030的规范是汉字第一个字节在0x81-0xFE之间,第二个字节位于区间0x40-0x7E以及0x80-0xFE。每个字节转化为整数大于128。

  四.字符串拼接

    4.1 拼接方式

name = ‘hello‘
print("%s world" % name)  #将会输出hello world

# 第二种拼接方式
print("{name} world".format(name = name))
# 打印输出 hello world
# 前面这个name相当于一个占位符,第二个name即占位符的名称,第三个name则是上面定义的name变量名

# 第三种方式
print(name + " world") # 打印输出结果与上面一样,

 1 # 很有一种方式类似于c#方式占位符
 2 name = "hello"
 3
 4 print("{0} world".format(name))
 5
 6 # 打印输出结果与上面相同,也是hello world
 7
 8 print("{0} world,{1}".format(name,"I like python"))
 9
10 补充

虽然python给我们提供了多种字符串拼接方式,但是第三者方式拼接时运用时,系统会为其开辟多个空间存储数据,浪费系统资源,而前两者只需开辟两块内存空间,动态存取数据,有效的减少资源的浪费

原文地址:https://www.cnblogs.com/dusihan/p/10130581.html

时间: 2024-09-29 19:27:17

Python开发第一篇 基础篇(下)的相关文章

Python第一周基础篇

<感言:首先感谢alex老师精彩课程,第一周的第一天,随着金角大王的豪言壮语般的心灵鸡汤完美收场.此刻坐在电脑前的我仍是热血澎湃,下定决心好好跟着大王一起学好python> ----祝老师教师节快乐                                      Python第一周基础篇 博文结构: --1--python2.*与python3.*主要区别 --2--python安装与配置 --3--PyCharm开发工具的安装与配置 --4--变量的定义 --5--注释的使用 --

Python开发【第二十一篇】:Web框架之Django【基础】

Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-a

Python开发【第二十篇】:缓存

Python开发[第二十篇]:缓存redis&Memcache 点击这里 Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可

智普教育Python视频教程之入门基础篇,python笔记

智普教育Python视频教程之入门基础篇,python笔记 print id()内存地址 type()变量类型 windows命令行下edit命令 python数据类型不需要指定类型 定义hostname="www.google.com" 结果运行后总是告诉我NameError: name 'socket' is not defined 哪位帮我分析一下,怎么改才对 没用过socket,不过你试着在第一行加入 import socket C:\>notepad somefile.

Python面试重点(基础篇)

Python面试重点(基础篇) 第一部分 必答题 简述列举了解的编程语言及语言间的区别? pythonjavacc++c#gophp----------------------------------------------------------------编程语言分为解释型和编译型: 解释型语言:   python 在编写代码的时候不需要编译,在执行的时候,想要用专用的解释器对代码进行编译,全部编译后,才能执行代码 编译型语言:   c c++   go 每写一行代码,解释器就会编译一行,然

iOS开发学习笔记:基础篇

iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境),Xcode是一个集成开发环境,包括了编辑器.调试.模拟器等等一系列方便开发和部署的工具,iOS SDK则是开发应用所必需,不同的SDK分别对应不同的iOS版本或设备,通常我们需要下载多个iOS SDK以确保我们开发的程序能够在不同版本的iOS上正常运行. 创建新工程 Xcode提供了很多种工程模

Python开发【第十七篇】:MySQL(一)

Python开发[第十七篇]:MySQL(一) 一.概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一个软件,都有两个主要的功能: a. 将数据保存到文件或内存 b. 接收特定的命令,然后对文件进行相应的操作 PS:如果有了以上软件,无须自己再去创建文件和文件夹,而是直接传递 命令 给上述软件,让其来进行文件操作,他们统称为数据

【新手学Python】一、基础篇

由于以前处理数据用Matlab和C,最近要处理大量文本文件,用C写实在是太繁琐,鉴于Python的强大文本处理能力,以及其在Deep Learning上有着很大优势,本人打算从即日起学习Python,谨以此系列博客记录学习点滴.文中如有错误,还望大牛们指出! Section 1: 本文是第一篇,当然也是基础,有了编程基础的我们都知道,学习一门语言什么最重要?当然先搞清楚数据类型和数据结构,有了这些,你才能去谈面向对象,才能去设计程序. Python的数据类型比较简单:1.整数;2.长整数;3.浮

ESP8266开发之旅 基础篇① 走进ESP8266的世界

本博客由 单片机菜鸟 个人撰写,仅仅做个人技术交流分享,不做任何商业用途,不经允许,切勿转载.如有不对之处,请留言,本人及时更改. 一.基础篇 ESP8266开发之旅 基础篇① 走进ESP8266的世界 ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境 ESP8266开发之旅 基础篇③ ESP8266与Arduino的开发说明 ESP8266开发之旅 基础篇④ ESP8266与EEPROM ESP8266开发之旅 基础篇⑤ ESP8266 SPI通信和I2C通信

Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 基础篇

原文:Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 基础篇 本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习与总结. 总共分三个部分: 基础篇主要争对C#初学者,巩固C#常用知识点: 中级篇主要争对WPF布局与美化,在减轻代码量的情况做出漂亮的应用: 终极篇为框架应用实战,包含MVVM框架Prism,ORM框架EntityFramework Core,开源数据库Postgr