初识Python3

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。

简介

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。

像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。

Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。

环境安装配置,请参考基础服务系列-Centos7 安装Anaconda

本文记录初识Python3中的点点滴滴。

入门

一般情况下,熟悉一门编程语言的话,对比着学习另外一种会轻松很多。

Python的特点是,入门容易,精通难。

基础的语法、数据类型,参考Python3 基础语法

语法练习,可以使用在线笔记Jupyter。

也可以直接注册一些在线的。

  • 阿里云天池:阿里大数据平台,会有一些比赛、数据集、AI学习路线图。
  • Azure notebook:微软提供的在线Jupyter服务。
  • Cocalc:一个科学计算平台。
  • Kaggle :一个AI比赛平台,该平台有一个在线版的jupyter运行环境,提供免费的K80 GPU。
  • Colab:谷歌提供的免费在线云计算平台。

常用类库

文件操作

CSV

内置csv module

CSV File Reading and Writing 写文件。。。

import csv

headers=['date','open','high','low','close','volume','name','stockcode']
train_csv="data.csv"
result=((datetime.date(1990, 12, 19), 185.3, 185.3, 185.3, 185.3, 5000, '延中实业', '600601'), (datetime.date(1990, 12, 24))

with open(train_csv,'w') as f:
    f_csv=csv.writer(f)
    f_csv.writerow(headers)
    f_csv.writerows(result)
print('write train csv success')

读文件。。。

import csv

data_file="test.csv"
with open(data_file) as f:
    data=csv.reader(f)
    header=next(data)
    print(header)
    for row in data:
        print(row)

pandas

写文件。。。

import pandas as pd

headers=['date','open','high','low','close','volume','name','stockcode']

data=((datetime.date(1990, 12, 19), 185.3, 185.3, 185.3, 185.3, 5000, '延中实业', '600601'), (datetime.date(1990, 12, 24))
file_name='test.csv'
save=pd.DataFrame(data,headers)
save.to_csv(file_name)

读文件。。。

import pandas as pd
train_csv="train.csv"

data=pd.read_csv(train_csv)
print("read success",data)

DB操作

mysqlclient

由于 MySQL-python 年久失修,后来出现了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同时支持 Python3.x,是 Django ORM的依赖工具,如果你想使用原生 SQL 来操作数据库,那么推荐此驱动。安装方式和 MySQLdb 是一样的,Windows 可以在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 网站找到 对应版本的 whl 包下载安装。

PyMySQL

PyMySQL 是纯 Python 实现的驱动,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQL-python

import pymysql

url,user,pwd,name='106.13.49.215','root','root','jup'
db=pymysql.connect(url,user,pwd,name)
cursor=db.cursor()
#创建数据库
create="create database jup"
cursor.execute(create)
db.commit()
#创建表
create= """CREATE TABLE sku (
         id bigint(20) not null AUTO_INCREMENT,
         date date,
         price float(32,9),
         name varchar(32) NOT NULL,
         PRIMARY KEY (id) USING BTREE
         )"""

cursor.execute(create)
db.commit()
#插入数据
insert="""insert into sku(date,price,name)values('%s','%s','%s')""" % '2019-02',23.89,'奶粉'

cursor.execute(insert)
db.commit()

#查询
query="""select * from tb_address"""
cursor.execute(query)
result=cursor.fetchall()

print(result)

爬虫

Scrapy

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。

项目地址:https://scrapy.org/

PySpider

pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。

项目地址:https://github.com/binux/pyspider

Crawley

Crawley可以高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。

项目地址:http://project.crawley-cloud.com/

机器学习

matplotlib.pyplot

Matplotlib是一个Python 2D绘图库,可以生成各种硬拷贝格式和跨平台交互式环境的出版物质量数据。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。

Matplotlib中文文档

Pandas:python数据分析库

Pandas是一个开源的,BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。 一个快速、高效的DataFrame对象,用于数据操作和综合索引;用于在内存数据结构和不同格式之间读写数据的工具:CSV和文本文件、Microsoft Excel、SQL数据库和快速HDF 5格式。

Pandas中文文档

NumPy

NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组。它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体验在原生Python中永远无法体验到的速度。

NumPy中文文档

参考

8个最高效的Python爬虫框架,你用过几个?

Python有哪些常见的、好用的爬虫框架?

用 Python 连接 MySQL 的几种姿势

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券