• python学习手册:第四章——python对象类型


    python的单个变量长度不限

    数字

    数学模块math

    • math.pi:π
    • math.sqrt(85):开方
    • random模块,取随机数
    import random
    random.random() #随机生成一个数字
    random.choice([1,2,3,4,5]) #从列表中随机选出一个数字
    random.randint(1,10) #从1到10随机产生一个数字,括号左右均包括
    

    字符串

    • 字符串严格意义上来讲是单个字符组成的序列

    序列的操作

    • 获取长度:len(str)
    • 通过索引取值:str[0]
    • 反向索引:str[-1] #序列倒序索引从-1开始
    • []内可以为任何表达式,不仅仅是一个数字常量
    • 分片:str[1:3],包含左不包含右,str[1:3]截取的为str[1]+str[2]
    • 分片中左括号默认为0,右括号默认为str的长度,常用变体:
    s = spam
    s[:3] > 'spa'
    s > "spam"
    s[0:3] > 'spa'
    s[:-1] > "spa"
    s[:] > 'spam'
    s[1:] > 'pam'
    d = "123456789"
    d[1:7:2] > '246'切片然后以2的步长取值
    d[::-1] > 倒序取值,即把字符串反转过来
    d[7:1:-2] > '864'反向切片 
    
    • 字符串具有不可修改的特性,如果需要对字符串进行修改,另外使用+进行字符串拼接
    str = 'spam'
    str = s[:1]+'z'+s[2:] > 'szam'
    s * 4 > 'spamspamspam'
    
    • 字符串find方法,查找指定字符(串)在母字符串中的位置:查到返回索引,未查到返回-1- replace方法
    str = 'spam'
    str.find('pa') > 1
    
    • 字符串的join方法
    #join方法可以把一个列表,字典等的元素拼接成一个字符串,元素需要为字符串,字典只会拼接键
    >>> s = {'1':'2','3':'4'}
    >>> d = "".join(s)
    >>> d
    '13'
    
    • 字符串replace方法:替换字符串指定子字符串,但是并不改变原字符串
    s = 'spam'
    r = s.replace('pa','xyz')
    t = s,r
    print(s,r,t) > 'spam'   'sxzm'  ('spam','sxyzm') #t为两个字符串组成的元组
    
    • 字符串通过分隔符拆分方法、大小写变换方法、测试字符串内容方法 去掉字符串后的空格字符
    line = 'aaa,bbb,ccc'
    line.split(',') > ['aaa','bbb','ccc'] #通过,进行字符串的分隔
    line.upper() > 'AAA,BBB,CCC' # 边小写,lower
    line.isalpha() > true #数字:isdigit,如果不全为字母则为Flase,数字同逻辑
    s = "qwer
    " s.rstrip() > 'qwer' #去尾部空格
    
    • 字符串的格式化 format
    '%s,eggs,and %s'%('spam','SPAM!') > 'spam,eggs...'
    '{0},eggs,and {1}'.format('spam','SPAM!') > 'spam,eggs...'
    
    • 序列一般函数通用但是方法不通用,即序列通用的都是以XXX(XXX)形式的,不通用的都是XXX.XXX()形式的

    列表

    • append:在列表的最后增加一项,列表可以修改;pop:去掉列表指定索引的值;
    l = ['a','b','c']
    l.append('d') > ['a','b','c','d']
    l.pop(2) > ['a','b','d']
    l + [4,5,6] > ['a','b','d',4,5,6]
    
    • sort:排序方法,默认按照升序进行排序;reverse:翻转方法,对列表进行翻转
    m = ['aa','cc','bb']
    m.sort > ['aa','bb','cc']
    m.reverse > ['cc','bb','aa']
    
    • 列表的解析,从一个嵌套列表中按照需要的规则提取出一个新的列表
    a = '''a,b,c,d
    q,w,e,r
    t,y,u,i
    '''
    b = a.split() #使用空格作为分隔符时,不要使用a.split('
    '),否则会出现末尾带空字符的情况
    c = []
    for i in b :
        c.append(i.split(','))
    col2 = [row[1] for row in c] #先以空格分割字符串成一个以行为单位的列表,再以,为分隔符分割成二维字符串,最后取出每行第二个字符
    

    字典

    • 字典的创建及增加新元素方式
    d = {'age':40,'job':'worker','name'='bob'}
    d['age'] = 30 #可以直接通过键对对应的值进行修改
    d['cat'] = 2 #可以直接增加新键
    
    创建方式2:
    d{}
    d['name'] = 'bob'
    d['age'] = 38
    
    • 字典嵌套,字典可以任意与字典,列表进行嵌套
    rec = {
        'name' : {'first': 'bob','last':'tom'},
        'job':['dev','mgr']
        'age':40
    }
    rec['name']['first'] > 'bob'
    rec['job'][-1] > 'mgr'
    #嵌套列表的字典的扩展:
    rec['job'].append('driver')
    

    元组

    • 元组的特性在于元组不可更改
    • 快速交换两个值的方法:x,y = y,x

    文件

    • 打开一个文件:open
    f = open('a.txt','w')
    f.write("hello,world")
    f.close() #这三行代码可以向a.txt写入hello,如果不存在a.txt则创建,如果a.txt已存在内容则覆盖掉
    
    f = open('a.txt') #默认会以read模式读取文件
    txt = f.read() #将文件内容全部以字符串形式读入txt中
    txt.split(",") #以,为分隔符把txt内容分成列表
    f.close()
    

    集合

    • 集合是唯一的,不可变的,无序的集合;集合更像于无值的字典的键组成的无序序列
    • 集合只能包含不可变的类型,如元组。列表和字典不可以包含在集合内
    创建集合:x = set('spam')
    y = {'m','a','h'}
    x,y > ({'a','p','s','m'},{'a','h','m'})
    x&y > {'a','m'} #与
    x|y > {'a','m','s','p','h'} #并
    
    • 集合可用于去重
    x = [1,2,3,4,5,12,3,4,2,1]
    print(set(x)) > {1, 2, 3, 4, 5, 12}
    - 集合增加元素,x.add(1)
    
  • 相关阅读:
    Linux 上的数据可视化工具
    LINUX 暂停、继续进程
    77个常用Linux命令和工具
    必学100个常用linux命令大全
    Canny边缘检測算法原理及其VC实现具体解释(一)
    ACM POJ 2192 Zipper
    【实战】静默安装-oracle 11.2.0.3 on centos 5.10
    C++ 观察者模式样例
    access数据库:怎么直接从access里把数据里同样的文字替换成空字符""
    垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
  • 原文地址:https://www.cnblogs.com/yingyingdeyueer/p/11766538.html
Copyright © 2020-2023  润新知