Python
风中一叶(Liko)
Keep Moving!
展开
-
1.Python简介及环境安装
1.Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。2.编程语言排行(截止2017-04)3。python的特点:简单、优雅。4。python优点:a.完善的基础代码库 b.大量的第三方库 c.许多大型网站都在使用(豆瓣,google,yahoo,NASA) d.开发效率高5。python能够用于开发哪些...转载 2018-11-01 20:43:04 · 120 阅读 · 0 评论 -
Pyspark开发环境搭建
快速搭建Pyspark开发环境,方便代码编写和调试~~1、下载并安装JDK2、下载并安装Anacadon33、下载hadoop4、下载winutils.exe并放在hadoop\bin目录下5 、pip install -U -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark安装pyspark和py4j.6、Pycharm...转载 2018-11-02 00:55:11 · 2247 阅读 · 0 评论 -
11.自己说了算,定义自己的函数
1.python中使用def定义函数,函数定义格式为:def 函数名(参数列表):代码块return 返回值2.如果没有return语句,函数也会有返回值,返回None3.若要从其他py文件中引用对应的方法,需要使用from语句,具体用法如下:from 文件名(不加.py) import 函数名4.空函数(钩子函数):什么也不做的函数。在函数代码块中使用pass,实际上...转载 2018-11-02 22:39:46 · 163 阅读 · 0 评论 -
12.多变的函数参数
1.定义函数的时候,吧函数的参数和参数的位置确定下来,加上函数体及return返回值,函数定义就完成了。函数内部复杂的逻辑被封装起来,调用者只需要知道需要传哪些参数,产生什么返回值就可以了。2.python定义函数参数的灵活性非常大,有必选参数、默认参数、可变参数、关键字参数、参数组合等形式出现3.位置参数:按照位置排列好的参数4.默认参数:函数的某一个参数比较固定,我们可以为其设置默...转载 2018-11-02 22:41:32 · 811 阅读 · 0 评论 -
13.简单明了的递归函数
1.递归函数:如果在一个函数的内部调用本身,就形成一个递归函数。2.使用递归函数需要注意 堆栈溢出,在计算机内部,递归是通过Stack这种数据结构实现的。每调用一次函数,增加一层栈帧,每return一次减少一次栈帧。3.理论上递归调用都可以使用循环来替代,但是循环没有递归简洁明了。4.用递归思想计算阶乘。def factorial(n): if n==1: ...转载 2018-11-02 22:45:59 · 321 阅读 · 0 评论 -
14.外科手术刀之集合切片
1.对集合list或tuple部分元素的操作是非常常见的操作,我们固然可以通过例如索引、循环等方式获得集合中的元素,但是显得非常繁琐。python为我们提供了更加简洁的方式——切片2.切片的使用方式是:startIndex:endIndex:steplist1= list(range(100))print(list1[23:40])[23, 24, 25, 26, 27, 28,...转载 2018-11-02 22:47:32 · 512 阅读 · 0 评论 -
15.可迭代数据的克星
1.我们可以使用python内置的for...in语句迭代所有可迭代的集合人,例如迭代list、tuple、dict、set等2. 如何查看一个对象是否可以迭代。我们可以使用collection模块的Iterable类型来判断。from collections import Iterablelist1=list(range(10))tuple1=tuple(range(10))...转载 2018-11-02 22:48:26 · 179 阅读 · 0 评论 -
16.学会列表生成式,列表生成不再难
1.我们可以使用高效的列表生成式生成列表。 2.加入我们有一个已知的列表,要将列表中的每一个元素乘以2生成新的列表,老办法可能就得写个for循环。但是可以使用列表生成式高效的生成list1=list(range(1,20,2))print(list1)list2=[i*2 for i in list1]print(list2)[1, 3, 5, 7, 9, 11, 13, 15,...转载 2018-11-09 03:30:24 · 2766 阅读 · 0 评论 -
10.“捡现成”之函数调用
1.函数是一种基本规律的抽象,可重用。例如说圆面积、正方形边长,椭圆面积等。这些被发现的公式或定理或规律被固化下来,我们在遇到的时候可以直接套用这些定义好的函数。2.python内置了很多的函数,这些函数为我们省去了大量的工作3.我们可以“捡现成”直接调用定义好的方法,而不必事必躬亲自己去实现4.调用函数需要知道函数的名字,传入必要的参数。list=[1,87,3,6,7]p...转载 2018-11-01 21:08:45 · 198 阅读 · 0 评论 -
9.‘独一无二的’set
1.set中没有重复出现的元素,用于存储不重复的数据。重复的数据会被自动过滤掉2.构建set需要传入一个listset1 = set([1,2,3,5,'aa'])print(type(set1))print(set1)<class 'set'>{1, 2, 3, 5, 'aa'} 3.通过add方法向set集合中添加元素,但是相同的元素添加...转载 2018-11-01 21:06:34 · 123 阅读 · 0 评论 -
2.数据类型和变量
1.整数1 100 -100 299使用type(100)打印出数据的类型print(type(100)) <class 'int'>2.浮点数3.1415 -0.999 26.0使用type(3.1415)打印出数据类型print(type(3.1415))<class 'float'>3.字符串a.字符串以'或“括起来b...转载 2018-11-01 20:50:24 · 163 阅读 · 0 评论 -
3.字符串和编码
1.计算机只认识数字,因此字符串被转换为数字进行表示。因此出现了编码,最早的编码是ASCII码2.随着不同的语言接入计算机系统,出现了不同的编码。例如要将汉子输入计算机,出现了GB2312编码,要将俄语输入计算机出现了windows-1251编码等3.随着编码越来越多,跨过跨地区的网上交流出现了混乱,在多语言的环境下不能正常显示所有的语言信息4.于是统一的Unicode标准编码应运而生...转载 2018-11-01 20:53:02 · 210 阅读 · 0 评论 -
4.python中的list集合
1.list:python内置的有序的集合2.有两种声明list的方式:list()和[] list1=['liko','alan'] list2=list(['liko','alan']) print(type(list1),type(list2))<class 'list'> <class 'list'>3.使用len函数获取list的长度 print(le...转载 2018-11-01 20:56:03 · 1741 阅读 · 0 评论 -
5.“死板”的tuple
1.tuple是python中的另外一种有序的列表,一旦初始化就不能被修改2.因为tuple一旦初始化就不能变化,因此没有append(),insert()这些方法。获取元素的方法同list类似3.因为tuple不可变,所以代码更安全4.定义一个空的tupletuple1 = tuple()tuple2=()print('class:%s,len:%d'% (type(t...转载 2018-11-01 20:58:24 · 106 阅读 · 0 评论 -
6.从不撒谎的条件判断
1.计算机之所以强大的原因是因为内部能根据不同的条件作出判断,自动化的完成任务2.在python语言里面使用if ... else 语句来进行条件判断3.若条件为True,执行if:对应的代码块,否则执行else对应的代码块4.只要条件非零值、非空字符串、非空list则判断为True5.注意if ... else 后面的代码块用‘:’表示,‘:’后面是要执行的代码块 ...转载 2018-11-01 21:00:15 · 148 阅读 · 0 评论 -
7.集合遍历能手for&while
1.for遍历list和tuplelist1=[1,2,3,4,'a']for data in list1: print(data)tuple1=('a','b',3.14)for data in tuple1: print(data)1234aab3.14 2.计算和list=range(101)sum=0...转载 2018-11-01 21:02:34 · 212 阅读 · 0 评论 -
8.高效的dict
1.dict是Python内置的字典结构,类似于其它语言的map2.dict的查询效率很高,类似于查找字典。根据key找到value存放的位置,然后直接访问value3.python中的dict字典的创建以{}或dict()方法声明4.向字典中追加数据,追加相同的key,后面的数据会覆盖之前的数据 5.删除字典中的某个key对应的数据,使用pop 6.修改某个key对应的数...转载 2018-11-01 21:04:55 · 168 阅读 · 0 评论 -
18.弄懂生成器节约内存一边计算一边生成
1.使用列表生成式可以方便快捷的生成列表,但是若生成一个很大的列表,势必会占用大量的内容。那我们是否能在计算的过程中,一边计算一边生成喃?答案是肯定的,我们使用生成器generator。 2.生成器的创建很简单,最简单的一种是把生成式的[]替换成()a= [x*x for x in range(10)]print(type(a))b= (x*x for x in range(...转载 2018-11-09 04:10:52 · 1413 阅读 · 0 评论