python学习

资源:
    1.[小甲鱼]零基础入门学习Python
        https://www.bilibili.com/video/av4050443/?from=search&seid=10660823011875778478
    2.基于资料1中视频的官网,鱼C论坛有很多资料
        http://bbs.fishc.com/forum-243-1.html
    3.字符串内置方法
        http://bbs.fishc.com/thread-38992-1-1.html
    4.Python及bs4、lxml、numpy模块包的安装
        http://blog.csdn.net/tiantiancsdn/article/details/51046490
    5.Python 关键字
        https://blog.csdn.net/liang19890820/article/details/68488392
    6.python内置函数大全
        https://www.cnblogs.com/pyyu/p/6702896.html
        
        
前言
    1.版本
        学习3.0,很多语法不兼容2.5
    2.安装
        下载3.6.4版本
        软件:Sublime Text 3 , python自带IDLE
    3.Bif 与 函数            
                
Sublime Text3 
    安装:略
    SublimeREPL插件: #可以直接输命令`
        安装:#http://blog.chinaunix.net/uid-12014716-id-4269991.html
        使用:#https://www.cnblogs.com/yshuangj/p/6404372.html

                
python IDLE快捷键
    Alt+N Alt+P 可以查找以前输入的命令用于补全当前命令

    
库的使用: #参考资料4
    1.使用pip安装,
        安装pip
            CMD到相应目录 : easy_install.exe pip
                
            
    2.库的安装
        from bs4 import BeautifulSoup
            #pip3 install beautifulsoup4
        from urllib import request      
            #python3自带
        lxml解析器
            #pip install lxml
        
        
        
学习:
    //参考资料1视频
    1.常用语法 与 基础
        print("jiuya"+" java")
        print("jiuya"*3)    
        print("jiuya\n"*3)  #换行
        缩进是python的灵魂,需要正确的使用缩进
        dir(__builtins__)  #查看python有多少内置函数bif,里面不是所有都是bif,纯小写的是
        help(input)  #查看input作用
        print('jiuya\'! java')   #字符串单引双引,需要转义
        str = r'D:\Java\tomcat'  #在字符串前加r 全部自动给字符转\变成\\
        str='''大大大            #三重引号可以自动给字段加\n
                大大大a
                dadavsxv'''
        if a==0:
            print('xxx')
        else:
            print('xxx')
        3>2 and 1<2   #逻辑操作符 and
        %d 只能输出整数,int类型
        %f 输出浮点数
        %s 输出string
        type() #查看数据类型
        isinstance(320,int) #判断数据类型,2参数:1.待确定参数,2.指定 , 返回True/False 
        
    2.引入模块
        random :randint() #random模块中randint()函数会返回一个随机整数
        import math     #引入数学模块
        
    3.python数据类型
        str , float , bool , int

    4.算数操作符
        + - * / % ** //     #    **冥运算     //float地板除法  去掉小数点后面的
            >>> a=10        
            >>> b=9.999
            >>> a//b
            1.0
            >>> a/b
            1.000100010001
            >>> b/a
            0.9999
            >>> b//a
            0.0
        
            >>>3**2  # 3*3
            9
    5.比较操作符
        < <= > >= != ==
    6.逻辑操作符
        and or not 
        并  或  非
            >>>not True 
            False
            >>>not 0
            True
            >>>not 4
            False
            >>>3 <4 <5
            True
    7.分支循环 #其它和java差不多
        if 条件:
            print()
        elif 条件:
            print()
        elif 条件:
            print()
        else:
            print()
    8.条件表达式(三元操作符)#2.5版本添加的
        small= x if x<y else y
    9.断言 assert 
        >>>assert 3>4 #当这个关键字后面条件为假,程序自动崩溃并抛出AssertionError的异常
    10.while循环
    11.for循环
        member = ['fafa','啊a啊','搜索','嗯嗯']
        for each in member:
            print(each,len(member))
    12.range()
        语法:range([strat,] stop[,step=1])
        #这个bif有三个参数,两个可选,step默认是1
            >>> range(5)
            range(0, 5)
            >>> list(range(5))
            [0, 1, 2, 3, 4]
            >>> for i in range(2,9):
                print(i)
            2
            3
            4
            5
            6
            7
            8
            >>> for i in range(1,10,2):
                print(i)    
            1
            3
            5
            7
            9
    13.列表[]
        普通列表,混合列表,空列表
        member = ['fafa','啊a啊',3.14,[1,2,3]]
        添加元素:
            member.append(4)  #追加
            member.extend([5,6])  #扩展
            member.insert(0,'法防')    
            member.remove('fafa')
            del member[1]    #del 是个语句不是方法
            member.pop()  #弹出;列表最后一个,弹出后列表没有该元素,可以有索引
                member.pop(1) #弹出索引值为1的元素
        列表分片:
            member[1:3]    #不包含3,不改变列表
            member[:3]
    14.列表上的常用操作符、    
        比较,逻辑,连接,重复,成员关系
         (list1 > list2) and (list1 == list3)
        >>>list1 = list1 + list3
        >>>list1 * 3 #复制三遍,不改变列表
        >>>list1 *= 3 #改变列表
        >>>123 in list1  #返回bool,判断1层列表
        >>>123 not in list1
        #list1 = [123,['aa','bb'],44]
        >>>'aa' in list1[1] 
    15.列表类型的内置函数
        dir(list) #列举 list内置函数
        list1.count(123) #计算123在list1中出现多少次
        list1.index(123) #找到第一个出现的位置
        list1.index(123,2,5) #指定范围
        list1.reverse() #翻转
        list1.sort() #排序 小到大
        list1.sort(reverse=True) #大到小
    16.元组:戴上枷锁的列表 tuple
        #元组与list使用上非常相识,不可以被修改
        创建和访问
            >>> tuple1=(1,2,3,4,5) 
            >>> tuple1[1]  
            2
            >>> tuple1[3:]  
            (4, 5)    
            #元组重点是, 不是()
            >>> tuple1=1,2,3    
            >>> tuple1=1,    
        更新和删除
            #以分片重组的方式
            >>> tuple1=(1,2,3,4,5) 
            >>> tuple1=tuple1[:2]+(3.5,)+tuple1[2:]
            (1,2,3,3.5,4,5) 
        元组相关操作符
            + 拼接操作符
            * 重复操作符
            in         成员操作符
            not in    成员操作符
    17.字符串内置方法
        #http://bbs.fishc.com/thread-38992-1-1.html
        切割
            >>> str='12345'
            >>> str[:3]
            '123'
        拼接
            >>> str1=str[:3]+'插入'+str[3:]
            >>> str
            '12345'
            >>> str1
            '123插入45'
        capitalize() #把字符串的第一个字符改为大写
            >>> str2='abcdef'
            >>> str2.capitalize()
            'Abcdef'
        casefold() #把整个字符串的所有字符改为小写
        center(width) #将字符串居中,并使用空格填充至长度 width 的新字符串
        count(sub[, start[, end]]) #返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。
        encode(encoding='utf-8', errors='strict') #以 encoding 指定的编码格式对字符串进行编码。
        endswith(sub[, start[, end]]) #检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。
        expandtabs([tabsize=8]) #把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
        find(sub[, start[, end]]) #检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。
        index(sub[,start[,end]]) #与find差不多,如果sub不在字符串中会产生一个异常
        isalnum() #字符串至少有一个字符,字母数字都可以,有True 无false
        isalpha() #至少一个,只能是字符串 true  false
        isdigit() #只包含数字
        islower() #只能是小写
        replace(old, new[, count]) #把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。
        strip([chars]) #移除字符串头尾指定的字符(默认为空格)
        ....
    18.字符串格式化
        #Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
        >>>"{0} love {1}.{2}".format('I','rekoo','com')
        格式化符号:
            #http://www.runoob.com/python3/python3-string.html
              %c     格式化字符及其ASCII码
              %s     格式化字符串
              %d     格式化整数
              %u     格式化无符号整型
              %o     格式化无符号八进制数
              %x     格式化无符号十六进制数
              %X     格式化无符号十六进制数(大写)
              %f     格式化浮点数字,可指定小数点后的精度
              %e     用科学计数法格式化浮点数
              %E     作用同%e,用科学计数法格式化浮点数
              %g     %f和%e的简写
              %G     %f 和 %E 的简写
              %p     用十六进制数格式化变量的地址
            >>> '%c' %97 
            'a'
            >>> '%c%c%c' %(97,98,99)
            'abc'
        格式化操作符辅助指令:
            #http://www.runoob.com/python3/python3-string.html
            m.n.  #一般配合%f使用, m是总宽度,n是小数点后位数
        转义符号:
            ....
    19.序列
        #列表,元组,字符串
        Bif: #内置方法
            #help(list)
            list() #可迭代对象转list
            tuple()#可迭代对象转tuple
            len(sub)#返回长度
            max()#返回最大
            sum()
            sorted()
            zip()   # 打包为元组的列表
            reversed() #反转,是一个对象,需要list()
    20.函数        
        def MyFunction(name,word):
            print('ssss')
        属性:
            MyFunction.__doc__
        参数:
            关键字参数: 可以用在function 上也可以用在, 调用时
            
        内部/内嵌 函数:
            def fun1():
                print('fun1调用')
                def fun2():
                    print('fun2调用')
                fun2()
    21.闭包
        def funX(x):
            def funY(y):
                return x * y
            return funY
        使用闭包:
        >>>i=funX(8)
        >>>i(5)
        40
        >>>funX(8)(5)
        >>>40
    22.lambda 表达式    
        #创建函数,省下定义函数过程, 把函数变成一句话函数
        >>>t=lambda x:2*x
        >>>t(5)
        10
    23.递归
    24.字典 #dict   映射类型, K/V  
        字典是python唯一的映射类型 #不用索引时, 就可以用字典,
        #  http://www.runoob.com/python/python-dictionary.html
        s={'a':'A','b':'B','c':'C'}
    25.集合    #set
        s={'a','b','c'}
        s=set(['元组/列表/str'])
            1.具有唯一性, 
            2.无序
            3.不支持索引
        方法:
            v in set
            set.add(v)
               .remove(v)
        不可变集合:
            frozen:冰冻的
            frozenset([1,2,3,4])
    26.输入 输出 处理
        open() 函数用于打开一个文件,创建一个 file 对象
        # http://www.runoob.com/python/python-func-open.html
        open(name[, mode[, buffering]])
        打开模式:
            r只读(默认), w写 覆, a写 追加  
        方法:
            .close()
            .read(size=-1)
            .readline() #写入模式打开,文件存在,末尾追加
            .write(str) #将str写入文件

    
    00.Python关键字        
        global    定义全局变量 #可以把函数中局部变量变成全局函数
        nonlocal 与global使用是一样的 #细节自己百度吧
    00.内置函数:
        filter(function, iterable) #过滤器
            #>>>list(filter(lambda x:x%2,range(10)))  
            #[1,3,5,7,9]
        map(function, iterable, ...)     #遍历每个元素,执行function操作
            #>>> list(map(lambda x:x*2,range(10)))  把range生成的值, 放入前面函数得到加工后的值
            #[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
        
        
    
命令/关键字:
    scrapy:
        scrapy startproject XXXXX  //创建项目
        yield
        
    python:
        





问题:
    1.list的分片拷贝与直接赋值
        list1=list2[:]    #创建一个空间
        lisr1=list2     #使用同一个地址,只是多了一个指向
    2.list拼接
        list1=list1+list2
        list1=list1.extend(list2)
        #结果是一样的
    3.sort 与 sorted 区别:
        #http://www.runoob.com/python3/python3-func-sorted.html 
        sort是list的,但是sorted 可以对所有可迭代的对象进行排序操作。
        list1.sort()
        sorted(list1)
    4.在linux下编辑文件 
        缩进使用4个空格,linux类默认是空格,如果用Tab那就必须全换成Tab
    5.软链的使用    20180329设置python3软链时get
        ln -s /usr/local/python3/bin/python3 /usr/bin/python
        设置软连后,会创建一个文件, 如果错误了,需要删除在设置
    6.Python中的None
        # https://blog.csdn.net/baicaiye/article/details/72922197
    7.在闭包中return funX 与return funX() 是有区别的
        funX是返回函数,  funX()是执行函数   

 



资源:1.[小甲鱼]零基础入门学习Pythonhttps://www.bilibili.com/video/av4050443/?from=search&seid=106608230118757784782.基于资料1中视频的官网,鱼C论坛有很多资料http://bbs.fishc.com/forum-243-1.html3.字符串内置方法http://bbs.fishc.com/thread-38992-1-1.html4.Python及bs4、lxml、numpy模块包的安装http://blog.csdn.net/tiantiancsdn/article/details/510464905.Python 关键字https://blog.csdn.net/liang19890820/article/details/684883926.python内置函数大全https://www.cnblogs.com/pyyu/p/6702896.html前言1.版本学习3.0,很多语法不兼容2.52.安装下载3.6.4版本软件:Sublime Text 3 , python自带IDLE3.Bif 与 函数Sublime Text3 安装:略SublimeREPL插件: #可以直接输命令`安装:#http://blog.chinaunix.net/uid-12014716-id-4269991.html使用:#https://www.cnblogs.com/yshuangj/p/6404372.html
python IDLE快捷键Alt+N Alt+P 可以查找以前输入的命令用于补全当前命令
库的使用: #参考资料41.使用pip安装,安装pipCMD到相应目录 : easy_install.exe pip2.库的安装from bs4 import BeautifulSoup#pip3 install beautifulsoup4from urllib import request  #python3自带lxml解析器#pip install lxml学习://参考资料1视频1.常用语法 与 基础print("jiuya"+" java")print("jiuya"*3)print("jiuya\n"*3)  #换行缩进是python的灵魂,需要正确的使用缩进dir(__builtins__)  #查看python有多少内置函数bif,里面不是所有都是bif,纯小写的是help(input)  #查看input作用print('jiuya\'! java')   #字符串单引双引,需要转义str = r'D:\Java\tomcat'  #在字符串前加r 全部自动给字符转\变成\\str='''大大大#三重引号可以自动给字段加\n大大大adadavsxv'''if a==0:print('xxx')else:print('xxx')3>2 and 1<2   #逻辑操作符 and%d 只能输出整数,int类型%f 输出浮点数%s 输出stringtype() #查看数据类型isinstance(320,int) #判断数据类型,2参数:1.待确定参数,2.指定 , 返回True/False 2.引入模块random :randint() #random模块中randint()函数会返回一个随机整数import math     #引入数学模块3.python数据类型str , float , bool , int
4.算数操作符+ - * / % ** // #**冥运算 //float地板除法  去掉小数点后面的>>> a=10>>> b=9.999>>> a//b1.0>>> a/b1.000100010001>>> b/a0.9999>>> b//a0.0>>>3**2  # 3*395.比较操作符< <= > >= != ==6.逻辑操作符and or not 并  或  非>>>not True False>>>not 0True>>>not 4False>>>3 <4 <5True7.分支循环 #其它和java差不多if 条件:print()elif 条件:print()elif 条件:print()else:print()8.条件表达式(三元操作符)#2.5版本添加的small= x if x<y else y9.断言 assert >>>assert 3>4 #当这个关键字后面条件为假,程序自动崩溃并抛出AssertionError的异常10.while循环11.for循环member = ['fafa','啊a啊','搜索','嗯嗯']for each in member:print(each,len(member))12.range()语法:range([strat,] stop[,step=1])#这个bif有三个参数,两个可选,step默认是1>>> range(5)range(0, 5)>>> list(range(5))[0, 1, 2, 3, 4]>>> for i in range(2,9):print(i)2345678>>> for i in range(1,10,2):print(i)1357913.列表[]普通列表,混合列表,空列表member = ['fafa','啊a啊',3.14,[1,2,3]]添加元素:member.append(4)  #追加member.extend([5,6])  #扩展member.insert(0,'法防')member.remove('fafa')del member[1]#del 是个语句不是方法member.pop()  #弹出;列表最后一个,弹出后列表没有该元素,可以有索引member.pop(1) #弹出索引值为1的元素列表分片:member[1:3]#不包含3,不改变列表member[:3]14.列表上的常用操作符、比较,逻辑,连接,重复,成员关系 (list1 > list2) and (list1 == list3)>>>list1 = list1 + list3>>>list1 * 3 #复制三遍,不改变列表>>>list1 *= 3 #改变列表>>>123 in list1  #返回bool,判断1层列表>>>123 not in list1#list1 = [123,['aa','bb'],44]>>>'aa' in list1[1] 15.列表类型的内置函数dir(list) #列举 list内置函数list1.count(123) #计算123在list1中出现多少次list1.index(123) #找到第一个出现的位置list1.index(123,2,5) #指定范围list1.reverse() #翻转list1.sort() #排序 小到大list1.sort(reverse=True) #大到小16.元组:戴上枷锁的列表 tuple#元组与list使用上非常相识,不可以被修改创建和访问>>> tuple1=(1,2,3,4,5) >>> tuple1[1]  2>>> tuple1[3:]  (4, 5)#元组重点是, 不是()>>> tuple1=1,2,3>>> tuple1=1,更新和删除#以分片重组的方式>>> tuple1=(1,2,3,4,5) >>> tuple1=tuple1[:2]+(3.5,)+tuple1[2:](1,2,3,3.5,4,5) 元组相关操作符+ 拼接操作符* 重复操作符in 成员操作符not in成员操作符17.字符串内置方法#http://bbs.fishc.com/thread-38992-1-1.html切割>>> str='12345'>>> str[:3]'123'拼接>>> str1=str[:3]+'插入'+str[3:]>>> str'12345'>>> str1'123插入45'capitalize() #把字符串的第一个字符改为大写>>> str2='abcdef'>>> str2.capitalize()'Abcdef'casefold() #把整个字符串的所有字符改为小写center(width) #将字符串居中,并使用空格填充至长度 width 的新字符串count(sub[, start[, end]]) #返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。encode(encoding='utf-8', errors='strict') #以 encoding 指定的编码格式对字符串进行编码。endswith(sub[, start[, end]]) #检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。expandtabs([tabsize=8]) #把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。find(sub[, start[, end]]) #检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。index(sub[,start[,end]]) #与find差不多,如果sub不在字符串中会产生一个异常isalnum() #字符串至少有一个字符,字母数字都可以,有True 无falseisalpha() #至少一个,只能是字符串 true  falseisdigit() #只包含数字islower() #只能是小写replace(old, new[, count]) #把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。strip([chars]) #移除字符串头尾指定的字符(默认为空格)....18.字符串格式化#Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。>>>"{0} love {1}.{2}".format('I','rekoo','com')格式化符号:#http://www.runoob.com/python3/python3-string.html  %c 格式化字符及其ASCII码  %s 格式化字符串  %d 格式化整数  %u 格式化无符号整型  %o 格式化无符号八进制数  %x 格式化无符号十六进制数  %X 格式化无符号十六进制数(大写)  %f 格式化浮点数字,可指定小数点后的精度  %e 用科学计数法格式化浮点数  %E 作用同%e,用科学计数法格式化浮点数  %g %f和%e的简写  %G %f 和 %E 的简写  %p 用十六进制数格式化变量的地址>>> '%c' %97 'a'>>> '%c%c%c' %(97,98,99)'abc'格式化操作符辅助指令:#http://www.runoob.com/python3/python3-string.htmlm.n.  #一般配合%f使用, m是总宽度,n是小数点后位数转义符号:....19.序列#列表,元组,字符串Bif: #内置方法#help(list)list() #可迭代对象转listtuple()#可迭代对象转tuplelen(sub)#返回长度max()#返回最大sum()sorted()zip()   # 打包为元组的列表reversed() #反转,是一个对象,需要list()20.函数def MyFunction(name,word):print('ssss')属性:MyFunction.__doc__参数:关键字参数: 可以用在function 上也可以用在, 调用时内部/内嵌 函数:def fun1():print('fun1调用')def fun2():print('fun2调用')fun2()21.闭包def funX(x):def funY(y):return x * yreturn funY使用闭包:>>>i=funX(8)>>>i(5)40>>>funX(8)(5)>>>4022.lambda 表达式#创建函数,省下定义函数过程, 把函数变成一句话函数>>>t=lambda x:2*x>>>t(5)1023.递归24.字典 #dict   映射类型, K/V  字典是python唯一的映射类型 #不用索引时, 就可以用字典,#  http://www.runoob.com/python/python-dictionary.htmls={'a':'A','b':'B','c':'C'}25.集合#sets={'a','b','c'}s=set(['元组/列表/str'])1.具有唯一性, 2.无序3.不支持索引方法:v in setset.add(v)   .remove(v)不可变集合:frozen:冰冻的frozenset([1,2,3,4])26.输入 输出 处理open() 函数用于打开一个文件,创建一个 file 对象# http://www.runoob.com/python/python-func-open.htmlopen(name[, mode[, buffering]])打开模式:r只读(默认), w写 覆, a写 追加  方法:.close().read(size=-1).readline() #写入模式打开,文件存在,末尾追加.write(str) #将str写入文件
00.Python关键字global定义全局变量 #可以把函数中局部变量变成全局函数nonlocal 与global使用是一样的 #细节自己百度吧00.内置函数:filter(function, iterable) #过滤器#>>>list(filter(lambda x:x%2,range(10)))  #[1,3,5,7,9]map(function, iterable, ...) #遍历每个元素,执行function操作#>>> list(map(lambda x:x*2,range(10)))  把range生成的值, 放入前面函数得到加工后的值#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]命令/关键字:scrapy:scrapy startproject XXXXX  //创建项目yieldpython:




问题:1.list的分片拷贝与直接赋值list1=list2[:]#创建一个空间lisr1=list2     #使用同一个地址,只是多了一个指向2.list拼接list1=list1+list2list1=list1.extend(list2)#结果是一样的3.sort 与 sorted 区别:#http://www.runoob.com/python3/python3-func-sorted.html sort是list的,但是sorted 可以对所有可迭代的对象进行排序操作。list1.sort()sorted(list1)4.在linux下编辑文件 缩进使用4个空格,linux类默认是空格,如果用Tab那就必须全换成Tab5.软链的使用20180329设置python3软链时getln -s /usr/local/python3/bin/python3 /usr/bin/python设置软连后,会创建一个文件, 如果错误了,需要删除在设置6.Python中的None# https://blog.csdn.net/baicaiye/article/details/729221977.在闭包中return funX 与return funX() 是有区别的funX是返回函数,  funX()是执行函数   








































posted @ 2018-08-10 15:11  九涯  阅读(293)  评论(0编辑  收藏  举报