Python:linecache库

Python 基本数据类型讲解

一:数据类型

1、 不可变数据类型

string,int ,tuple 常量

字符串不可变之再探

对字符串中的某一字符重新赋值string[1] = ‘a’ ,这样可以吗?
答:自然是不可以的,string数据类型是不可变的

2、 可变数据类型变量

dict 字典类型
list 列表类型


二、深入研究字符串

序列到底是什么

1 三个符号的区别 ”,”“,”“” “”“
‘’,与‘’‘’没有区别,都是表示一个字符串序列
“”” :当一行无法存放下一个长字符串时使用它

    str1='123'
    str2='123'
    str3='''1
            2
            3'''

str1/str2/str3 都相同

2 偏移量从0开始

#查找字符串中的某一元素,是从下标0开始的
#想获取字符串中的一个子串,使用[:]方法
str='123456'
#获取'34'
s1=str[2:4] #获取下标从2到4的元素(但不包括4,是一个左开右闭的区间)
s2=str[2:]  #获取从下标2直到末尾的元素
s3=str[:4] 

3 如何修改字符串之replace,find

replace

#replace函数用来替换字符串中的某一个子串,替换成新的子串
str='123456'
s1=str.replace('23','aa')#将str字符串中的子串‘23’替换成子串‘aa’

#在保护隐私方面可以使用replace,隐藏电话号码
phone_number = '1386-666-0006'
hiding_number = phone_number.replace(phone_number[:9],'*' * 9)
print(hiding_number)

find

#find 用来查找字符串中的一个子串,返回它的索引位置
#若不存在,返回-1
str='123456'
index=str.find('23')  #返回索引位置1

search = '168'
num_a = '1386-168-0006'
num_b = '1681-222-0006'
print(search + ' is at ' + str(num_a.find(search)) + ' to '+ str(num_a.find(search) + len(search)) + ' of num_a')
print(search + ' is at ' + str(num_b.find(search)) + ' to '+ str(num_b.find(search) + len(search)) + ' of num_b')

三 格式化细究

1 % 格式化方式

#使用%占位符,表示这里预留了一个位置
#   %d 是一个整形
#   %s 是一个字符串类型
string='my %s'%'word' #输出my word
str1 = '%d times %s' %(3,'exams') #输出3 times exams,需要按照元组中的顺序进行拼接

2 format格式化方式
format是字符串对象的一个内置函数

#在花括号里可以自定义顺序
 string1 = 'my {1} {0}'.format('world','apple') #输出my apple world

#花括号里可以定义名字,这种方式更方便;
 string2 = 'my {a} {b}'.format(a='world', b='apple')

3 为什么要用format
方式更多,更有用

#还可以用来输入字符然后插入字符串中
str1="this is {name}".format(name=input())
print(str1)

4 还有一个方法,字典来了。

以后再讨论字典方法,用的不常见


四 再议打开文件

一般方法

    a = open("test.txt",'w')#写文件,若文件不存在,则创建该文件
    a.write('abcd')
    a.close()

    a=open('test.txt','r')#打开文件
    a.read(100) #文件指针指向末尾,一次读取100个字节的数据
    a.seek(0)#将文件指针重置到文件开头
    a.read(100)
    a.close()

第二种文件操作方法:

标准库的介绍 linecache

import linecache#调用linecache库

a = open("test.txt",'w')#写文件,若文件不存在,则创建该文件
a.write('abcd\n123\n234325\n124')
a.close()

linecache.getline('test.txt',1)#读取第一行
linecache.getline('test.txt',2)#读取第二行
linecache.getline('test.txt',3)#读取第三行

linecache.getlines('test.txt')#读取文件所有行,将所有行存放到一个list中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值