Python学习
Python学习
南山二毛
怕什么真理无穷,进一寸有一寸的欢喜。
展开
-
python爬虫学习1——爬虫三板斧
1、 爬取搜狗网页import requestsif __name__ == "__main__": # step 1:指定url url = 'https://www.sogou.com/' # step 2:发送请求 response = requests.get(url=url) # step 3:获取响应数据 page_text = response.text print(page_text) # step 4:持久化存储原创 2021-06-15 01:40:09 · 1918 阅读 · 3 评论 -
Python学习--3.2函数式高级编程
高阶函数高阶函数英文叫Higher-order function。什么是高阶函数? 如果一个变量指向了一个函数,那么,可否通过该变量来调用这个函数?用代码验证一下:>>> f = abs>>> f(-10)10成功!说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同。 函数名也是变量 那么函数名是什么...原创 2018-04-11 16:44:20 · 1682 阅读 · 0 评论 -
Python学习--QtPy系列1(第一个程序)
pythonqt编写窗口示例from PyQt5.QtWidgets import QWidget, QApplication, QLabelimport sysclass MyWindow(QWidget): def __init__(self): super().__init__()def show_mywindow(): app = QApp...原创 2018-05-08 21:31:32 · 11993 阅读 · 0 评论 -
Python学习--QtPy系列2(信号和事件)
事件所有的GUI应用都是事件驱动的。事件主要由应用的用户操作产生的。但是事件可能由其他条件触发,比如:一个网络连接,一个窗口管理器,一个定时器,这些动作都可能触发事件的产生。当我们调用应用的exec_()方法时,应用进入了主循环。主循环用于检测事件的产生并且将事件送到用于处理的对象中去。 在事件模型,有三个参与者事件源事件对象事件目标事件源是状态发生改变的对象。它产生了事件。事...原创 2018-05-08 22:53:27 · 3700 阅读 · 0 评论 -
Python学习--QtPy系列3(组件)
组件(widgets)是构建一个应用的基础模块。PyQt5有广泛的各式各样的组件,包含按钮,复选按钮,滑块条,和列表框。在这个部分的教程中,我们将学习几种有用的组件:复选按钮(QCheckBox),切换按钮(ToggleButton),滑块条(QSlider),进度条(ProgressBar)和日历组件(QCalendarWidget)。复选框(QCheckBox)复选框组件有两种状态:选...原创 2018-05-08 22:58:10 · 2915 阅读 · 0 评论 -
Python学习--QtPy系列3(菜单和工具栏)
在这部分的PyQt5教程中,我们将创建菜单和工具栏。菜单式位于菜单栏的一组命令操作。工具栏是应用窗体中由按钮和一些常规命令操作组成的组件。主窗口QMainWindow类提供了一个应用主窗口。默认创建一个拥有状态栏、工具栏和菜单栏的经典应用窗口骨架。状态栏状态栏是用来显示状态信息的组件。菜单栏工具栏将几个组件放在一起使用...原创 2018-05-08 23:23:33 · 2876 阅读 · 0 评论 -
Python学习--Python文件操作
1 文件的读取先在我的E盘文件夹里面创建一个.txt格式的文件,文件名叫做foo。 接下来读取文件。1.1 读取整个文件file = open('foo.txt','r') #此时file是一个全局变量contents = file.read()print(contents)file.close() #需要写colse函数with open('foo.txt','...原创 2018-05-07 17:15:23 · 2009 阅读 · 0 评论 -
Python学习--Python图形界面
1.几种常见的图形化模块:Tkinter 使用TK平台版标准化,本身是一个老资格的图形化,国外图形化一般使用TK来写。 Wxpython 基于wxwindows跨平台 Pythonwin 适用于windows,一般用来写外挂 PyQt 使用QT平台 跨平台 PyGTK 使用GKT平台流行于linux2. Python三种文件Py – 脚本文件 P...原创 2018-05-07 20:00:43 · 2557 阅读 · 0 评论 -
Python学习--Python网络编程
1.socket TCP 服务器搭建1.1 导入模块import socket1.2 创建socket对象,socket是一个类sock = socket.socket(socket_family,socket_type) 参数:socket_family socket.AF_INET 适用于网络协议的传播,IPV4 socket.AF_UNIX 使用与unix系统内...原创 2018-05-07 22:05:54 · 1765 阅读 · 0 评论 -
Python- 解决PIP下载安装速度慢
Linux系统pip、conda等包管理程序下载速度慢的主要原因是默认的下载镜像源是国外的,而解决方法是修改镜像源到国内即可,具体如下:pip目前可用源: http://pypi.douban.com/ 豆瓣 http://pypi.hustunique.com/ 华中理工大学 http://pypi.sdutlinux.org/ 山东理工大学 http://pypi.mirror...原创 2018-07-17 15:22:44 · 10820 阅读 · 0 评论 -
Python学习--测试和使用自己写的模块
首先我们先自己写一个模块,并且可以运行当前文件时测试该模块是否正常。#!/usr/bin/env python3# -*- coding: utf-8 -*-' a test module '__author__ = 'CSDN author'def test1(): print('Hello, test1!') def test2(): print('H...原创 2018-07-19 10:32:40 · 3865 阅读 · 0 评论 -
Python多线程开发1--添加线程
导入线程模块import threading获取已激活的线程数threading.active_count()# 2查看所有线程信息threading.enumerate()# [<_MainThread(MainThread, started 140736011932608)>, <Thread(SockThread, started daemon ...原创 2018-07-07 13:59:27 · 1874 阅读 · 0 评论 -
Python多线程学习2--Join的使用
Join用来将线程加入到当前的线程队列中。1.首先看不加 join() 的结果 我们让 T1 线程工作的耗时增加.import threadingimport timedef thread_job(): print("T1 start\n") for i in range(10): time.sleep(0.1) # 任务间隔0.1s p...原创 2018-07-07 14:06:14 · 1871 阅读 · 0 评论 -
Python多线程学习3--储存进程结果 Queue
代码实现功能,将数据列表中的数据传入,使用四个线程处理,将结果保存在Queue中,线程执行完后,从Queue中获取存储的结果 导入线程,队列的标准模块 import threadingimport timefrom queue import Queue定义一个被多线程调用的函数def job(l,q): for i in range (len(l)): ...原创 2018-07-07 14:09:14 · 4202 阅读 · 0 评论 -
Python多线程学习3--GIL并不一定高级
这次我们来看看为什么说 python 的多线程 threading 有时候并不是特别理想. 最主要的原因是就是, Python 的设计上, 有一个必要的环节, 就是 Global Interpreter Lock (GIL). 这个东西让 Python 还是一次性只能处理一个东西.尽管Python完全支持多线程编程, 但是解释器的C语言实现部分在完全并行执行时并不是线程安全的。 实际上,解释器...原创 2018-07-07 14:31:53 · 2169 阅读 · 0 评论 -
Python多线程学习4--线程锁lock
不使用 Lock 的情况 函数一:全局变量A的值每次加1,循环10次,并打印def job1(): global A for i in range(10): A+=1 print('job1',A)函数二:全局变量A的值每次加10,循环10次,并打印def job2(): global A for i in ra...原创 2018-07-07 14:38:24 · 1818 阅读 · 0 评论 -
Python学习--3.1切片,迭代,列表生成器,生成器,迭代器
切片>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']取前3个元素,应该怎么做?笨办法:>>> [L[0], L[1], L[2]]['Michael', 'Sarah', 'Tracy']Python提供了切片(Slice)操作符,能大大简化这种操作。>&am原创 2018-04-10 22:54:02 · 1736 阅读 · 0 评论 -
Python学习--2.8函数
调用函数Python内置了很多有用的函数,我们可以直接调用。 调用abs函数:>>> abs(100)100>>> abs(-20)20>>> abs(12.34)12.34Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数:&am原创 2018-04-10 19:42:05 · 1962 阅读 · 0 评论 -
Python学习--2.7不可变对象
str是不变对象,而list是可变对象。 对于可变对象,比如list,对list进行操作,list内部的内容是会变化的,比如:>>> a = ['c', 'b', 'a']>>> a.sort()>>> a['a', 'b', 'c']而对于不可变对象,比如str,对str进行操作呢:>>> a =...原创 2018-04-10 11:04:16 · 1735 阅读 · 0 评论 -
Python学习教程系列
最近计划把Python的学习过程总结一下,写成一个系列教程,每天都会更新一点。目前计划教程的前半部分讲python的基本知识,后半部分讲数据结构和算法的内容。前言: Python是一门技术,也是一门艺术。 Python编程如同书法,绘画,技术娴熟的背后需要大量的刻苦练习。 Python编程中遇到困难千万不要退缩,人生本来就是解决生活学习中的各种问题,从而得到成长,要想做到活学活用,必须靠...原创 2018-03-23 01:45:20 · 2237 阅读 · 0 评论 -
Python3学习--1.1Python开发环境配置
Python3 可在Windows,Mac OS和大多数Linux操作系统运行。本教程主要介绍在Windows环境下安装Python3。之所以用python3系列是因为Python2.7再过几年官方就不会再支持了,而且Python3相比较Python2会 支持更多的功能。 下面介绍一下Python3在Windows10中的安装方法。 1. 首先打开Python下载官网:https://www....原创 2018-03-23 02:01:06 · 1873 阅读 · 0 评论 -
Python学习--1.2Python开发工具
1.IPython 2.pycharm是由JetBrains打造的一款Python IDE,用于一般IDE具备的功能。比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。 3.Anaconda 4.编辑器:Sublime 5.notepad++ 6.在线编辑器Python Tutor 7.Jupyter Notebook 8.在线 Py...原创 2018-03-23 02:02:15 · 1761 阅读 · 0 评论 -
Python学习--1.3第一个Python程序
我们先写一个小程序。import turtlet = turtle.Turtle()for c in ['red', 'green', 'yellow', 'blue']: t.color(c) t.forward(75) t.left(90)运行效果: 程序分析: import turtle:导入一个turtle模块, t = turtle....原创 2018-03-23 02:02:39 · 1779 阅读 · 0 评论 -
Python学习--1.4Python程序结构
这节教程你讲了解一下内容: 包,模块,类,函数的概念; 程序里怎么理解包,模块,类,函数和参数的关系; 如果理解他们之间一层层的调用或者传递?前几节课我们安装了python,并且调用turtle模块和其中的类与方法写了一个小程序。然后点击运行就实现了。那么这背后的机理是什么呢? 我们知道python之所以强大就是因为它有很多包来组成的,我们通过这些包和模块就可以站在巨人的肩膀上,实现快...原创 2018-03-23 02:03:10 · 3247 阅读 · 0 评论 -
Python学习--1.7Python程序是一种脚本
这节教程我们谈谈脚本,这个和python有什么关系呢。脚本的英文名字是script。我们很容易会联想到游戏中的外挂,其实外挂就是及脚本,前几天很火的微信小程序跳一跳就有人用python写了一个脚本实现刷分。所以我们写用python一个文件其实也是在写脚本文件。 另外还有一个地方也会用到脚本这个词,就是拍电影,电影剧本的脚本,决定了电影中的人和物,都做哪些事情,怎么做。而python中的脚本,决定了...原创 2018-03-23 02:46:22 · 1901 阅读 · 0 评论 -
Python学习--1.5Python编译器和解释器
当我们写好一个python的代码保存为.py文件时,点击运行程序,程序就可以出结果,这个过程需要Python解释器去实现。 Python的解释器很多,但使用最广泛的还是CPython、PyPy、Jython、IPython、IronPython等。 其中CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。...原创 2018-03-23 02:33:46 · 2291 阅读 · 0 评论 -
Python学习--1.6Python基本运行机制
过程概述Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行。字节码字节码在Python虚拟机程序里对应的是PyCodeObject对象。.pyc文件是字节码在磁盘上的表现形式。pyc文件PyCodeObject对象的创建时机是模块加载的时候,即import。Python test.py会对t...原创 2018-03-23 02:45:41 · 2360 阅读 · 0 评论 -
Python学习--2.1Python基本数据类型
这节教程介绍python的主要数据类型,同时会使用python3自带的IDLE进行演示效果。首先打开Python3.6自带的IDLE。 启动Python有两种方式,分别为“Windows命令行窗口”和“IDLE”。我们现在打开的是python shell。它为你提供了一个Python运行环境。方便你进行交互式的开发。即写一行代码,就可以立刻被运行,然后方便查看到结果。每次只能输入一行指令并运...原创 2018-04-09 22:05:19 · 1801 阅读 · 0 评论 -
Python学习--1.8python3包管理
这篇博文主要介绍在windows中进行python包和模块的安装,另外目前大家都在使用python3,所以我会再加点关于python3中下载包时遇到的问题以及解决办法。目前官方推荐使用pip1.在windows中自带控制台中下载包pip更新python -m pip install --upgrade pip安装numpy包: pip install num...原创 2018-04-08 22:55:03 · 2101 阅读 · 0 评论 -
Python学习--2.2Python全局变量与局部变量
全局变量和局部变量的简单解释: 函数内部的变量名如果第一次出现,且出现在=前面(第一次被赋值),即被视为定义一个局部变量,不管全局域中有没有用到该变量名,函数中使用的将是局部变量。a = 1 #全局变量def func(): a = 3 #在函数内部第一次被赋值,局部变量 print(a) func() 输出: 3a = 1 de...原创 2018-04-09 22:22:11 · 1749 阅读 · 0 评论 -
Python学习--2.3字符串和编码
Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。 常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。 ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。 新的问题又出现了:如果统一成Unicode编码,乱码问题从此消失了。但是,如果你写的...原创 2018-04-09 23:06:36 · 1742 阅读 · 0 评论 -
Python学习--2.4列表和元组
listPython内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。比如,列出班里所有同学的名字,就可以用一个list表示:>>> classmates = ['Michael', 'Bob', 'Tracy']>>> classmates['Michael', 'Bob', 'Tracy']变量c...原创 2018-04-09 23:43:03 · 1700 阅读 · 0 评论 -
Python学习--2.5条件判断、循环
条件结构if <条件判断1>: <执行1>elif <条件判断2>: <执行2>elif <条件判断3>: <执行3>else: <执行4>age = 21if age>30: print(age)elif age>20:原创 2018-04-10 09:57:04 · 1879 阅读 · 0 评论 -
Python学习--2.6字典和集合
dictPython内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list:names = ['Michael', 'Bob', 'Tracy']scores = [95, 75, 85]如果用dict实现,...原创 2018-04-10 11:00:59 · 2068 阅读 · 0 评论