Python【No-1】总叙

  • 语言哲学: 简洁
  • 类型:解释型语言、动态语言、面向对象(一切皆对象)
  • 缺点:
    1. 速度慢
    2. 代码不能加密

解释器

CPython

默认解释器。

PyPy

目标是执行速度,采用JIT技术,对python代码进行动编译。
但是与CPython不同。 PyPy VS CPython

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

命令行模式 & 交互模式

命令行模式

┌──────────────────────────────────────┐
│Command Prompt - □ x │
├──────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:> _ │
│ │
└──────────────────────────────────────┘

可以切换到文件所在目录下,然后输入 python 文件名.py 来执行python文件

Python交互模式

┌────────────────────────────────────────┐
│Command Prompt - python - □ x │
├────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0] │
│(c) 2015 Microsoft Corporation. All rights reserved. │
│ │
│C:> python │
│Python 3.7 ... on win32 │
│Type "help", ... for more information. │
│>>> 100 + 200 │
│300 │
│>>> _ │
│ │
└────────────────────────────────────────┘

输入 python 进入交互模式, 输入 exit()quit() 退出交互模式

文件名

  • 扩展名:.py
  • 文件名:英文字母、数字、下划线

直接运行.py文件

  • Win
  • Linux
  • Mac

前提:

  1. 在hello.py文件的第一行加上一个特殊的注释 #!/usr/bin/env python3 , 如
#!/usr/bin/env python3

print("Hello World!")
  1. 通过命令给hello.py文件执行权限
$ chmod a+x hello.py

中文编码

Python2 默认编码格式是:ASCII,使用中文会出错
解决方法:在文件开头加入 # -*- coding: UTF-8 -*-# coding=utf-8

#!/usr/bin/python
# -*- coding: UTF-8 -*-

print("放码过来")

Python3 默认编码格式是:UTF-8,所以无需指定编码格式
注意:py文件需要存储格式为 UTF-8

#!/usr/bin/env python3

print("放码过来")

但最好还是加上

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

print("放码过来")

python的一切皆对象

# 示例如下
a=2019
b="一切皆对象"
print(type(2019))
print(type(int))
print(type(b))
print(type(str))

class Student:
    pass

stu = Student()
print(type(stu))
print(type(Student))
print(int.__bases__)
print(str.__bases__)
print(Student.__bases__)
print(type.__bases__)
print(object.__bases__)
print(type(object))
print(type(type))

运行结果:

                           # 2019是由int这个类创建的实例
                      # int这个类是由type这个类创建的实例
                           # 同上

                  # stu是类Student创建的实例
                      # 类Student是由type这个类创建的实例
(,)                     # 类int的基类是object这个类
(,)                     # 同上
(,)                     # 同上
(,)                     # 重点:类type的基类也是object这个基类
()                              # 重点:类object没有基类
                      # 难点:类object是由类type创建的实例
                      # 难点:类type是由type类自身创建的实例

一切皆对象

对于上面图片的解读如下:

  1. object是一切对象:list、str、dict、tuple的基类,同时object是type的实例
  2. 类type是自身的实例,同时type也继承自object类
  3. 由结论1和结论2,得出一切皆对象,同时一切皆继承自object类

类object是一切对象的基类
类object类type的实例

类type继承自类object
类type类type的实例

一切皆对象,一切皆继承自object类

你可能感兴趣的:(Python【No-1】总叙)