Python-字符串

变量

1创建变量:d=4   表示将整型对象‘4’赋值给变量d

               记住:一切数据都是对象

               记住:一切变量都是数据对象的一个引用

               分析:Python内部的引用计数。sys.getrefcount

2变量命名规范:

                (1)只能用字母和下划线

               (2)不能用关键字如if等

               (3)大小写敏感

3赋值:

       记住多态特性

       多重赋值

       删除:del

一个等号=是赋值,两个等号==是比较

注意:三内置必须用熟。type,help,dir

4常用基本数据类型:

    (1)    int整型

    (2)    boolean布尔值

    (3)    string字符串

    (4)    list列表

    (5)    tuple元组

    (6)    dict字典

 

 

5数据类型的可变与不可变

  (1)不可变类型:int、string、tuple  (通过id()来看唯一标识符)

  (2)可变类型:list、dict

 

字符串:help(str)

1访问字符串,序列

          a='wujiadong'

          print(a[0])              

          print(len(a))           

          print(a[8])           

          print(a[:])            

2替换字符串

          b=a.replace('wujiadong','jiangrui')  #前面是老字符串,后面是新字符串,注意要加引号

          print(b)               

3字符串拼接

方法一:【通过+号】

          a='wujiadong'

          b='jiangrui

          c='a'+'b'        # +号拼接

          print(a+b)             

方法二:【通过占位符%】

         a='my name is wujiadong.'

         print(a)                           

         b='my name is %s wujiadong'%'xiaowu'  #

         print(b)                           结果: my name is xiaowu wujiadong

       

%s—字符串的占位符

%d—数字的占位符

方法三:【.join()】最好的方法

           a='wu'

           b='jia'

           c='dong'

           d1=''.join([a,b,c])

           d2='*'.join([a,b,c])

           print(d1)          结果:wujiadong

           print(d2)          结果:wu*jia*dong

4读写文本

w-write  r-read  a-append

          a=open('a.txt','w')        #创建打开文件

          a.write('hi.\nsecond hi.')   #写内容只能写字符串

          a.close()               #关闭文件

          a=open('a.txt','r')        #这里写完后可以help(d)看有哪些读取的方法  

          print(list(a))            结果:['hi.\n', 'second hi.']   #用list()转换函数会返回文件的实际内容(以列表的形式)

                                                    #这里如果直接打印a会报错。a是一个文件对象

 

          print(a.read(100))       结果:可以直接输出结果,100也可以不写。如果再读,需要a.seek(0)

#两次输出

          print(a.readline())       结果:输出hi和空行

          print(a.readline())       结果:输出second hi

 

 

          >>> a=open('1.txt','r')

          >>> a=open('1.txt','w')

          >>> a.write('wowowo\naiaiaiai\nyouyouyou')

                25

         >>> a.close()

         >>> a=open('1.txt','r')

         >>> import linecache

通过模块linecache

          print(linecache.getline('1.txt',1))

          >>> lines=linecache.getlines('1.txt')

          >>> print(lines)

 

5修改字符串

         a='this is jiadong'

         a=a.replace('this','that')   #替换

         print(a)               结果:that is jiadong

6字符串格式化

(1) 通过format()函数:

             print('{0} love {1} {2}'.format('I','jia','dong'))           结果 I love jia dong

             print('{}{}'.format('jia','dong'))                      结果 jiadong

             print('{1}{0}{1}'.format('jia','dong'))                  结果 dongjiadong

(2) 通过关键字:

              print('{a} love {b} {c}'.format(a='i',b='jia',c='dong'))      结果 i love jia dong

              print('{0} love {a} {b}'.format('jia',a='wu',b='dong'))      结果jia love wu dong   #综合使用,位置参数必须在关键字参数前

(3) 通过下标:

             p=['jiadong',18]

             print('{0},{0}'.format(p))            结果 ['jiadong', 18],['jiadong', 18]    #两0之间可以有逗号,也可以没有逗号

             print('{0[0]},{0[1]}'.format(p))        结果  jiadong,18

7格式限定符:(语法是{}中带:号)

A 填充与对齐:

(1)填充跟对齐一起使用

(2)^、<、>分别是居中、左对齐、右对齐,后面带宽度

(3):号后面带填充的字符,只能是一个字符,不指定的话默认用空格填充

              print('{:>8}'.format('189'))          结果       189             #大于号右边靠

               print('{:<8}'.format('189'))          结果  189                  #小于号左边靠

              print('{:0<8}'.format('189'))         结果  18900000             #用0填充

               print('{:a>8}'.format('189'))         结果  aaaaa189             #用a填充

B 精度与类型f

              print('{:.2f}'.format(321.33345)) 结果  321.33                  # 其中 .2 表示长度为2的精度,f表示folder类型

C 其他类型

(1)主要是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。

             print('{:b}'.format(17)) 结果 10001

             print('{:d}'.format(17)) 结果 17

             print('{:o}'.format(17)) 结果 21

             print('{:x}'.format(17)) 结果 11

(2)用,号还能用来做金额的千位分隔符

             print('{:,}'.format(1234567890)) 结果 1,234,567,890

D 字符串格式化符号含义

(1)%c格式化字符串机器ASCII码

           print('%c'% 97)                                 结果 a

           print('%c %c %c'% (97,98,99))           结果 a b c

(2)%s格式化字符串

           print('%s'% 'I love wujiadong')                结果 I love wujiadong

(3)%d格式化整数

            print('%d+%d=%d'%(4,5,4+5))              结果 4+5=9

(4)%o格式化无符号八进制数

            print('%o'% 10)                                      结果 12

(5)%x格式化无符号十六进制数                      

           print('%x'% 10)                                       结果 a

(6)%X格式化无符号十六进制数(大写)               

          print('%X'% 10)                                       结果 A

          print('%e'%27.123)                                   结果A0               

(7)%f格式化定点数,可指定小数点后的精度         

           print('%f'%27.123)                                 结果 27.123000

(8)%e用科学计算法格式化定点数                      

           print('%e'%27.123)                                 结果 2.712300e+01

(9)%E同%e                                                

           print('%E'%27.123)                                 结果 2.712300E+01

(10)%g根据值的大小决定使用%f或%e              

           print('%g'%27.123)                                 结果 27.123

(11)%G作用同%g                                        

           print('%G'%27.123)                                 结果 27.123

E 字符串格式化操作符辅助指令

 

posted @ 2015-10-04 23:10  邬家栋  阅读(196)  评论(0编辑  收藏  举报