• python之旅【第二篇】


    1,文件操作

    找到文件-----打开文件------文件操作-----------文件关闭

    file_open = file(文件路径,模式)

    读取文件:

    M.read()

    obj = M.readlines()--------- #一行行读取,并且obj为一个列表

    关于读取模式:

    Table mode

    模式

    描述

    r

    以读方式打开文件,可读取文件信息。

    w

    以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容

    a

    以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建

    r+

    以读写方式打开文件,可对文件进行读和写操作。

    w+

    消除文件内容,然后以读写方式打开文件。

    a+

    以读写方式打开文件,并把文件指针移到文件尾。

    b

    以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。

    Table 文件对象方法

    方法

    描述

    f.close()

    关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。

    f.fileno()

    获得文件描述符,是一个数字

    f.flush()

    刷新输出缓存

    f.isatty()

    如果文件是一个交互终端,则返回True,否则返回False。

    f.read([count])

    读出文件,如果有count,则读出count个字节。

    f.readline()

    读出一行信息。

    f.readlines()

    读出所有行,也就是读出整个文件的信息。

    f.seek(offset[,where])

    把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。

    f.tell()

    获得文件指针位置。

    f.truncate([size])

    截取文件,使文件的大小为size。

    f.write(string)

    把string字符串写入文件。

    f.writelines(list)

    把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。

     

     2.变量管理

    只要内存里存在,则就能使用

    if 1==1:
        name = 2
        print name
    print name

    2.1三元运算:

    1 name = 值1  if   条件    else   值2
    2 
    3 name = 5  if 1==1 else  5    #if成立的话,就执行前面的,不成力就执行后面的

    3进制了解

    二进制,十进制,十六进制,八进制

    4,pycharm的使用

    4.1

    可以断点调试,   补全代码

    一般步骤:

    创建project--------配置解释器-------创建文件---------执行文件(run/debug)

    我们使用pycharm做IDE,方便,利于调试代码,查看源码等等。

    5,对于python一切事物都是对象,对象基于类创建,类中保存了对象的方法

    1 dir()   #查看方法
    2 
    3 type()   #查看类型
    4 
    5 help()   #查看帮助
    6 
    7 类中的方法包含两种  1,内置方法(__方法__)    2普通方法

     6 数据类型

    整数
    i = 10
    i = int(10)
    i = int(12,base=2)

    常用方法

    常用方法
    abs(-9)   绝对值
    divmod(98,10)  得到商和余数

    7 字符串方法

    编码与解码

    unicode -------编码----utf-8------解码----unicode

    unicode -------编码----GBK------解码----unicode

    使用的方法

    编码--encode
    解码--decode

    字符串常用方法

     1 常用方法
     2 b = '   werfdAW45fffrfge'
     3 print b.capitalize() #第一个字母变大写
     4 print b.partition("45") #分割成三部分
     5 print b.center(15,"#") #字符串放中心,不够的使用符号#来填充
     6 print b.count('f')  #查找字符出现的次数
     7 print b.count('f',1,5)
     8 print b.endswith('g')  #是否以什么结尾
     9 print b.find('f')   #查找字符,是否存在,存在的话返回它所在的位置,不存在返回-1
    10 print b.find('ww')
    11 print b.index('f')  #查找字符,是否存在,存在的话返回它所在的位置,不存在返回错误
    12 #format的几种用法
    13 name = 'i am {0},age {1}'
    14 print name.format('alex',67)
    15 name = 'i ma {ss},age {dd}'
    16 print name.format(ss='ddd',dd=78)
    17 li = ['dicky',34]
    18 name1 = 'i am {0},age {1}'
    19 print name1.format(*li)
    20 name.format(ss='ddd',dd=78)
    21 dic = {'ss':'dick',"dd":78}
    22 print name.format(**dic)
    23 print "@@".join(b)
    24 li = ['s1','s3']
    25 print '%'.join(li)  #将列表变成字符串
    26 print b.ljust(20,"&") #和center差不多,只是在右边填充
    27 print b.lower()  #字符串全部变小写
    28 print b.upper() #字符串全部大写
    29 print b.replace('we','ew') #替换
    30 print b.split('AW')  #split分割,可以将字符串分割后变成了列表,
    31 print b.strip()  #去除两边的空格
    32 print b.swapcase()  #大写变小写,小写变大写
    33 结果如下
    34    werfdaw45fffrfge
    35 ('   werfdAW', '45', 'fffrfge')
    36    werfdAW45fffrfge
    37 5
    38 0
    39 False
    40 6
    41 -1
    42 6
    43 i am alex,age 67
    44 i ma ddd,age 78
    45 i am dicky,age 34
    46 i ma dick,age 78
    47  @@ @@ @@w@@e@@r@@f@@d@@A@@W@@4@@5@@f@@f@@f@@r@@f@@g@@e
    48 s1%s3
    49    werfdAW45fffrfge&
    50    werfdaw45fffrfge
    51    WERFDAW45FFFRFGE
    52    ewrfdAW45fffrfge
    53 ['   werfd', '45fffrfge']
    54 werfdAW45fffrfge
    55    WERFDaw45FFFRFGE

    8 列表常用方法

     列表格式如下

    [11,22,33,44,55,66]

    常用方法

    方法
    li = [11,22,33,44,'ee',11]
    li1 = [11,22,33,'ff','ww']
    list
    li.append(123) #添加一个元素
    print li
    print li.count(11) #查找元素出现的次数,并返回数量
    li.extend(li1)  #扩展列表li
    print li
    #print li.index('11')
    print li.index(11) #查找元素是否存在,存在的话返回其位置,不存在则报错。只查找第一次出现的
    li.insert(4,'88') #在某个位置插入元素,默认在末尾插入
    print li
    li.pop() #删除元素并返回删除的下标值,默认删除最后一个
    print li
    li.remove(11)  #移除元素,默认移除找到的第一个
    print li
    #li.remove('22222') #不存在则报错
    #print li
    li.reverse() #逆序输出
    print li
    del li  #删除列表
    结果
    [11, 22, 33, 44, 'ee', 11, 123]
    2
    [11, 22, 33, 44, 'ee', 11, 123, 11, 22, 33, 'ff', 'ww']
    0
    [11, 22, 33, 44, '88', 'ee', 11, 123, 11, 22, 33, 'ff', 'ww']
    [11, 22, 33, 44, '88', 'ee', 11, 123, 11, 22, 33, 'ff']
    [22, 33, 44, '88', 'ee', 11, 123, 11, 22, 33, 'ff']
    ['ff', 33, 22, 11, 123, 11, 'ee', '88', 44, 33, 22]

     9 元祖

    元祖的元素不可以修改

    方法只有两个

    count  index

    10 字典常用方法

     1 dic = {'dicky':123,'age':18}
     2 dic1 = {'alex':123,'dicky':456}
     3 dic.clear()
     4 print dic  #清空字典
     5 dic = {'dicky':123,'age':18}
     6 print dic.get('dicky')  #get得到返回的value,没有的话默认返回None,也可以自定义返回值
     7 print dic.get('work','ok')
     8 print dic.items() #返回字典的值
     9 print dic.keys()  #返回key值
    10 print dic.values() #返回value值
    11 dic.pop('dicky')  #删除指定key
    12 dic = {'dicky':123,'age':18}
    13 print dic
    14 dic.update(dic1)
    15 print dic
    16 dic.setdefault('dicky')
    17 print dic
    18 dic.setdefault('zhang',10) #查找keys,不存在则添加,默认是default
    19 print dic
    20 结果
    21 {}
    22 123
    23 ok
    24 [('dicky', 123), ('age', 18)]
    25 ['dicky', 'age']
    26 [123, 18]
    27 {'dicky': 123, 'age': 18}
    28 {'dicky': 456, 'age': 18, 'alex': 123}
    29 {'dicky': 456, 'age': 18, 'alex': 123}
    30 {'dicky': 456, 'age': 18, 'alex': 123, 'zhang': 10}

    单独说下copy

    11 集合

    简单介绍

    1 b = [11,22,99,56,39,'ff']
    2 a = [11,22,33,44,55,11,22,33,77,'ff','ww']
    3 c = set(a)
    4 d = set(b)
    5 print d & c  #交集
    6 print d | c  #并集
    7 结果
    8 set([11, 'ff', 22])
    9 set([33, 99, 22, 39, 11, 44, 77, 'ww', 'ff', 55, 56])
  • 相关阅读:
    开源牛人 zcbenz
    分享一个快速的Json(反)序列化开源项目 Jil
    影响当今世界发展的重要技术难题
    余额表的处理方法
    使用TypeScript开发程序
    docker 和 nginx 配合的一个坑
    Excel 的一些使用记录
    mysql 用户授权相关
    容器数量增加导致 fs.inotify.max_user_instances 超过限制
    在 EF Core 中如何输出 linq 转换后的 sql 语句
  • 原文地址:https://www.cnblogs.com/Dicky-Zhang/p/5243330.html
Copyright © 2020-2023  润新知