【Pyhton】学习笔记1-基础篇(变量 数据结构 运算符)

【Pyhton】学习笔记1-基础篇

是什么

在学习Python之前,我们需要了解它

Python is a programming language that lets you work quickly
and integrate systems more effectively.

这句写在官网上的话,显然是句废话。除了废话之外,我们能看出它突出的是快速有效

Python 是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还有简单有效的面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。

这句写在官网教程上的话,表明了Python的特点

  • 简单高效
  • 动态类型
  • 解释型语言
  • 大部分用于写脚本和开发应用

动态语言

如果你是已经使用过一种或者一种以上编程语言的开发者,这个不需要怎么解释。
简单解释为:可以在运行过程中自动隐式转换成需要的数据类型。

解释型语言

解释型语言区别于编译型语言,即每次运行都需要调用解释器让计算机看懂含义。而编译型语言,一次编译之后计算机即可执行。

解释型语言

能做什么

上面简单提到了python的使用场景,详细分类的话如下

  • web开发: Django, Pyramid, Bottle, Tornado, Flask, web2py
  • GUI开发: tkInter, PyGObject, PyQt, PySide, Kivy, wxPython
  • 科学和数字计算: SciPy, Pandas, IPython
  • 软件开发: Buildbot, Trac, Roundup
  • 系统管理: Ansible, Salt, OpenStack

也就是凭借着简单易懂,Python在各个领域都有广泛应用。
但是,语言作为一项工具,能做什么是一方面,作为使用者的我们想用来做什么是另一方面。

环境&版本

本系列文章会陆续用到个人的两台电脑

  • MacBookPro
  • Win10

Python版本为 3.7 ,推荐使用官方稳定版 3.7.3
由于这两年的库的完善,本系列文章不再推荐和使用Python2.x

目的&目标群体

目的

  • 了解Python语法
  • 能编写完整的项目,实现具体业务

目标群体

  • 有一定编程经验,最少熟悉一门编程语言的开发人员

变量

数值类型

int 整型

Python3.x的int类型包含了Python2.x中的short、int、long

m = 2333333333333333333333333
print(type(m))

<class 'int'>

整型可以按4种进制表示,分别为 十进制、二进制、八进制、十六进制,在实际开发过程中,有需求可以转换成对应进制进行计算。

float 浮点型

m = 2333333333333333333333333.0
print(type(m))

<class 'float'>

complex 复数

m = 23333 + 0.3j
print(type(m))

<class 'complex'>

str 字符串

Python的字符串控制非常自由,字符串拼接用的+,需要注意的是,如果数值和字符串拼接需要将数值进行转换。

m = "222"
n = 2.3
print(m + str(n))
print(type(m + str(n)))

2222.3
<class 'str'>
如果不转换,会提示TypeError: can only concatenate str (not "float") to str

和PHP不同的是,Python可以通过索引控制字符串,相当于PHP简单的数组操作。这个来讲还是很方便的。

字符串的其他用法,比如格式化、替换、大小写转换,这些本质上都属于API的调用,对照文档就能明白的,这里就没有必要一一做实例了。

对于字符串,只需要知道,Python是把字符串当做序列来看的就OK。

bytes 字节

区别于字符串的是,bytes存储的是二进制字节。

m = b"2223"
print(m)
print(type(m))
b'2223'
<class 'bytes'>

数据结构

了解数据结构的意义在于明白

  • 这个东西在这个语言里怎么表达
  • 这个东西在这个语言的边界是什么
  • 这个东西跟我之前用的语言有啥不一样的

看过我其他文章的读者知道,我目前主要使用PHP作为开发语言,所以在后续过程中,我有时候会和PHP做对比,来讲他们的异同。

Python的数据结构为这几种

  • 列表 list
  • 元祖 tuple
  • 字典 dict
  • 序列
  • 集合 set

列表[1,2]是可变的,元祖(1,2)不可变的。
比较有意思的是,列表支持乘法运算,将列表内的元素乘以多少倍。
列表的常用操作,添加删除元素、排序等方法比较常规,所以不展开。

字典是有key-value结构的列表,样子很像json。

m = {"m1":23,11:22}
print(m)
print(type(m))

{'m1': 23, 11: 22}
<class 'dict'>

集合是没有重复元素的,例如 {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
同时这里的集合也是数学概念上的集合,可以使用子交并补的方式计算。

运算符

运算符分为

  • 赋值运算符 =
  • 算术运算符
  • 位运算符
  • 比较运算符
  • 逻辑运算符

运算符的优先级如下

在这里插入图片描述

总结

  1. 熟悉一种语言不需要事无巨细的了解每个函数的用法
  2. 快速的根据自己熟悉的语言去对比新学习的语言,找到不同
  3. 多看官方文档,国内的计算机书籍能不看就不看

参考资料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章