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,我是中国人"