python基础
2025-01-14 18:40:34   7  举报             
     
         
 AI智能生成
  python基础
    作者其他创作
 大纲/内容
  开发的种类    
     编译型    
     优点:执行效率高(例如搜索引擎)  
     缺点:排错慢,开发效率低,不能跨平台  
     典型:C,GO  
     解释性    
     优点:排错快,开发效率高,可跨平台  
     缺点:执行效率低  
     典型:python,PHP  
     混合型    
     java,c#  
     包    
     什么是包    
     一个带__init__.py文件的文件夹  
     从包中导入模块    
     使用.来描述文件夹之间的层级关系,.的左侧必须是一个包  
     import    
     导入需要直接精确到模块  
     必须使用import之后的所有内容或者别名来引用模块中的名字  
     from import    
     导入需要至少精确到模块  
     import 之后不能带.  
     导入包  
     python的优缺点    
     优点    
     优美,清新,简单  
     高级语言  
     开发效率高  
     可移植,可扩展,可嵌入  
     缺点    
     速度慢  
     代码不能加密  
     线程不能利用多CPU  
     python的种类    
     Cpython:基于c语言开发的  
     lpython  
     jprthon  
     pypy:目前执行最快的  
     编码    
     ascii码    
     包含数字,字母和特殊字符  
     8位1个字节表示1个字符  
     Unicode    
     包含所有国家的文字  
     初期:16位2个字节表示1个字符  
     升级:32位4个字节表示1个字符(资源严重浪费)  
     utf-8    
     英文:8位1个字节表示一个字符  
     欧洲:16位2个字节表示1个字符  
     亚洲:24位3个字节表示1个字符  
     gbk    
     英文:8位1个字节表示1个字符(使用ASCII码)  
     中文:16位2个字节表示1个字符  
     衍生物:gbk2312......  
     编码之间二进制互不识别  
     存储和传输:使用二进制编码(非unicode)    
     代码涉及到发送和储存本地的时候,利用unicode进行转换  
     python3    
     str在内存中的编码方式是Unicode  
     bytes编码方式为非Unicode  
     syr与bytes方法相同  
     编码与解码    
     encode("utf-8")  
     decode("utf-8")  
     注意:用什么方式编码,就用什么方式解码  
     模块    
     什么是模块    
     python提供给我们在导入之后能直接使用的工具  
     模块搜索路径    
     sys.path  
     pyc编译文件    
     在导入模块的时候生成  
     模块的导入    
     导入相当于执行了文件中的代码  
     import    
     import 模块名    
     创建一个独立属于模块名的命名空间    
     使用空间中的名字需要借助模块名  
     from import    
     from 模块名 import 名字  
     from 模块名 import  名字 as 别名  
     from 模块名 import *    
     __all__  
     导入模块的注意事项    
     写在文件的最开始  
     顺序    
     内置模块 扩展模块 自定义模块  
     不会被多次导入  
     不可以循环引用  
     执行脚本与执行模块    
     __name__    
     当直接执行一个py文件的时候,__name__就是'__main__'  
     当一个文件被当做模块导入的时候__name__就是'模块名'  
     re模块    
     查找    
     findall  
     search  
     match  
     finditer  
     分割和替换    
     split  
     sub/subn  
     编译    
     compile    
     节省时间  
     正则表达式    
     元字符  
     量词  
     量词?到底用在了那些地方  
     collections模块    
     namedtuple  
     defaultdict  
     OrderedDict  
     deque  
     deque  
     random模块    
     随机小数  
     随机整数  
     随机抽取  
     打乱顺序  
     时间模块    
     计算时间差  
      获取当前时间本月1号的时间戳时间  
     os 模块    
     计算文件夹下所有文件的大小  
     os.path.getsize(path)  
     os.path.dirname(path)  
     os.path.join(path,dirname/filename)  
     remove/rename  
     os.popen/os.system  
     sys模块    
     sys.path  
     sys.argv  
     序列化模块    
     json  
     pickle  
     shelve  
     hashlib    
     sha系列  
     md5  
     logging    
     basicConfig  
     getLogger  
     configparser  
     变量与常量    
     变量    
     1.必须用数字,字母,下划线组成  
     2.不能以数字开头  
     3.不能是关键字  
     4.不能是中文,不能太长,要具有可描述性  
     下划线:Age_Of_Boy(推荐使用)驼峰体:AgeOfBoy  
     常量    
     一直不变的量    
     约定俗成,全部大写的为常量:AGE_OF_BOY  
     语句    
     if语句    
     elif多分支判断  
     while语句:无限循环    
     break:完全结束一个循环体,执行下面的语句  
     flag:True or False  
     continue:跳过本次循环,执行下一次循环  
     for语句:有限循环    
     for else 双分支判断  
     for 变量in 可迭代对象  
     逻辑运算符    
     优先级:()>not>and>or  
     or: x or y ,if x Ture, return x  
     and:和or 相反  
     0为False,其他都是True  
     格式化输出    
     info="""message"""  
     %%:格式化输出中单纯显示%  
     %s:字符串,%d:数字,%r:句子内符号    
     (%s,%d,%r) % ("abc",123,"><")  
     format    
     '我叫{},爱好{},年龄{}'format('alex','girl',30)  
     '我叫{0},爱好{1},年龄{2},我还叫{0},爱好依然是{1}'format('alex','girl',30)  
     '我叫{name},爱好{hobby},年龄{age}'format{name='alex',hobby='girl',age=30}  
     python2与python3的区别    
     代码    
     py2:代码混乱,重复代码多,冗余  
     py3:代码崇尚优美清新简单  
     input    
     py2:raw_input()接收的是字符串,input()接收的是数字  
     py3:input()接收的全部是字符串  
     print    
     py2:print是一个语句,接收的是一个元祖对象(若想作为函数使用可导入future中的print_function)  
     py3:print是一个函数,可接收多个位置参数  
     编码方式    
     py3:默认使用utf-8,支持中文  
     py2:默认使用ascii码,如想使用中文,#_*_coding:utf-8_*_非常不推荐使用  
     不等运算符    
     py2可以使用!=或者<>  
     py3只能使用!=  
     数据类型    
     py2存在long类型  
     py3全部为int类型  
     创建迭代对象    
     py2:xrange  
     py3:range  
     repr    
     py2:repr语句  
     py3:只允许使用repr函数  
     文件    
     py2:使用file()或者open()  
     py3:只能使用open()  
     新增一些语法    
     py2:print或esec语句nonlocal......(待补充)等方法  
     py3:print或esec改为函数,新增nonlocal......(待补充)等方法  
     修改一些语法    
     py2:字典的keys,values,iterms以及map,filter,reduce返回的都是一个列表  
     py3:字典的keys,values,iterms以及map,filter,reduce返回一个可迭代对象  
     文件操作    
     文件操作    
     读    
     r  
     rb    
     bytes类型读写  
     r+    
     读写  
     r+b  
     写    
     w  
     wb  
     w+  
     w+b  
     追加    
     a  
     ab  
     a+  
     a+b  
     常用的操作方法    
     seek  
     tell()  
     readable()    
     是否可读  
     writable()    
     是否可写  
     truncate  
     文件的修改  
     正则表达式    
     元字符  
     量词  
     转义符  
     贪婪匹配  
    
 
 
 
 
  0 条评论
 下一页