python基本数据类型——str

一、字符串的创建

test = str() / ""
test = str("licheng") / "licheng"
  • 无参数,创建空字符串
  • 一个参数,创建普通字符串
  • 两个参数,int(字节,编码)

二、字符串的常用方法

#capitalize():字符串首字符大写
string = ‘this is a string.‘
new_str = string.capitalize()
print(new_str)
#输出:This is a string.

#center(width, fillchar=None):将字符串放在中间,在指定长度下,首尾以指定字符填充
string = ‘this is a string.‘
new_str = string.center(30,‘*‘)
print(new_str)
#输出:******this is a string.*******

#count(sub, start=None, end=None):计算字符串中某字符的数量
string = ‘this is a string.‘
new_str = string.count(‘i‘)
print(new_str)
#输出:3

#decode/encode(encoding=None, errors=None):解码/解码
string = ‘this is a string.‘
new_str = string.decode()
new_str = string.encode()
print(new_str)

#endswith(self, suffix, start=None, end=None):判断是否以某字符结尾
string = ‘this is a string.‘
new_str = string.endswith(‘ing.‘)
print(new_str)
#输出:True

#find(self, sub, start=None, end=None):在字符串中寻找指定字符的位置
string = ‘this is a string.‘
new_str = string.find(‘a‘) #找的到的情况
print(new_str)
#输出:8
new_str = string.find(‘xx‘) #找不到的情况返回-1
print(new_str)
#输出:-1

#index(self, sub, start=None, end=None):;类似find
string = ‘this is a string.‘
new_str = string.index(‘a‘) #找的到的情况
print(new_str)
#输出:8
new_str = string.index(‘xx‘) #找不到的情况,程序报错
print(new_str)
#输出:程序运行报错,ValueError: substring not found

#isalnum(self):判断字符串中是否都是数字和字母,如果是则返回True,否则返回False
string = ‘My name is yue,my age is 18.‘
new_str = string.isalnum()
print(new_str)
#输出:False
string = ‘haha18121314lala‘
new_str = string.isalnum()
print(new_str)
#输出:True

#isalpha(self):判断字符串中是否都是字母,如果是则返回True,否则返回False
string = ‘abcdefg‘
new_str = string.isalpha()
print(new_str)
#输出:True
string = ‘my name is yue‘
new_str = string.isalpha() #字母中间带空格、特殊字符都不行
print(new_str)
#输出:False

# isdigit(self):判断字符串中是否都是数字,如果是则返回True,否则返回False
string = ‘1234567890‘
new_str = string.isdigit()
print(new_str)
#输出:True
string = ‘haha123lala‘
new_str = string.isdigit() #中间带空格、特殊字符都不行
print(new_str)
#输出:False

# islower(self):判断字符串中的字母是否都是小写,如果是则返回True,否则返回False
string = ‘my name is yue,my age is 18.‘
new_str = string.islower()
print(new_str)
#输出:True
string = ‘My name is Yue,my age is 18.‘
new_str = string.islower()
print(new_str)
#输出:False

# isupper(self):检测字符串中所有的字母是否都为大写。
string = ‘MY NAME IS YUE.‘
new_str = string.isupper()
print(new_str)
#输出:True
string = ‘My name is Yue.‘
new_str = string.isupper()
print(new_str)
#输出:False

# join(self, iterable):将序列中的元素以指定的字符连接生成一个新的字符串。
string = ("haha","lala","ohoh")
str = "-"
print(str.join(string))
#输出:haha-lala-ohoh

# lower(self):转换字符串中所有大写字符为小写。
string = "My Name is YUE."
print(string.lower())
# 输出:my name is yue.

# lstrip(self, chars=None):截掉字符串左边的空格或指定字符。
string = " My Name is YUE."
print(string.lstrip())
#输出:My Name is YUE.
string = "My Name is YUE."
print(string.lstrip(‘My‘))
#输出: Name is YUE.

#replace(self, old, new, count=None):把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
string = "My name is yue."
print(string.replace("yue","ying"))
#输出:My name is ying.

# rfind(self, sub, start=None, end=None):返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
string = "My name is yue."
print(string.rfind(‘is‘))
#输出:8
string = "My name is yue."
print(string.rfind(‘XXX‘))
#输出:-1

# split(self, sep=None, maxsplit=None):通过指定分隔符对字符串进行切片。
string = "haha lala gege"
print(string.split(‘ ‘))
#输出:[‘haha‘, ‘lala‘, ‘gege‘]
print(string.split(‘ ‘, 1 ))
#输出: [‘haha‘, ‘lala gege‘]

# rsplit(self, sep=None, maxsplit=None):通过指定分隔符对字符串从右进行切片。
string = "haha lala gege"
print(string.rsplit(‘ ‘))
#输出:[‘haha‘, ‘lala‘, ‘gege‘]
print(string.rsplit(‘ ‘, 1 ))
#输出: [‘haha lala‘, ‘gege‘]

# rstrip(self, chars=None):删除 string 字符串末尾的指定字符(默认为空格).
string = " My name is yue. "
print(string.rstrip())
#输出: My name is yue.

# strip(self, chars=None):移除字符串头尾指定的字符(默认为空格)。
string = " My name is yue. "
print(string.strip())
#输出:My name is yue.

# upper(self):将字符串中的小写字母转为大写字母。
string = "my name is yue,my age is 18."
print(string.upper())
#输出:MY NAME IS YUE,MY AGE IS 18.

 str源码

三、字符串的公共功能

  • 索引(只能取一个元素)
  • 切片(取多个元素)
  • 长度(len)
    • python2:按字节算长度
    • python3:按字符算长度
  • for循环(同长度的版本循环单位)

四、字符与字节的转换

# 将gbk编码的字符转化为字节
s = "李程"
b = bytes(s, encoding="gbk")
type(b)  输出为字节类型

# 将字节转化为字符
c = str(b, encoding="gbk")

五、字符串格式化

Python的字符串格式化有两种方式: 百分号方式、format方式

百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。

1、百分号方式

%[(name)][flags][width].[precision]typecode

 参数详解

常用格式化:

tpl = "i am %s" % "spark"

tpl = "i am %s age %d" % ("spark", 18)

tpl = "i am %(name)s age %(age)d" % {"name": "spark", "age": 18}

tpl = "percent %.2f" % 99.97623

tpl = "i am %(pp).2f" % {"pp": 123.425556, }

tpl = "i am %.2f %%" % {"pp": 123.425556, }

2、Format方式

[[fill]align][sign][#][0][width][,][.precision][type]

 参数详解

常用格式化:

 1 tpl = "i am {}, age {}, {}".format("seven", 18, ‘alex‘)
 2
 3 tpl = "i am {}, age {}, {}".format(*["seven", 18, ‘alex‘])
 4
 5 tpl = "i am {0}, age {1}, really {0}".format("seven", 18)
 6
 7 tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18])
 8
 9 tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
10
11 tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
12
13 tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
14
15 tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
16
17 tpl = "i am {:s}, age {:d}".format(*["seven", 18])
18
19 tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18)
20
21 tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
22
23 tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
24
25 tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
26
27 tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)
28
29 tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)

更多格式化操作:https://docs.python.org/3/library/string.html

时间: 2024-10-13 19:34:17

python基本数据类型——str的相关文章

03.Python基本数据类型(int, bool, str)

?.python基本数据类型 1. int ==> 整数. 主要?来进?数学运算 2. str ==> 字符串, 可以保存少量数据并进?相应的操作 3. bool==>判断真假, True, False 4. list==> 存储?量数据.?[ ]表? 5. tuple=> 元组, 不可以发?改变 ?( )表? 6. dict==> 字典, 保存键值对, ?样可以保存?量数据 7. set==> 集合, 保存?量数据. 不可以重复. 其实就是不保存value的di

python常用数据类型内置方法介绍

熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 一.整型 a = 100 a.xxx() class int(object): def bit_length(self): ##如果将某个整数用2进制表示,返回这个2进制所占bit位数. return 0 def conjugate(self, *args, **kwargs): ##共轭复数 @classmethod # known case def from_bytes(cls, bytes, byteorder, *ar

python 判断数据类型

import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print "the type of aaa is int" if isinstance(aaa,int): print "the type of aaa is int" bbb = 'hello' print type(bbb) if type(bbb) is types.StringType: print "the t

python的数据类型

Python的数据类型包括以下几种: 1.整数型--int 比如1,2,3,这些我们数学上常用的整数,都是整数 还包括负整数,但是不包括小数 >>>a=8 >>>type(a) <class 'int'> 2.长整数--long 32位系统上是2**31-1,64位系统上是2**63 -1,超出位数,python会转用高精度去计算,可以是无限大的整 版本2.7.11以上,如果整数超出位数的话会自动转为长整数,以前是在整数后面加个小写或者大写的l #py2.7

python核心数据类型笔记

在这里,首先声明,python核心数据类型在这里就认为是python内置的数据类型 在python中.序列类型包含字符串,列表和元组 字符串: 字符串字面量:将文本引入单引号,双引号,三引号 默认的编码类型是字符编码(8bit) 在python2中,如果要使用unicode编码(16bit),需在定义字符串的引号前面加u 在python中,有文档字符串的概念,所谓文档字符串就是在模块,类或则是函数中的第一条语句是一个字符的话(用引号定义),那么该字符就是文档字符串,可以使用__doc__属性引用

关于python的数据类型

怕忘记,所以记录下来关于python的数据类型 后期会不断完善 区分整形与浮点型:看数值有没有小数点 1.整形:int 可以把字符串和浮点数转化为整形 2.字符串:str 用'',"",''''''来包含 如果字符串中有单引号,那么要用双引号包含字符串,三引号一般用于带有换行的段落. 可以把整形和浮点数转化为字符串 3.浮点型:float 可以把字符串和整形转化为浮点数 具体实例: >>> a = '2333' >>> b= int(a) >&

python基础之python基本数据类型

本文内容包括三个部分,第一部分简单介绍python中基本数据类型,第二部分讨论数字的常见处理方法,第三部份讨论字符串的常见处理方法  一.python基本数据类型                                                                                                                                                                        

python基本数据类型(二)-python3.0学习笔记

python基本数据类型 序列类型的自带方法 1.列表的常用方法 2.元祖的常用方法 3.字符串的常用方法 1.列表常用的方法 L.append(obj) #在列表末尾添加新的对象 L.clear() #清空列表 L.copy() #复制列表,不是同一个对象,内容相同,有返回值.id不同(内存中的地址不同) L.count(obj) #统计某个元素在列表中出现的次数 L.extend(obj) #用obj扩展原来的列表 L.index(obj) #默认值返回这个元素最先出现的索引位置:需要出现下

python基本数据类型(一)-python3.0学习笔记

python基本数据类型 1.python课程简介 2.数据类型 3.序列类型 1.python简介 1.python是一门编程语言,是一门完全面向对象的编程语言 2.如果对语言进行分类,那么python是一门强类型,动态的语言(若类型:比如int可以编程float,python中数值类型不可变:动态类型:编译时不需要知道变量类型,python中变量无类型) 2.数值类型 数值类型就是我们平常用来做计算的数字类型,在python中有如下几种数据类型 #整型 int #浮点型 float #布尔型