0%

python入门

TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

一、基础

  1. Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

  2. 应用领域

    • Web和Internet开发
    • 科学计算和统计,此处不得不提MATLAB
    • 人工智能
    • 教育
    • 桌面界面开发
    • 软件开发
    • 后端开发
  3. 安装(Mac):系统自带Python2

    • 方式一:使用Homebrew brew install python3
    • 方式二:使用安装包,传送门
  4. 参考

二、基本数据类型

  1. 总览
类型 说明 备注
Number 数字 Python3支持int、float、bool、complex
String 字符串
Tuple 元组 元组的元素不能修改
List 列表 元素的类型可以不相同,它支持数字,字符串甚至可以包含列表
Set 集合 创建一个空集合必须用set()而不是{ }
Dictionary 字典 创建一个空字典{}
  1. 分类

    • 不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组);
    • 可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)。
    • 内置的type()函数可以用来查询变量所指的对象类型
    • 在python中,类型属于对象,变量是没有类型的
  2. demo(直接在命令行进行)

    • 数字类型:python3支持int、float、bool、complex四种。
      • python3只有一种整数类型int,表示长整型,没有python2中的long
      • python2没有布尔型,它用数字0表示False,用1表示True;python3中True和False为关键字,它们的值还是1和0,可以进行数值运算
    1
    2
    >>> a, b, c, d = 1, 2.3, True, 4+5j
    >>> print(type(a),type(b),type(c),type(d))
    • 字符串类型:python中的字符串用单引号’或双引号”括起来,同时使用反斜杠\转义特殊字符,如果不想让反斜杠发生转义,可以在字符串前面添加一个r来表示原始字符串。

      • 字符串截取:变量[头下标:尾下标],索引值以0为开始值,-1为从末尾的开始位置
      • 加号+是字符串的连接符
      • 星号*表示复制当前字符串,紧跟的数字为复制的次数
      • 字符串不可通过索引下标改变原来的值
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      >>> str = 'hello world'
      >>> print(type(str))

      >>> str1,str2 = 'Hello', 'World'
      >>> print(str1 + ' ' + str2)

      >>> str3 = 'Num'
      >>> print(str3 * 3)

      >>> str4 = "01234"
      >>> print(type(str4))
      >>> print(str4[0])

      ## 开区间
      >>> print(str4[0:-1])

      >>> print(str4[0:])
      >>> print(str4)

      >>> str = 'abc'
      >>> str[0]='x'
      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      TypeError: 'str' object does not support item assignment
    • 列表List:写在方括号 [] 之间、用逗号分隔开的元素列表,它可以完成大多数集合类的数据结构实现,另外列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表,即嵌套列表,基于以上种种特性,它是python中使用最频繁的数据类型。

      • 列表截取:变量[头下标:尾下标],索引值以0为开始值,-1为从末尾的开始位置。
      • List中的元素是可以改变的,和字符串的不同之处
      • 列表截取可以接收第三个参数,参数作用是截取的步长
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      >>> list = [1, 2, 3, 4]
      >>> print(type(list))

      >>> list[0]='aa'
      >>> print(list)

      >>> list=[1, 2, 3, 4]
      >>> print(list[0:-1])

      ## 开区间
      >>> list1 = [1, 2, 3, 4, 5]
      >>> list1[1:2] = [['a', 'b', 'c']]
      >>> print(list1)

      >>> list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
      >>> print(list2[1:7:2])
    • 元组Tuple:元组与列表类似,不同之处在于元组的元素不能修改。

      • 元组写在小括号()里,元素之间用逗号隔开
      • 其他属性可参见字符串或列表类型
      1
      2
      >>> t = (1, 2, 3, 4, 5)
      >>> print(type(t))
    • 集合Set:由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

      • 可以使用大括号{}或者set()函数创建集合
      • 创建一个空集合必须用set()
      • 集合元素不能为列表类型
      • 集合元素不能重复
      1
      2
      >>> s = {1, 'abc'}
      >>> print(type(s))
    • 字典Dictionary:字典是一种映射类型,字典用{ }标识,它是一个无序的键(key):值(value)的集合。

      • 列表是有序的对象集合,字典是无序的对象集合,两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
      • 构造函数dict()可以直接从键值对序列中构建字典:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      >>> d = {}
      >>> print(type(d))

      >>> d = {'name':'tom', 'age':10}
      >>> d[1] = 1
      >>> d[0] = 0
      >>> print(d)

      >>> d = dict([('name', 'tom'), ('age',12), ('sex', '男')])
      >>> print(d)
      >>> d['name'] = 'jerry'
      >>> print(d)
  3. 参考

三、函数

  1. 函数代码块以def关键词开头,后接函数标识符名称和圆括号()

  2. 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

  3. 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

  4. 函数内容以冒号起始,并且缩进。

  5. return [表达式]结束函数,选择性地返回一个值给调用方。

    • 不带表达式的return相当于返回None
  6. demo

1
2
>>> def hello():
... print("hello") ##要有空格,否则报错
  1. 调用函数
1
>>> hello()
  1. 参考

四、模块包库

  1. 模块:在Python中一个.py文件就可以称为一个模块,其表达的含义是实现了某个功能
  2. 包:它是一个类似文件夹的东西,里面包含了很多.py文件,最主要的是有一个__init__.py文件,它描述了有多少个模块的东西。
    • 包管理器又称软件包管理系统,它是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。
    • pip是Python包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能,就如同composer之于php,npm之于js等。
  3. 库:它是一个完整的项目打包,可直接调用或者运行,一个库中可能有多个包。
    • 标准库
    • 第三方库

库 > 包 > 模块从大到小的层级关系

  1. 使用

    • 包管理
      • 查找相关扩展pip search sh
      • 安装某个扩展pip install sh
        • 移除pip uninstall sh
      • 查看安装列表pip listpip freeze
      • 查看扩展信息pip show sh
  2. 参考