【数据挖掘】002 python的数据结构和基本语法

python

  • 定义:python是一门面向对象、直译式编程语言
  • 特点:
    • 编写简单
    • 上手迅速
    • 开源扩展包丰富
  • 优点:
    • 简单易学:python的代码比较简洁,语法比较简单,容易上手
    • 开源:用户可以免费使用
    • 可移植性好:在不同的平台都可以运行,需要注意运行环境的配置
    • 可扩展性:python拥有丰富的第三方库
  • 缺点:
    • python在底层做了很多工作,其运行速度比C,JAVA等要慢很多
    • 由于各种扩展库太过于庞大,导致配置相关包有些困难【不同版本的包不兼容】

数据类型

类型名        说明               描述
str           字符串类型         一段字符串
int           整型              整数,比如1,2,3
float         浮点型            比如0.1, 0.315
bool          逻辑值            ture or false
complex       复数              数学上的概念
bytes         字节型            原始的数据类型,可以理解为01代码
list          列表              有序可修改的列表
tuple         元祖              元祖比较特别,它是一个不可以修改的有序列表
set           集合              无序,唯一的值的集
dict(map)     字典              类似于map
  • python在声明一个变量时可以不声明它的类型,在赋值时确定类型
  • 在声明的容器型变量中,内部的元素类型时任意的
  • 由于列表、集合和字典非常频繁地使用
  • 在数据挖掘过程中,数据通常以向量的方式表示、存储在列表中

列表

可以理解成为一个有序可重复的数组,主要用于按顺序存放数据

list = ['one', 'two', 3, 4, 5]

列表中的元素是有序的,每个元素都有一个位置标记,并且元素可以重复

print(list[0])  # 输出 one
print(list[4])  # 输出 5

列表的基本操作

  • 添加

  • 删除

  • 修改

  • 另外,python提供了一系列的扩展功能,如查询列表长度、列表运算 等等

    list.append(x)  # 向列表中添加一个新的元素x
    del list[2]  # 删除了位于位置2的元素,注意,此时后面的元素会补充进来,所以位置2上仍然有元素
    

修改元素、查询列表长度、列表的运算以及判断某一元素是否在列表中

list[2] = 'three'  # 修改位于位置2的列表元素
len(list)  # 返回列表的长度
list1 + list2  # 列表相加,返回一个新的列表,里面按顺序有 list1 和 list2 的所有元素
list1 * 2  # 列表重复,返回一个新的列表,里面按顺序出现 list1 中的元素两次
x in list  # 判断 list 中是否有 x 这个元素

集合

集合是一个无序的不重复序列,可以使用大括号 {} 或者 set() 函数创建集合
注意:创建一个空集合必须使用 set() 而不能使用 {} ,因为 {} 是用来创建一个空字典的

abc = set()  #  新建一个叫 abc 的集合
abc.add(x)  # 向 abc 中添加一个元素 x
abc.remove(x)  # 从 abc 中删除元素 x 

字典

字典中存放的每一个元素是一个键值对, (key: value), key是不能重复的,存入相同的 key, 它的 value 会被替换成最新的, dict = {} 代表使用大括号声明一个空字典
字典中元素可以是任意类型,比如数值、字符串、列表、甚至是字典

dict = {'a':1, 'b':2, 5: 4}  # 创建一个字典
dict['c'] = 3   # 向字典中添加键值对
  del dict['a']  # 删除字典中的键值对  【只需要标记key就删除了键值对】

编写python代码的注意事项:

  • 标识符:

    • 标识符是定义的名称,包括类名、变量名,等等
    • 标识符的大小写是敏感的,且第一个字符必须是字母表中的字母或者 ‘_’
    • 在 python3 中,中文可以被用作变量名
    • 不能使用 python 自留标识符作为标识符,比如 def, ture, false等
  • 注释:

    • 注释单行, 使用 ‘#’ ,出现在 # 后面的内容全部变成注释,不会被运行
    • 注释一段,使用 ''' 或者 “”“ 来处理多行注释
  • 使用缩进来标记代码块
    很多编程语言中,比如C++, JAVA,使用 {} 来对代码进行分割,在Python中,使用缩进来对代码进行控制
    使用IDE(集成开发环境)编辑代码,有缩进提醒

    • 代码太长,可以使用 ‘\’ 进行连接【括号内的内容不需要使用 \ ,直接换行即可】

      num = num + \
            a + \
            b + \
            c
      
  • 导入其他模块

    • import主要作用时导入整个模块,或者导入模块中的模块

    • from ... import 是从某个模块中导入某个方法(函数)

      import tensorflow as tf  # 导入 tensorflow 模块,并起了一个新名字 tf, 这主要是为了方便代码编写
      from model import yolov3  # 从 model 模块中导入 yolov3 方法
      from math import *   # 从math模块中导入所有的方法
      

python的常用语法

  • 条件语句
  • 循环语句
  • pass语句

条件语句

if condition1:
  statement 1    

elif condition2:
statement 2
else:
statement 3

具体的例子

# 具体的例子,找到a, b, c中最大的数,其中and是逻辑运算符 ‘且’ 的意思:
if a>b and a>c:
  print(a)
elif b>a and b>c:
  print(b)
else:
  print(c)

循环语句:

  • while循环

    # a>b 循环输出a, b加1,直到a<=b 循环终止
    while a>b:
      print(a)
      b = b + 1
    
  • for循环

    # 在区间 [0, 100] 循环输出 i, 即从0开始到100 循环终止
    for i in range(0, 100):
      print(i)
    
  • continue 跳过

    # i 在区间 [0, 100] 循环输出i, 但是如果 i < 50 就跳过本次,下面的 print 语句得不到执行,一只循环到 i >= 50才会执行 print
    for i in range(0, 100):
      if i < 50:
        continue
      print(i) 
    
  • break 终止循环

      #  i 在区间 [0, 100] 循环输出i, 但是如果 i > 50 就遇到break,终止循环,下面的 print 语句总共执行50次
    for i in range(0, 100):
      print(i)
      if i > 50:
        break
    

pass语句

pass语句代表什么都没有,主要用于一些特殊的位置

# 写一个代码,当 i < 50 的时候什么都不做
for i in range(0, 100):
  print(i)
  if i < 50:
    pass
  else:
    print(i)

工具

  • pycharm
  • Spider
  • VIM
  • Sublime
  • Jupyter Notebook
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容