1、数字 ---> int类
当然对于数字,Python的数字类型有int整型、long长整型、float浮点数、complex复数、以及布尔值(0和1),这里只针对int整型进行介绍学习。
在Python2中,整数的大小是有限制的,即当数字超过一定的范围不再是int类型,而是long长整型,而在Python3中,无论整数的大小长度为多少,统称为整型int。
其主要方法有以下两种:
int -->将字符串数据类型转为int类型, 注:字符串内的内容必须是数字
#!/usr/bin/env python
# -*- coding:utf-8 -*-
s = '123'
i = int( s )
print( i)
bit_length() -->将数字转换为二进制,并且返回最少位二进制的位数
#!/user/bin/env python
#-*- coding:utf-8 -*-
i =123
print( i.bit_length() )
#输出结果为:
>>>5
2、布尔值 --->bool类
对于布尔值,只有两种结果即True和False,其分别对应与二进制中的0和1。而对于真即True的值太多了,我们只需要了解假即Flase的值有哪些---》None、空(即 [ ]/( ) /" "/{ })、0;
#以下结果为假,即None、‘’、[]、()、{}以及 0
>>> bool(None)
False
>>> bool('')
False
>>> bool([])
False
>>> bool(0)
False
>>> bool(())
False
>>> bool({})
False
3、字符串 --->str类
关于字符串是Python中最常用的数据类型,其用途也很多,我们可以使用单引号 ‘’或者双引号“”来创建字符串。
字符串是不可修改的。所有关于字符我们可以从 索引、切片、长度、遍历、删除、分割、清除空白、大小写转换、判断以什么开头等方面对字符串进行介绍。
创建字符串
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#字符串的形式:使用‘’或者“”来创建字符串
name ='little_five'
print(name)
切片
#获取切片,复数代表倒数第几个,从0开始
>>> name ="little-five"
>>> name[1]
'i'
>>> name[0:-2] #从第一个到倒数第二个,不包含倒数第二个
'little-fi'
索引--> index()、find()
#!/usr/bin/env python
# -*- coding:utf-8 -*-
name = "little_five"
#index-->获取索引,第二个参数指定获取该子字符或者子序列的第几个
print(name.index("l",2)) #结果为 4
#find -->其作用与index相似
print(name.find("l",2)) #结果也为 4
index()与find()的不同之处在于:若索引的该字符或者序列不在字符串内,对于index--》ValueError: substring not found,而对于find -->返回 -1。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
name = "little_five"
print(name.index("q",2))
#index--》输出为:
>>>Traceback (most recent call last):
File "C:/Users/28352/PycharmProjects/learning/Day13/test.py", line 5, in <module>
print(name.index("q",2))
ValueError: substring not found
print(name.find("q",2))
#find--》输出为:
>>> -1
长度 -->len()
name = "little_five"
#获取字符串的长度
print(len(name))
#输出为:
>>> 11
注:len()方法-->同样可以用于其他数据类型,例如查看列表、元组以及字典中元素的多少。
删除 --> del
#删除字符串,也是删除变量
>>> name ="little-five"
>>> del name
>>> name
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'name' is not defined
判断字符串内容 --> isalnum()、isalpha()、isdigit()
#判断是否全为数字
>>> a ="123"
>>> a.isdigit()
True
>>> b ="a123"
>>> b.isdigit()
False
#判断是否全为字母
>>> d ="alx--e"
>>> d.isalpha()
False
>>> c ="alex"
>>> c.isalpha()
True
#判断是否全为数字或者字母
>>> e ="abc123"
>>> e.isalnum()
True
大小写转换 --> capitalize()、lower()、upper()、title()、casefold()
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#大小写的互相转换
>>> name ="little_five"
#首字母大写-->capitalize
>>> name.capitalize()
'Little_five'
#转为标题-->title
>>> info ="my name is little_five"
>>> info.title()
'My Name Is Little_Five'
#全部转为小写-->lower
>>> name ="LITTLE_FIVE"
>>> name.lower()
'little_five'
#全部转为大写-->upper
>>> name = "little_five"
>>> name.upper()
'LITTLE_FIVE'
#大小写转换-->swapcase
>>> name ="lIttle_fIve"
>>> name.swapcase()
'LiTTLE_FiVE'
判断以什么开头结尾 --> startswith()、endswith()
#判断以什么开头、结尾
>>> name ="little-five"
#判断以什么结尾
>>> name.endswith("e")
True
#判断以什么开头
>>> name.startswith("li")
True
扩展-->expandtabs()
#expandtabs -->返回字符串中的 tab 符号('\t')转为空格后生成的新字符串。通常可用于表格格式的输出
info ="name\tage\temail\nlittlefive\t22\t994263539@qq.com\njames\t33\t66622334@qq.com"
print(info.expandtabs(10))
#输出为:
name age email
little-five 22 994263539@qq.com
james 33 66622334@qq.com
格式化输出-->format()、format_map()
#格式化输出-->format、format_map
#forma方法
#方式一
>>> info ="my name is {name},I'am {age} years old."
>>> info.format(name="little-five",age=22)
"my name is little-five,I'am 22 years old."
#方式二
>>> info ="my name is {0},I'am {1} years old."
>>> info.format("little-five",22)
"my name is little-five,I'am 22 years old."
#方式三
>>> info ="my name is {name},I'am {age} years old."
>>> info.format(**{"name":"little-five","age":22})
"my name is little-five,I'am 22 years old."
#format_map方法
>>> info ="my name is {name},I'am {age} years old."
>>> info.format_map({"name":"little-five","age":22})
"my name is little-five,I'am 22 years old."
jion方法
#join--> join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
#字符串
>>> name ="littefive"
>>> "-".join(name)
'l-i-t-t-e-f-i-v-e'
#列表
>>> info = ["xiaowu","say","hello","world"]
>>> "--".join(info)
'xiaowu--say--hello--world'
分割 --> split()、partition()
#分割,有两个方法-partition、split
#partition -->只能将字符串分为三个部分,生成列表
>>> name ="little-five"
>>> name.partition("-")
('little', '-', 'five')
#split-->分割字符串,并且可以指定分割几次,并且返回列表
>>> name ="little-five-hello-world"
>>> name.split("-")
['little', 'five', 'hello', 'world']
>>> name.split("-",2) #指定分割几次
['little', 'five', 'hello-world']
>>>
替代 -->replace
#替代
>>> name ="little-five"
>>> name.replace("l","L")
'LittLe-five'
#也可以指定参数,替换几个
>>> name.replace("i","e",2)
'lettle-feve'
清除空白 --> strip()、lstrip()、rstrip()
#去除空格
>>> name =" little-five "
#去除字符串左右两边的空格
>>> name.strip()
'little-five'
#去除字符串左边的空格
>>> name.lstrip()
'little-five '
#去除字符串右边的空格
>>> name.rstrip()
' little-five'
替换 -->makestran 、translate
#进行一一替换
>>> a ="wszgr"
>>> b="我是中国人"
>>> v =str.maketrans(a,b) #创建对应关系,并且两个字符串长度要求一致
>>> info ="I'm a Chinese people,wszgr"
>>> info.translate(v)
"I'm a Chine是e people,我是中国人"