python初识-day2

时间:2023-03-08 23:53:44
python初识-day2

1.模块初识

  python中的库包括标准库和第三方库,需要使用时可直接导入,导入格式为“import  库模块”,例如:

 import sys  #sys为python的标准库
print(sys.path) #打印环境变量
print(sys.argv) #打印相对路径

再如:

 import os
cmd_res = os.system('dir') #仅执行命令,不保存结果
print('-->',cmd_res) #打印结果为0,表示运行成功了了 cmd_res2 = os.popen('dir').read() #执行命令,保存结果,不加read,打印结果为’ <os._wrap_close object at 0x0057C8F0>‘表示内存对象的地址
print('-->',cmd_res2) #加read后将其结果读出来 cmd_res3 = os.mkdir('new_dir') #创建一个多级目录

2.何为pyc文件

  (1)python是什么?

    python 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

  和Java/C#一样,也是一门基于虚拟机的语言。

  (2)简述python的运行过程

    表面上看:当我们在命令行中输入python hello.py时,其实是激活了Python的解释器,使其开始工作。但在“解释”之前,其执行的第一项工作则是编译。

  只是在pycharm一类的IDE中,两个过程合一了。所以Python和Java一样也是一门先编译后解释的语言。

    实质:python程序运行时,编译的结果保存于位于内存中的PyCodeObject中,当Python程序运行结束时。Python解释器则将PyCodeObject写回到pyc文件中。

  当此python程序第二次运行时,首先会在硬盘中寻找pyc文件,如果找到,则直接载入,否则重复上述过程,所以我们可以说pyc文件是PyCodeObject的持久存储方式。

3.数据类型简述

 <1>数字

  (1)int(整型)

    在32位机器上,整数位数为32位,取值范围为-2**31~2**31-1;同理,在64位机器上整数位数为64位,范围为-2**63~2**63-1。

  (2)long(长整型)

    和C语言不同,Python的长整数没有指定位宽,即Python没有限制长整型数值的大小,但机器内存是有限的,不可能无限大。

   值得注意的是,Python2.2以后,整数发生溢出,Python会自动将整数转换为长整数,所以如今长整数之后不加L也不会出错。

  (3)float(浮点型)

    浮点数即实数,类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩余一位为符号。

  (4)complex(复数)

    复数由实数和虚数两部分构成,一般形式为x+yj,x表示实数,y表示虚数。

 <2>布尔值

    真(True)或假(False)

    1或0

<3>字符串

  例如:"Hello World!"

  字符串拼接,“+”每出现一次就会在内存中重新开辟一块空间。

<4>bytes类型

  Python 3中对文本和二进制数据作了清晰的区分,文本总是Unicode,由str类型表示,二进制数据(如视频,图片等)则由bytes类型表示。

 msg = "我们的目标是星辰大海"
print(msg.encode(encoding='utf-8')) #encode即为编码,将字符串编码为二进制数据(数据传输时必须转)
#输出结果为:b'\xe6\x88\x91\xe4\xbb\xac\xe7\x9a\x84\xe7\x9b\xae\xe6\xa0\x87\xe6\x98\xaf\xe6\x98\x9f\xe8\xbe\xb0\xe5\xa4\xa7\xe6\xb5\xb7' print(msg.encode(encoding='utf-8').decode(encoding='utf-8'))#decode即为解码,将二进制数据解码为字符串等
#输出结果为:我们的目标是星辰大海

4.三元运算

  result = 值1 if 条件 else 值2(如果if后的条件成立,则result = 值1,否则result = 值2)。

 a = 1
b = 2
c = 3
d = a if a > b else c #result = 值1 if 条件 else 值2
print(d)
#如果条件为真,d = a;如果条件为假,d = c。

5.进制

  二进制:0 1

  八进制:0 1 2 3 4 5 6 7

  十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F

  二进制和十六进制的相互转换可参考https://jingyan.baidu.com/article/47a29f24292608c0142399cb.html