python项目课程
python基础课程,适合初学者学习,需要配合下载该博客的教学文件。
专栏包括基础课程,对数据库的操作,可视化课程。
韩淼燃
最近在更新运维专栏。欢迎大家来点赞,关注。
展开
-
折线图中文标题出现乱码解决办法
import matplotlib.pyplot as pltimport randomi = 100squares = []while i>0: squares.append(random.randint(0,999)) i-=1plt.plot(squares,linewidth=2)#linewidth线条粗细,出图方法plt.rcParams['font...原创 2019-11-29 22:08:12 · 895 阅读 · 0 评论 -
第七课--github数据的可视化和仪表盘
import requestsimport pygalfrom pygal.style import LightColorizedStyle as LCS, LightenStyle as LS# 处理一个apiurl = 'https://api.github.com/search/repositories?q=language:python&sort=stars'r = ...原创 2019-08-27 19:53:47 · 424 阅读 · 0 评论 -
第六课--json数据的使用和分析
import jsonimport pygalimport mathfrom itertools import groupby# 提取json数据filename = 'btc_close_2017.json'with open(filename) as f: btc_data = json.load(f)dates = []months = []weeks = [...原创 2019-08-27 19:52:54 · 263 阅读 · 0 评论 -
第五课--csv的使用
import csvfrom matplotlib import pyplot as pltfrom datetime import datetime# filename = 'sitka_weather_07-2014.csv'# filename = 'sitka_weather_2014.csv'filename = 'death_valley_2014.csv'with o...原创 2019-08-27 19:52:12 · 383 阅读 · 0 评论 -
第四课--pygal 的使用
'''pygal 的使用pygal画廊'''from random import randintimport pygalclass Die(): ''' 色子类 ''' def __init__(self, num_sides=6): self.num_sides = num_sides def roll(self):...原创 2019-08-27 19:51:23 · 322 阅读 · 0 评论 -
第三课--随机漫步
'''随机漫步'''import matplotlib.pyplot as pltfrom random import choiceclass RandomWail(): ''' 生成一个随机漫步的数据 ''' def __init__(self,num_points=50000): self.num_points = num_poin...原创 2019-08-27 19:50:42 · 409 阅读 · 0 评论 -
第二课--散点图绘制
'''散点图绘制'''import matplotlib.pyplot as plt# 画布大小plt.figure(figsize=(10, 10))'''多点'''# x_values = [2,3,4,5,6,7,8,10]# y_values = [3,4,5,6,7,8,9,11]'''自动化绘制点'''x_values = list(range(1, 1...原创 2019-08-27 19:50:10 · 617 阅读 · 0 评论 -
第一课--绘制简单的折线图
'''绘制简单的折线图'''import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties# 校正图形input_value = [1, 2, 3, 4, 5, 6]# 数据值lists = [1, 4, 22, 66, 88, 77]# linewidth:此参数是加粗线条...原创 2019-08-27 19:49:29 · 286 阅读 · 0 评论 -
第六课--python的装饰器
装饰器是对闭包函数的操作。也是python中独有的。创建了一个装饰器之后,只需在其他方法或函数的顶部使用@装饰器名称就可以了。看案例from datetime import datetimedef run_time(fun): def new_fun(): s_time = datetime.now() fun() e_time ...原创 2019-07-27 18:47:52 · 160 阅读 · 0 评论 -
第五课--python的线程
python中对线程支持友好,有对应的第三方包。threading(推荐使用)threading()和函数搭配,然后start启动就可以。具体,请看案例。import timefrom threading import Threaddef hello(): print('hellos') time.sleep(5) print('gaoci')def hi(...原创 2019-07-27 18:46:32 · 105 阅读 · 0 评论 -
第四课--python模块json,hashlib,base64,datetime,logging
json是一种数据格式,也是通用的数据格式,他不是数据结构,是字符串。python3中内置了json包也就是直接引用就可以,import json看案例import json# my_dic = {# 'a':1,# 'b':[1,2,3],# 'c':True,# 'd':None,# 'e':(1,2,3,4)# }# res...原创 2019-07-27 18:45:26 · 221 阅读 · 0 评论 -
第三课--python对mongo的使用
python3链接mongodb需要安装包,使用pip安装。import pymongoclient = pymongo.MongoClient()mydb = client['new_163']mycol = mydb['items']data = mycol.find()print(data)for i in data: print(i['_id'])看案例im...原创 2019-07-27 18:41:13 · 215 阅读 · 0 评论 -
第二课--python对redis数据库的使用
python3链接redis需要安装包,命令pip install redis,我们可以使用dir查看方法和属性import redisredis.Redis():默认链接host=127.0.0.1,port=6379redis.方法()看案例import redisr = redis.Redis()r.set('a',1)print(r.get('a').decode()...原创 2019-07-27 18:39:43 · 203 阅读 · 0 评论 -
第一课--pymysql对mysql数据库的使用
python3链接mysql需要安装包,命令pip install pymysql,我们可以使用dir查看pymysql中的方法和属性import pymysqlcon = pymysql.connect():链接mysqlcur = con.cursor():获取游标对象cur.execute(sql):执行sqldata = cur.fetchone():返回一条数据data =...原创 2019-07-27 18:38:11 · 210 阅读 · 0 评论 -
第三课--python3json的使用
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。import jsondata = { 'a':1, 'b':2, 'c':3}json_str = json.dumps(data)print(json_str)json_str = json.loads(json...原创 2019-07-27 12:11:22 · 131 阅读 · 0 评论 -
第二课--CGI编程
Apache 支持CGI 配置:1》配置httpd.conf cgi指向的位置ScriptAlias /cgi-bin/ /var/www/cgi-bin/ (第一个参数是cig的目录,第二个是执行目录)2》配置httpd.conf 解析目录的权限<Directory "/var/www/cgi-bin"> AllowOverride None Optio...原创 2019-07-27 12:10:03 · 123 阅读 · 0 评论 -
第一课--python正则表达式(需要提前看正则表达式的课程)
内置re模块。re.match(表达式,字符串,修饰)尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。re.search(表达式,字符串,修饰)扫描整个字符串并返回第一个成功的匹配。re.match与re.search的区别re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search...原创 2019-07-27 12:06:05 · 224 阅读 · 0 评论 -
第十四课--python面向对象(类)
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程...原创 2019-07-22 09:21:40 · 173 阅读 · 0 评论 -
第十三课--python错误和异常
所谓的错误就是程序执行的时候报错。即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。解决的方法是:python内置了处理异常类(Exception 类)。我们自定义异常类等,一般常用的是try……except……看案例:#错误处理try: print(abc)except Exception as e: p...原创 2019-07-22 09:19:53 · 267 阅读 · 0 评论 -
第十二课--pythonOS文件/目录方法
os模块主要处理操作系统的相关的功能 os.name 获取操作系统平台 os.getcwd() 获取现在的工作目录 os.listdir() 获取某个目录下的所有文件名 os.system() 用来运行shell命令 os.remove() 删除某个文件 os.path.existe() 检验给出的路径是...原创 2019-07-22 09:18:21 · 255 阅读 · 0 评论 -
环境安装--认识python的数据类型和序列类型--python的注释——案例
'''数据类型和序列类型'''#1.算术运算符的使用a = 1 + 1b = 1 - 1c = 1 * 1d = 1 / 1e = 1 // 1f = 1 % 1#2.比较运算符a = 21b = 10c = 0if (a == b): print("1 - a 等于 b")else: print("1 - a 不等于 b")if (a !=...原创 2019-07-15 13:00:04 · 177 阅读 · 0 评论 -
第二课--数据类型
4.数字(Number)看案例5.字符串(string)看案例6.列表(list)看案例7.元组(tuple)看案例8.字典(dict)看案例9.集合(set)看案例10.第一个程序(斐波那契)我们学习了以上的知识和案例,接下来我们看一下今典的例子。请看案例...原创 2019-07-16 21:23:25 · 189 阅读 · 0 评论 -
数字案例
print(type(1))print(dir(1))a = 1b = 1.1c = 3.14jprint(type(a), type(b), type(c))原创 2019-07-16 21:24:25 · 202 阅读 · 0 评论 -
python字符串案例
str1 = 'abcdefg higklmn'print(str1)print(id(str1))print(type(str1))print(dir(str1))print(str1[1:2])# 修改字符串,拼接字符串print(str1 + ' HELLO WORD')# 格式化字符串print('姓名 %s 年龄 %d' % ('小白',10))...原创 2019-07-16 21:25:40 · 883 阅读 · 0 评论 -
python列表案例
list1 = ['a', 'b', 'c', 'd']print(list1)print(id(list1))print(type(list1))print(dir(list1))print(list1[0:1])print(list1[-1::-1])原创 2019-07-16 21:41:58 · 953 阅读 · 0 评论 -
python元组案例
tup1 = ('Google', 'Runoob', 1997, 2000)print(tup1)print(id(tup1))print(type(tup1))print(dir(tup1))print(tup1[-1::-1])原创 2019-07-16 21:42:52 · 1060 阅读 · 0 评论 -
python字典案例
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}print(dict)print(type(dict))print(id(dict))print(dir(dict))print(dict['Alice'])原创 2019-07-16 21:43:47 · 936 阅读 · 0 评论 -
python集合案例
basket1 = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}print(basket1)print(id(basket1))print(type(basket1))print(dir(basket1))basket2 = 'apple'print(basket2 in basket1)原创 2019-07-16 21:44:32 · 658 阅读 · 0 评论 -
第三课---python第一个小程序
10.第一个程序(斐波那契)我们学习了以上的知识和案例,接下来我们看一下今典的例子。请看案例# 斐波那契# Fibonacci series: 斐波纳契数列# 两个元素的总和确定了下一个数a, b = 0, 1while b < 1000: print(b, end=',') a, b = b, a+b...原创 2019-07-17 22:34:49 · 117 阅读 · 0 评论 -
第四课--python条件控制语句
11.条件控制语句基本语法:if ……elif……else……看案例# 条件控制a = 0b = 0if a: print('a is true')elif b: print('b is true')else: print('nobody is true')...原创 2019-07-17 22:36:31 · 128 阅读 · 0 评论 -
第五课--python循环语句
12.循环语句while …… ……while …… ……else : ……for i in range(num): ……for i in range(num): ……else: ……这个地方我们学习三个点:1》range(10):就是1到10。2》break:跳出循环,终止循环3》continue:跳过本次循环,继续执行...原创 2019-07-17 22:38:43 · 262 阅读 · 0 评论 -
第六课---python迭代器
13.迭代器迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器。看下面的例子li = [1,2,3,4,5]it = iter(li)print(next(it))看案例,创建一个迭代器类class M...原创 2019-07-17 22:39:48 · 206 阅读 · 0 评论 -
第七课--python生成器
14.生成器在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回...原创 2019-07-17 22:41:00 · 308 阅读 · 0 评论 -
第八课--python的函数
15.python函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。看案例#函数1def hello(max,min): ''' :简单函数使用 :param max: :param min: :return: ''' print(max-min) retu...原创 2019-07-17 22:42:00 · 239 阅读 · 0 评论 -
第九课--python模块与包
模块类似于其他语言的引入。包是一个文件下有个__init__.py文件称为包。类似与图片这个样子。hellos文件是一个包。看案例。hello.pydef hello(): return 'hellos'16_包.pyfrom hellos import helloa = hello.hello()print(a)上面是包的使用。包的使用也是引入...原创 2019-07-22 09:11:14 · 166 阅读 · 0 评论 -
第十课--python输入与输出
输出格式美化str(): 函数返回一个用户易读的表达形式。repr(): 产生一个解释器易读的表达形式。{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x)旧式字符串格式化print('常量 PI 的值近似为:%5.3f。' % 3.14)读取键盘输入input()看案例:import math#输出格式美化s = 'hello, 1...原创 2019-07-22 09:12:41 · 477 阅读 · 0 评论 -
第十一课--python文件的使用
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None):打开文件参数说明:file: 必需,文件路径(相对或者绝对路径)。mode: 可选,文件打开模式buffering: 设置缓冲encoding: 一般使用utf8errors: ...原创 2019-07-22 09:16:30 · 158 阅读 · 0 评论 -
第一课——环境安装--认识python的数据类型和序列类型--python的注释
1.环境安装python的环境很好安装,我们学习的是python3.所以,我们只需要取python官网下载python安装。win的安装很简单,但是,要注意自己电脑的位数。linux原本是有python环境的,但是我发现linux的python的环境一般都是python2,所以,我们需要安装python3,yum install python3.6 。这样就可以了。是不是很简单。快试一下吧...原创 2019-07-15 12:55:08 · 181 阅读 · 0 评论