标签:空间 lines lis 括号 find utf-8 arch www 内存
#!/usr/bin/python
#-*- coding:UTF-8 -*-
#date:20180501
Python数据类型
整型:int
字符串:string
1、字符串一旦创建就不允许修改,所谓的for循环拿到的是创建了一个新的字符串
创建
str_01 = ‘Hello world‘
删除
del str_01,str_02
拼接
#1、通过“+” 来将两个字符串进行拼接 str_01 = ‘hello‘ str_02 = ‘world‘ new_str = str_01 + str_02 print(new_str) >>>helloworld #2、通过join.()方法(括号中只能是一个序列) str_01 = ‘hello‘ str_02 = ‘world‘ list_str = [str_01,str_02] new_str = ‘****‘.join(list_str) print(new_str) >>>hello****world ‘‘‘注:通过“+”进行拼接,缺点是浪费内存,不建议使用,python中的字符串在C语言中体现为是一个字符数组, 每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间, 万恶的 + 号每出现一次就会在内从中重新开辟一块空间。 ‘‘‘
切片
str_01 = ‘hello world‘ print(str_01[0:])#获取从第一个到最后的字符串,第一个字符从零开始计算 print(str_01[:])#获取整个字符串 print(str_01[-3:])#从倒数第三个字符开始到最后的字符即rld print(str_01[3:7])#获取第四个字符开始到第六个字符即lo w
分割
#简单的分割用方法split,不能做多个条件的分割,指定特点的分割符对字符串进行切片分割为一个列表 Phone_Number = ‘400-300-200-1234‘ print(Phone_Number.split(‘-‘)) >>>[‘400‘, ‘300‘, ‘200‘, ‘1234‘] print(Phone_Number.split(‘-‘,2)) >>>[‘400‘, ‘300‘, ‘200-1234‘] ‘‘‘ 注:split是从左向右,以分割符,切片 rsplit是从右向左,以分隔符,切片 splitlines 是按照行(‘\r‘, ‘\r\n‘, \n‘)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 ‘‘‘ str1 = ‘ab c\n\nde fg\rkl\r\n‘ print (str1.splitlines()) >>>[‘ab c‘, ‘‘, ‘de fg‘, ‘kl‘] str2 = ‘ab c\n\nde fg\rkl\r\n‘ print (str2.splitlines(True)) >>>[‘ab c\n‘, ‘\n‘, ‘de fg\r‘, ‘kl\r\n‘] #复杂的分割 #r表示不转义,分隔符可以是;或者,或者空格后面跟0个多个额外的空格,然后按照这个模式去分割 #\ 转义符 #\n 换行 #\v #\t tab制表符 #\r 回车 #\s 匹配任意空白字符 #r或R 按字符串本来的意思输出 即 r‘\n‘ -->\n import re line = ‘hello world; python, I ,like, it‘ print(re.split(r‘[;,s]\s*‘,line)) >>>[‘hello world‘, ‘python‘, ‘I ‘, ‘like‘, ‘it‘]
#正则表达式中*表示匹配前面字符0次或多次
格式化
print("%s python is %s ok!"%("my","me")) #>>>my python is me ok! #另一种格式化表达方式,通过{}和: 来代替% #通过方法str.formart(),支持位置不按顺序顺序 print("{}{}".format("hello\t","china")) #>>>hello china print("{1} {0} {1}".format("hello","china")) #>>>china hello china #可配置参数 print("网站名:{name} ,地址:{url}".format(name="学习Python" ,url="www.baidu.com")) #>>>网站名:学习Python ,地址: www.baidu.com
注:%s 表示字符串
%d 表示数字
%f 表示浮点型
字符串的开头和结尾的处理
字符串的开头和结尾的处理 ‘‘‘ 比方我们要查一个文件的名字是以什么开头或者什么结尾 方法为: str.startswith() str.endswith() ‘‘‘ file_name = ‘hello world2018.txt‘ print(file_name.startswith(‘H‘)) #>>>False print(file_name.endswith(‘txt‘)) #>>>True
字符串的查找和匹配
‘‘ 一般查找 我们可以很方便的在长的字符串里面查找子字符串, 会返回子字符串所在位置的索引, 若找不到返回-1 ‘‘‘ print(file_name.find(‘ll‘)) >>>2 print(file_name.find(‘ld‘)) >>>9 ‘‘‘ 复杂查找 ‘‘‘ t_date = ‘2018/05/12‘ import re if re.match(r‘\d+/\d+/\d+‘,t_date): print(‘ok,match‘) else: print(‘no march‘) >>>ok,match
注:+ 正则表达式中表示匹配前面字符一次或多次
字符串的替换
"""普通替换的方法:str.replace()""" str_04 = ‘python is a easy language,but if you want to learn it ,you should keep up write code everyday!‘ str_new = str_04.replace(‘easy‘,‘difficult‘) print(str_new,‘\n‘,str_04) #>>>python is a difficult language,but if you want to learn it ,you should keep up write code everyday! # python is a easy language,but if you want to learn it ,you should keep up write code everyday! """复杂的需要处理多个替换方法:re.sub()""" my_home = ‘man 75 , girl 60‘ print(re.sub(r‘\d+‘,‘70‘,my_home)) #>>>man 70 , girl 70
标签:空间 lines lis 括号 find utf-8 arch www 内存
原文地址:https://www.cnblogs.com/sunxiuwen/p/8999550.html