python学习(一)——简介、对象与引用

1479-叶同学

发表文章数:4

热门标签

首页 » Python » 正文

python简介

python

python:官网](www.python.org) ,译为“大蟒蛇”,吉多·范罗苏姆(Guido van Rossum )在荷兰国家数学和计算机科学研究所设计出来的,在1989年发明,1991年正式公布。
python学习(一)——简介、对象与引用

python特点

  1. 可读性强,在一行语句过长的情况下,可以使用行连接符“/”连接;
  2. 是一门解释性语言,易于学习,便于理解,但性能较低;
  3. 易于维护;
  4. 面向对象编程;
  5. 免费开源;
  6. 具有可移植性、支持跨平台操作;
  7. 有着丰富的库;
  8. 具有可拓展性,胶水式语言;
  9. 数据库,python提供所有主要的商业数据库接口;
  10. GUI编程;

python2与python3

python2在2000年发布,最新版本为2.7,已停止更新。
python3在2008年发布,两者之间存在兼容问题,可以使用2to3的转换工具无缝迁移。这是python自带的脚本,可以参照官网说明,简单使用方式如下:

2to3 file.py		# 在命令行中使用,打印转换文件和源文件区别
2to3 -w file.py		# 通过传入-w参数,将需要的修改协会原文件中
# 以上操作均是在原文件的基础上创建副本,可传入-n为直接修改

python解释器

解释器 说明
CPython 基于C语言的解释器,最常用的解释器
Jython 基于Java解释器,可以直接调用Java库
IronPython .NET平台上使用的解释器,可以直接调用.NET平台的类
PyPy 使用Python语言实现的解释器

python开发环境(IDE)

IDLE为python默认安装开发环境。
自己可使用一些集成的python开发环境,如Anaconda、Pycharm等,可有效提高编程效率,还可以按需使用文本编辑器,如Sublime Text3、VS code、notepad++等,也可利用Jupyter等进行网页编程。

在cmd命令行中也可直接使用 python ex1.py 来运行python文件,以下是cmd命令行的简单认识:

  1. ">>>"是提示符
  2. 交互窗口的关闭:Ctrl + Z,quit(),直接关闭
  3. 中断程序运行:Ctrl + C

对象

对象是python中对数据的抽象,实际上是一个内存块,每一个对象由以下元素构成:

组成成分 说明
标识(identity) 用于唯一标识对象,通常对应于对象在计算机内存中的地址 id(obj)
类型(type) 对象存储的数据类型 type(obj),一个对象的类型是不可改变的
值(value) 对象所存储的数据信息 print(obj),有些值可变,有些不可变,由其类型决定

注:在某些情况下有可能基于可控的条件改变一个对象的类型。但这通常不是个好主意,因为如果处理不当会导致一些非常怪异的行为。

对象绝不会被显式地销毁,当无法访问时它们可能会被作为垃圾回收。

标识符

用于变量、函数、类、模块等的名称。它有如下特定规则:

  1. 对大小写敏感;
  2. 第一个字符必须是字母、下划线;
  3. 不能使用关键字,可使用help() help>keywords查看,也可在官方文档中查询;
  4. 以双下划线开头和结尾的名称通常有特殊含义,尽量避免。

关键字如下:

False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield

标识符有约定俗成命名规则如下:

类型 规则 例子
模块和包名 全小写字母,尽量简单,若多个单词之间用下划线 numpy
函数名 全小写字母,多个单词之间用下划线隔开 identify_words
类名 首字母大写,采用驼峰规则 MyClass
常量名 全大写字母,多个单词使用下划线隔开 PI

类型

数字型(numbers)

类型 说明 说明++
整型数 包含:整型(int),布尔型(bool) 整型可以表示任意大小的数字,仅仅收受内存限制
浮点型数 float,表示双精度浮点数 其取值范围和溢出处理受底层的极其架构控制,注意:python不支持单精度浮点数
复数型 complex,以一对双精度浮点数来表示复数值 z.real与z.imag可分别取实部、虚部

序列

类型 说明 说明++
字符串 string,不可变对象,由 Unicode 码位值组成的序列 Python 没有 char 类型,将字符串中的每个码位表示为一个长度为 1 的字符串对象
元组 tuple,不可变对象,元组中的元素可以是任意python对象 由括号创建,逗号作为分隔,单元素后需要加逗号
字节串 bytes,不可变对象,其中每个元素都是一个 8 位字节,以取值范围 0 <= x < 256 的整型数表示 bytes(‘你好,世界, 123’,‘utf-8’)
列表 list,可变对象,可以是任意元素构成 [1, “123”, True]
字节数组 可变数组 可以通过内置的 bytearray() 构造器来创建

集合

类型 说明 说明++
集合 set,可变对象 可通过内置的 set() 构造器创建
冻结集合 frozenSet,不可变集合 可通过内置的 frozenset() 构造器创建

映射

类型 说明 说明++
字典 dict,可变对象表示由几乎任意值作为索引的有限个对象的集合 {keys: values},不可作为键的值类型只有包含列表或字典或其他可变类型,通过值而非对象编号进行比较的值(高效的字典实现需要使用键的哈希值以保持一致性)

可调用类型

此类型可以被应用于函数调用操作。

类型 说明 说明++
用户定义函数 通过def创建
实例方法 用于结合类、类实例和任何可调用对象 (通常为用户定义函数) 有着特殊的只读属性,selffuncdocnamemodule
生成器函数 使用 yield 语句 的函数或方法 函数在被调用时,总是返回一个可以执行函数体的迭代器对象
协程函数 使用 async def 来定义的函数或方法 在被调用时会返回一个 coroutine 对象
异步生成器函数 使用 async def 来定义并包含 yield 语句的函数或方法 函数在被调用时会返回一个异步迭代器对象
内置函数 内置函数对象是对于 C 函数的外部封装 内置函数参数的数量和类型由 C 函数决定
内置方法 内置函数的另一种形式,不同的是包含了一个传入 C 函数的对象作为隐式的额外参数
通常是作为“工厂”来创建自身的实例
类实例 任意类的实例通过在所属类中定义 call() 方法即能成为可调用的对象

模块

模块是 Python 代码的基本组织单元,由导入系统创建,由 import 语句发起调用,或者通过 importlib.import_module() 和内置的 import() 等函数发起调用。

其他类型

自定义类、类实例、I/O对象、内部类型

内部类型 说明
代码对象 表示编译为字节的可执行Python 代码
帧对象 表示执行帧
回溯对象 表示一个异常的栈跟踪记录
切片对象 切片对象用来表示 getitem() 方法得到的切片
静态方法对象 静态方法对象提供了一种避免上文所述将函数对象转换为方法对象的方式,静态方法对象为对任意其他对象的封装,通常用来封装用户定义方法对象。当从类或类实例获取一个静态方法对象时,实际返回的对象是封装的对象,它不会被进一步转换,静态方法对象自身不是可调用的,但它们所封装的对象通常都是可调用的
类方法对象 类方法对象和静态方法一样是对其他对象的封装,会改变从类或类实例获取该对象的方式

引用

变量通过地址实现了对对象的引用,变量在栈中,对象在堆中,两者分离

  1. python是动态类型语言,变量不需要显式声明类型,自动根据引用的对象类型来确定类型,因为引用的对象实际上是一个内存块,其中已经包含了type;
  2. python是强类型语言,只支持对象的类型支持的操作,如set不可以索引

参考资料

  1. https://docs.python.org/zh-cn/3.7/library/2to3.html
  2. https://docs.python.org/zh-cn/3/reference/lexical_analysis.html#keywords
  3. 一视频教程
  4. python官方文档
  5. https://www.runoob.com/python/python-intro.html
标签:

未经允许不得转载:作者:1479-叶同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《python学习(一)——简介、对象与引用》 发布于2020-12-11

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录