python
文章平均质量分 71
the uzi
这个作者很懒,什么都没留下…
展开
-
基础知识10_错误处理
在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。一旦出错,还要一级一级上报,直到某个函数可以处理该错误(比如,给用户输出一个错误信息)。所以高级语言通常都内置了一套try…except…finally…的错误处理机制,Python也不例外。原创 2023-02-23 09:45:00 · 88 阅读 · 0 评论 -
基础知识9_函数式编程
函数式编程函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。而函数式编程(请注意多了一个“式”字)——Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算。我们首先要搞明白计算机(Computer)和计算(Compute)的概念。原创 2023-02-23 09:30:00 · 73 阅读 · 0 评论 -
基础知识8_生成器和迭代器
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。要创建一个generator,有很多种方法。原创 2023-02-22 16:49:52 · 45 阅读 · 0 评论 -
基础知识7_迭代和列表生成式
迭代如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。在Python中,迭代是通过for …可以看出,Python的for循环抽象程度要高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。默认情况下,dict迭代的是key。原创 2023-02-22 16:49:54 · 55 阅读 · 0 评论 -
基础知识6_切片
在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。基于这一思想,我们来介绍Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。原创 2023-02-22 16:48:29 · 51 阅读 · 0 评论 -
基础知识5_函数
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。请自行测试并调用my_abs看看返回结果是否正确。请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。原创 2023-02-22 16:47:20 · 105 阅读 · 0 评论 -
基础知识4_循环
循环要计算1+2+3+…+10,勉强也能写出来。但是,要计算1+2+3+…+10000,直接写表达式就不可能了。为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。Python的循环有两种,一种是for…执行这段代码,会依次打印names的每一个元素:MichaelBobTracy所以for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句。原创 2023-02-22 16:44:40 · 42 阅读 · 0 评论 -
基础知识3_字典和集合
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长。如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。为什么dict查找速度这么快?因为dict的实现原理和查字典是一样的。原创 2023-02-22 16:43:21 · 42 阅读 · 0 评论 -
基础知识2_列表和元组
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。变量classmates就是一个list。当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1。当然,倒数第4个就越界了。要拿到’php’可以写p[1]或者s[2][1]1,因此s可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。原创 2023-02-22 16:39:57 · 38 阅读 · 0 评论 -
基础知识1_数据类型和变量
Python是一种计算机编程语言。计算机编程语言和我们日常使用的自然语言有所不同,最大的区别就是,自然语言在不同的语境下有不同的理解,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义,所以,任何一种编程语言都有自己的一套语法,编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执行。Python也不例外。keyword.kwlist以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。原创 2023-02-22 16:39:43 · 75 阅读 · 0 评论 -
数据分析-- matplotlib常用操作
matplotlib原创 2021-12-23 22:21:28 · 4138 阅读 · 0 评论 -
数据分析-- numpy常用操作
numpy原创 2021-12-23 22:19:53 · 832 阅读 · 0 评论 -
python基于jar包驱动操作mysql数据库
import jpype.importsfrom jpype import JInt, JShortfrom jpype import dbapi2import timeprint(jpype.getDefaultJVMPath())jpype.startJVM(classpath=['mysql-connector-java-5.1.49.jar']) # python 语法导入java 类from com.mysql.jdbc import *class DB(): d.原创 2021-12-23 22:05:42 · 1198 阅读 · 0 评论 -
CentOS7 安装Selenium+chrome+chromedriver+基本操作
part1安装 chromeyum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm#测试google-chrome-stable --no-sandbox --headless --disable-gpu --screenshot https://www.suning.com/part2下载chromedriver#下载chromedriverwget http原创 2021-12-23 21:58:17 · 1282 阅读 · 0 评论 -
数据分析--pandas常用操作
Pandas是核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,本文主要总结数据分析中pandas的常用方法1.引入模块import pandas as pdimport numpy as np2.数据生成2.1SeriesSeries是带标签的一维数组,可存储整数、浮点数、字符串、Python 对象等类型的数据。轴标签统称为索引。...原创 2021-12-21 09:00:28 · 4489 阅读 · 0 评论 -
保持jupyter notebook在终端关闭时的连接方法
在linux远程环境下使用jupyter notebook总是会碰到这样的情况就是我需要在自己的电脑用xshell连接上那边的电脑,然后输入jupyter notebook,那边的电脑就会开启一个服务端,然后我这边才可以用IP+端口号访问,但是一旦我关闭xshell,jupyter notebook马上就会断开连接,停止工作。为解决这个问题,我找到如下几种方案,总会有你能用的:带数字的序号之间没有联系,失败了可以试下一个,强烈推荐2和51、直接输入 jupyter notebook &原创 2021-12-20 20:27:28 · 892 阅读 · 0 评论 -
Anaconda安装并配置jupyter notebook远程
环境:centos7.5python版本:python 3.7.3Part1. 下载Anaconda直接在官网下载比较慢,建议使用清华镜像:Tsinghua Open Source Mirror选择自己需要的版本,下载wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.03-Linux-x86_64.sh如果没有wget,则先安装wgetyum -y install wget原创 2021-12-19 11:15:00 · 806 阅读 · 0 评论 -
高质量python编程--Pythonic
01. 变量交换Badtmp = aa = bb = tmpPythonica,b = b,a02. 列表推导Badmy_list = []for i in range(10): my_list.append(i*2)Pythonicmy_list = [i*2 for i in range(10)]03. 单行表达式虽然列表推导式由于其简洁性及表达性,被广受推崇。但是有许多可以写成单行的表达式,并不是好的做法。Badpr.转载 2021-12-06 13:45:36 · 7723 阅读 · 0 评论