
Python语言编程
文章平均质量分 54
以简单易懂的用例,讲解python入门,合适面向的学习者非专程的python开发工程师,而是需要某项开发兼用python语言,如大数据开发工程师使用的pyspark api等
尘世壹俗人
希望我的内容能够帮助更多人,一般我发出来的都是经过自己验证或者自身在用的内容,能躺的坑已经躺完了,也欢迎大家私聊我探讨问题,加班太多回复可能不太及时
展开
-
PySpark任务提交
一般情况下,spark任务是用scala开发的,但是对于一些偏业务人员,或者是基于上手的来说python的API确实降低了开发前置条件的难度,首当其冲的就是能跳过Java和Scala需要的知识储备,但是在提交任务到集群的时候就很麻烦了,不只是spark自身pyspark提交时不同参数导致的大小写等问题,最麻烦的是spark和python版本上的兼容与否,2.x的spark一般用3.7以下的,3.x需要3.8以上的python,还有各种小毛病都是细节上的问题。当你安装完所有的需要库之后,把环境打包。原创 2024-10-31 14:53:27 · 884 阅读 · 0 评论 -
Python知识点21---怎么把你的Python项目打包成一个完整的结果物使得别人可以复用
然后在这个文件里面你要写如下内容,其中改你自己的模块名称(YourPackageName),作者、邮箱、github的路径、说明这几个如果没有可以删掉,最后你要在install_requires中写你依赖了那些类库。就比如写Java代码写惯了,突然写个Python,就在想怎么办Python的平替Maven是什么?首先你要确保使用的是Pycharm,在项目的setting中搜索pip,你能看到默认情况下开发工具会给你导入两个依赖。运行完之后等一会,打包不是一个阻塞进程,过一会你的项目下面会出现这两个文件。原创 2024-08-14 17:48:34 · 2237 阅读 · 0 评论 -
如何使用PySpark开发程序
pyspark是spark的python API,本质上其实没有差别,只是开发的语言换了一下,书写的语法不一样而已,所以有Spark的Scala基础的朋友,只需要解决Python语言的书写,其他的就没有问题了想用pyspark开发需要准备一些东西1、JAVAJDK2、Hadoop3、Spark4、PyCharm ---开发工具自定义5、findspark、pyspark、py4j三个pyspark开发用的包上面的东西前三个我就不演示了,大家在本地准备好并且配置好环境变量就可以了,我这里主要是原创 2021-09-07 00:43:13 · 1552 阅读 · 0 评论 -
Python知识点20---池
但是大家注意,在Python开发中还有一种线程池,这个线程池不是Python直接自带的,你想要使用需要另外下载一个threadpool的包才可以,使用方法如下。二是我写的操作方法,貌似只能操作普通的函数,而对于类的方法来说就是个灾难,因为会受self参数的影响,不传吧,报错,传吧,不知道传什么。如果看了我发的线程和进程的知识点的朋友,如果发散思维能力很强,那么可能会出现一个,就是我操作线程和进程的方法很low,导致两个问题。下面看一下怎么使用进程池,并且在类中使用!解决大家对self的疑惑。原创 2024-06-01 12:42:08 · 350 阅读 · 1 评论 -
Python知识点19---锁
本篇主要目的,为大家说一下,在python的多线程开发中如何保证数据的正确性,首先明确一点,为什么在多线程的时候会发生数据问题?其实在多个线程同时工作的时候,如果没有一定的措施,会导致争抢资源,而结果显而易见的,就是资源的缺失,就是说,一个线程从上一个线程哪里拿到的资源是不完整的因此针对这一现象,Python有了第一种解决方法:互斥锁,就是多个线程去拿资源,谁拿到我们控制不了,但是我们可以控制当一个线程拿到资源之后,对这个资源上锁,不让其他线程使用了,让它们等该线程使用完,再开始争抢,这里注意,抢到资源原创 2024-06-01 12:43:41 · 358 阅读 · 1 评论 -
Python知识点18---进程和线程
首先我要给大家说一下进程和线程有什么区别,进程包含着线程,我们都打开过Windows的任务管理器,我们在其中看到的各种任务,每一个任务,就是一个进程,在这个进程下,有着多个线程组成了这个进程,我在网上找了一个更贴切的解释Python允许你的任务是多进程执行的,在使用多进程的时候你需要注意两点1、进程之间不共享资源,因为他们相互之间是独立的2、主进程的结束,要等到所有子进程全部结束,这一点大家或许有疑惑,其实我们在运行一个程序时,一开始直接运行的进程就是主进程,也就是说主进程有且只有一个,而子进程就原创 2024-06-01 12:44:08 · 1083 阅读 · 1 评论 -
Python知识点17---包
Python的包,你可以把它看成是一个大的模块,它的本质是一个文件夹,所有有联系的模块都可以单独打成一个包,且在包生成的时候,包中会生成一个名字叫__init__.py的文件,这个文件规定了其他模块导入这个包时的导入行为那么如何建立包呢?你如果使用的是PyCharm,你可以根据下面的步骤进行创建1、在项目空白处,右键单击new--》Python Package2、输入名字3、点击OK之后,创建成功,并自动生成__init__文件之后你就可以在包下如往常一样写代码了,当你要在其他模块中导入这原创 2024-06-01 12:45:03 · 1967 阅读 · 0 评论 -
Python知识点16---模块
我们一般在编写Python代码的时候我们会发现,Python的代码构成常常给人一种孤零零的感觉,多个文件之间除了在同以根目录下,好像没有如Java那样紧密的联系,但其实人家Python是有用来关联代码的方法的,只是和我们想的可能不一样。请你记住你的模块的名字从当下开始,你的所有模块内容一定要符合规范,不然会有麻烦的,出了问题很头疼的,而且你写完的模块一定要测试,并且留下测试代码块,至于为什么,可以去看一下15的知识点。这个时候,我猜猜如果有好奇心强的朋友,可能直接会去尝试导入自己之前写的python模块,原创 2024-06-01 12:46:06 · 385 阅读 · 1 评论 -
Python知识点15---异常
Python本身拥有处理异常的方式,和Java一样的trytry: 可能发生问题的代码except 异常类型 : 发生问题时执行的代码如果你要波获得异常类型有多个,那么要写成如下的格式try: 可能发生问题的代码except (异常类型1,异常类型2,.......) as result : 发生问题时执行的代码这样写的时候会把捕获的异常包装成result元组当然你可以一次性捕获所有的异常try: 可能发生问题的代码except Exception as result :原创 2024-06-01 12:46:26 · 288 阅读 · 1 评论 -
Python知识点14---被规定的资源
在Python中特别的方法就是左右各两个下划线的方法了,这种方法其实是代表着这个方法被系统命名了,有着特殊的作用比如初始化的__init__,还有很多这样被规定的方法,常用的如下与之对应的,还有被规定的属性,比如对于被规定的属性,我想给大家介绍的是最常用的一个,我们在日常接触代码的时候看到的最多的就是,如下的内容if __name__ == '__main__':这行代码的作用,其实是用来检测是否直接执行当前程序,如果是直接执行这个程序那么值就是__main__应用场景,大家可以看看这个_原创 2024-06-01 13:00:14 · 816 阅读 · 0 评论 -
Python知识点13---面向对象的编程
Python是一个完全面向对象开发的语言,它的一切都以对象的方式操作类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。局部变量:原创 2024-06-01 13:00:35 · 843 阅读 · 1 评论 -
Python知识点12---Python的I/O操作
Python的流(I/O)操作,最简单的其实就是输入和输出,输出我们都知道使用输出函数print( str , end = '\n')但是Python的输入却有两个方法,一个是我们最常用的 input,但是其实Python还有一个raw_input函数也可以输入,那么它们的区别在哪里呢?raw_input([prompt]) 从标准输入读取一个行,就是键盘输入的数据,并返回一个字符串(去掉结尾的换行符),prompt 是提示语句例如: str = raw_input("请输入:") pr原创 2024-06-01 13:01:32 · 1142 阅读 · 1 评论 -
Python知识点11---高阶函数
本篇介绍一下Python的内置函数也叫高阶函数,就是Python自带可直接调用的函数,向我们日常用的len、range等等这些都是内置函数,这一部分内容本应放在函数哪一篇说,但是由于它太重要了,所有想了想单独提出来一篇首先明确一点,我要说的不是len那些普通的内置函数,如果和我一样是做大数据开发的,那么你一定要知道我下面说的函数Python中有一种高阶函数,和Scala中的高阶函数一样都是以方法做参数运作的,下面我给大家罗列三个最重要的高阶方法第一个:map(fun,lis),该方法是将一个列表中每一原创 2024-06-01 13:02:13 · 478 阅读 · 0 评论 -
Python知识点10---函数
Python的函数和Scala的函数很像,语法很简单,注意点如下1、函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。2、任何传入参数必须放在圆括号中间,圆括号之间可以用于定义参数。3、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。4、函数内容以冒号起始,并且缩进。5、return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。例如:def functionname( parameters ): "函数_原创 2024-06-01 13:02:36 · 1368 阅读 · 1 评论 -
Python知识点9---推导式
Python提供的推导式,只对列表、字典、集合三种数据类型生效,其他的类型没有推导式一说,且推导式的目的其实是简化代码,所以它无法完成逆天的操作第一种:列表推导式它的作用是用一个表达式去创建或者控制一个有规律的列表,注意有规律的目标:创建一个元素为0-10的列表a = [ i+1 for i in range(10)]print(a)结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]列表推导式其实说的就是一个简化的for循环而已,而且列表推导式可以加 if 条件判断a原创 2024-06-01 13:03:04 · 544 阅读 · 1 评论 -
Python知识点8---公共操作
Python的公共操作谁的是多种数据类型可共用的操作,且这些操作解决了我们日常使用开发中某些操作不方便的问题第一种:运算符+ 加号指合并例如: a = [1,2,3,4] b = [5,6,7,8] print(a+b)结果:[1, 2, 3, 4, 5, 6, 7, 8]支持类型:字符串、列表、元组* 乘号指复制例如: a = [1,2,3,4] print(a*2)结果:[1, 2, 3, 4, 1, 2, 3, 4]支持类型:字符串、列表、元组in 或者 not in原创 2024-06-01 13:03:27 · 291 阅读 · 1 评论 -
Python知识点7---字典与集合
Python的字典与集合是没有下标一说的,字典说的其实就是map集,集合对于Python来说指的是Set集,定义的方式如下,均为花括号包裹字典 : a = {"name":"Tome","age":12} a = {} a = dict()集合: b = {1,2,3,4} b = set() ---注意不能直接用花括号创建,因为直接花括号创建的是字典字典在新增或者修改的时候比较简单,直接用key就可以了字典[key] = 值字典常用操作还有三个方法字典.keys() ---原创 2024-06-01 13:05:14 · 673 阅读 · 0 评论 -
Python知识点6---列表和元组
Python的列表和和元组定义方式如下,且注意列表和元组拥有下标,从0开始,两者不同点在于,列表只能存储同类型数据,而元组可以存放不同的数据类型,但是列表数据可变数据集,元组属于不可变数据集列表 a = [1,2,3,4]元组 a = (1,2,3)列表常用方法如下列表.index(查询数据,开始下标,结束下标) ---查找方法,返回下标列表.count(计数元素) --查询该元素出现的次数len(列表) ---列表长度in 列表 或者 ont in 列表 ---判断一个元素是否原创 2024-06-01 13:05:39 · 926 阅读 · 1 评论 -
Python知识点5---字符串的使用
Python的字符串在使用上和其他语言的差别不大,常规操作都是一样的比如取一个下标的值等a = '123456'print(a[0])这里要说的是Python字符串和其他语言不一样的东西,首先给大家说的是在Python中,字符串的截取叫做 “切片” ,可以直接操作a = '123456789'print(a[0]) ---取单个下标对应值print(a[2:5:1]) ---从下标2开始截取到下标5,截取步长为1print(a[2:5:2]) ---从下标2开始截取到下标5,截取步长为2原创 2024-06-02 00:28:46 · 1115 阅读 · 1 评论 -
Python知识点4---循环语句
Python支持两种循环for和while,但是他们和其他的语言有些小差别Python的for循环和js中的名称样,都叫 for in循环,不一样的是 js 中的是遍历下标,而Python是遍历数据for c in {1,2,3} : print(c)while循环和我们平常的时候没有差别i = 1while i!=5 : print(i) i=i+1这里给大家补充一个小知识点:Python不支持自增或自减的单目操作最后Python的循环支持 else 语句,既循环正常结束执行的语句原创 2024-06-02 00:29:31 · 749 阅读 · 1 评论 -
Python知识点3---条件判断语句
Python的条件判断语句和其他的语言有些不一样,它只有if语句没有等值的条件语句单分支a = 12if a == 12 : print("a等于12")双分支a = 12if a == 12 : print("a等于12")else : print("a不等于12")多分支,可以没有最后的elsea = 12if a == 12 : print("a等于12")elif a == 0: print("a不等于12")else :原创 2024-06-02 00:30:17 · 538 阅读 · 2 评论 -
Python知识点2---有趣的输出
Python的输出方法和Scala的很一样都是直接用方法就可以print()但是Python的输出支持多元化的方式,其实说白了就是其他语言支持的那些Python也可以Python可以使用格式化符号,如下我找了一些,不一定全,不过一般用的也不多a = 12print("小明今年%d岁" %a)结果:小明今年12岁a = 12print("小明今年%d岁,小花今年也是%d岁" %(a,a))结果:小明今年12岁,小花今年也是12岁除了上面这种格式化输出,Python还支持如下的格式化原创 2024-06-02 00:30:43 · 734 阅读 · 1 评论 -
Python知识点1---变量和数据类型
在所有知识开始前,先给大家介绍一下Python的注释,Python的注释有三钟# 井号开头为单行注释''' 英文格式下六个点为多行注释 '''""" 三对双引号也是多行注释 """开始本篇的知识点Python的变量定义的时候不需要在前面标识类型,这一点和js很像,同时它的命名要求和我们日常没差别变量名 = 值其次是Python的数据类型,Python支持7种数据类型第一种是布尔值,注意要大写,不然有时候会出问题a = Trueb = False第二种数值型,就是我们熟知的数字原创 2024-06-02 00:31:06 · 407 阅读 · 0 评论 -
linux安装python
1、安装python依赖yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel2、在如下ftp中下载需要的python版本的资源包https://www.python.org/ftp/python3、创建一个目录,存放python编译后的资源,目录自定义mkd原创 2021-06-11 16:54:13 · 1664 阅读 · 0 评论