码迷,mamicode.com
首页 > 编程语言 > 详细

第三篇:Python基本数据类型

时间:2018-05-06 10:37:11      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:[88   font   code   pycharm   获得   format   bin   names   gif   

    

    在了解基本数据类型的时候,我们需要了解基本数据类型有哪些?数字int、布尔值bool、字符串str、列表list、元组tuple、字典dict等,其中包括他们的基本用法和其常用的方法,这里会一一列举出来,以便参考。然后我们还需要了解一些运算符,因为这些基本数据类型常常会用于一些运算等等。

一、运算符

  运算通常可以根据最终获得的值不同,可以分两类,即结果为具体的值,结果为bool值,那么哪些结果为具体的值-->算数运算、赋值运算,哪些结果又为bool值?--->比较运算、逻辑运算和成员运算。

  1、算术运算

技术分享图片

  2、赋值运算

技术分享图片

  3、比较运算

技术分享图片

  4、逻辑运算

技术分享图片

  5、成员运算

技术分享图片

  

二、基本数据类型

  1、数字  ---> int类

      当然对于数字,Python的数字类型有int整型、long长整型、float浮点数、complex复数、以及布尔值(0和1),这里只针对int整型进行介绍学习。

    在Python2中,整数的大小是有限制的,即当数字超过一定的范围不再是int类型,而是long长整型,而在Python3中,无论整数的大小长度为多少,统称为整型int。

    其主要方法有以下两种:

 

    int -->将字符串数据类型转为int类型,  注:字符串内的内容必须是数字 

技术分享图片
1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 
4 s = 123
5 i = int( s )
6 print( i)
View Code

 

    bit_length() -->将数字转换为二进制,并且返回最少位二进制的位数

技术分享图片
#!/user/bin/env python
#-*- coding:utf-8 -*-

i =123
print( i.bit_length() )

#输出结果为:
>>>5 
View Code

 

  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
View Code

 

  3、字符串  --->str类

        关于字符串是Python中最常用的数据类型,其用途也很多,我们可以使用单引号 ‘’或者双引号“”来创建字符串。

       字符串是不可修改的。所有关于字符我们可以从 索引、切片、长度、遍历、删除、分割、清除空白、大小写转换、判断以什么开头等方面对字符串进行介绍。

 

    创建字符串

技术分享图片
#!/usr/bin/env python
# -*- coding:utf-8 -*-

#字符串的形式:使用‘’或者“”来创建字符串
name =little_five
print(name)
View Code

 

    切片

技术分享图片
#获取切片,复数代表倒数第几个,从0开始
>>> name ="little-five"
>>> name[1]
i
>>> name[0:-2] #从第一个到倒数第二个,不包含倒数第二个
little-fi
View Code

 

    索引--> 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
View Code

    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
View Code

     

    长度 -->len()

技术分享图片
name = "little_five"
#获取字符串的长度
print(len(name))

#输出为:
>>> 11
View Code

    注: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
View Code

 

    判断字符串内容 --> 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
View Code

 

     大小写转换 --> 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
View Code

 

    判断以什么开头结尾 --> startswith()、endswith() 

技术分享图片
#判断以什么开头、结尾
>>> name ="little-five"

#判断以什么结尾
>>> name.endswith("e")
True

#判断以什么开头
>>> name.startswith("li")
True
View Code

 

    扩展-->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
View Code

 

    格式化输出-->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."
View Code

 

    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
View Code

   

    分割 --> 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]
>>>
View Code

 

     替代 -->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
View Code

 

    替换 -->makestran 、translate

技术分享图片
1 #进行一一替换
2 
3 >>> a ="wszgr"
4 >>> b="我是中国人"
5 >>> v =str.maketrans(a,b) #创建对应关系,并且两个字符串长度要求一致
6 >>> info ="I‘m a Chinese people,wszgr"
7 >>> info.translate(v)
8 "I‘m a Chine是e people,我是中国人"
View Code

 

  4、列表  --->list类

    列表是由一系列特定元素顺序排列的元素组成的,它的元素可以是任何数据类型即数字、字符串、列表、元组、字典、布尔值等等,同时其元素也是可修改的。

    其形式为:

1 names = [little-five","James","Alex"]
2 #或者
3 names = list([little-five","James","Alex"])

 

    索引、切片

技术分享图片
 1 #索引-->从0开始,而不是从一开始
 2 name =["xiaowu","little-five","James"]
 3 print(name[0:-1])
 4 
 5 
 6 #切片-->负数为倒数第几个,其为左闭右开,如不写,前面表示包含前面所有元素,后面则表示后面所有元素
 7 m1 =name[1:]
 8 print(m1)
 9 #输出为-->[‘little-five‘, ‘James‘]
10 m2 =name[:-1]
11 print(m2)
12 #输出为-->[‘xiaowu‘, ‘little-five‘]
View Code

    

    追加-->append()

技术分享图片
1 #追加元素-->append()
2 name =["xiaowu","little-five","James"]
3 name.append("alex")
4 print(name)
5 
6 #输出为--》[‘xiaowu‘, ‘little-five‘, ‘James‘, ‘alex‘]
View Code

    

    拓展-->extend()

技术分享图片
 1 #扩展--》其将字符串或者列表的元素添加到列表内
 2 #一、将其他列表元素添加至列表内
 3 name =["xiaowu","little-five","James"]
 4 name.extend(["alex","green"])
 5 print(name)
 6 #输出为-->[‘xiaowu‘, ‘little-five‘, ‘James‘, ‘alex‘, ‘green‘]
 7 
 8 #二、将字符串元素添加到列表内
 9 name =["xiaowu","little-five","James"]
10 name.extend("hello")
11 print(name)
12 #输出为-->xiaowu‘, ‘little-five‘, ‘James‘, ‘alex‘, ‘green‘, ‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
13 
14 #三、将字典元素添加至列表内,注:字典的key。
15 name =["xiaowu","little-five","James"]
16 name.extend({"hello":"world"})
17 print(name)
View Code

    注:扩展extend与追加append的区别:-->前者为添加将元素作为一个整体添加,后者为将数据类型的元素分解添加至列表内。例:

技术分享图片
 1 #extend-->扩展
 2 name =["xiaowu","little-five","James"]
 3 name.extend(["hello","world"])
 4 print(name)
 5 输出为-->[xiaowu, little-five, James, hello, world]
 6  
 7 #append -->追加
 8 name.append(["hello","world"])
 9 print(name)
10 输出为 -->[xiaowu, little-five, James, [hello, world]]
View Code

 

    insert() -->插入

技术分享图片
1 #insert()插入-->可以指定插入列表的某个位置,前面提到过列表是有序的
2 name =["xiaowu","little-five","James"]
3 name.insert(1,"alex") #索引从0开始,即第二个
4 print(name)
View Code

 

    pop() -->取出

技术分享图片
1 #pop()--取出,可将取出的值作为字符串赋予另外一个变量
2 name =["xiaowu","little-five","James"]
3 special_name =name.pop(1)
4 print(name)
5 print(special_name,type(special_name))
6 
7 #输出为:[‘xiaowu‘, ‘James‘]
8 #           little-five <class ‘str‘>
9     
View Code

 

    remove()-->移除、del -->删除

技术分享图片
 1 #remove -->移除,其参数为列表的值的名称
 2 name =["xiaowu","little-five","James"]
 3 name.remove("xiaowu")
 4 print(name)
 5 
 6 #其输出为:[‘little-five‘, ‘James‘]
 7 
 8 #del -->删除
 9 name =["xiaowu","little-five","James"]
10 #name.remove("xiaowu")
11 del name[1]
12 print(name)
13 
14 #其输出为:[‘xiaowu‘, ‘James‘]
View Code

 

    sorted()-->排序,默认正序,加入reverse =True,则表示倒序

技术分享图片
 1 #正序
 2 num =[11,55,88,66,35,42]
 3 print(sorted(num)) -->数字排序
 4 name =["xiaowu","little-five","James"]
 5 print(sorted(name)) -->字符串排序
 6 #输出为:[11, 35, 42, 55, 66, 88]
 7 #    [‘James‘, ‘little-five‘, ‘xiaowu‘]
 8 
 9 #倒序
10 num =[11,55,88,66,35,42]
11 print(sorted(num,reverse=True))
12 #输出为:[88, 66, 55, 42, 35, 11] 
View Code

 

  5、元组  --->tuple类

    元组即为不可修改的列表。其于特性跟list相似。其使用圆括号而不是方括号来标识。

 

#元组
name = ("little-five","xiaowu")
print(name[0])

 

  6、字典  --->dict类

    字典为一系列的键-值对,每个键值对用逗号隔开,每个键都与一个值相对应,可以通过使用键来访问对应的值。无序的。

    键的定义必须是不可变的,即可以是数字、字符串也可以是元组,还有布尔值等。

    而值的定义可以是任意数据类型。

技术分享图片
#字典的定义
info ={
    1:"hello world",  #键为数字
    ("hello world"):1, #键为元组
    False:{ 
        "name":"James"
    },
    "age":22
}    
View Code

 

    遍历 -->items、keys、values

技术分享图片
 info ={
   "name":"little-five",
   "age":22,
   "email":"99426353*@qq,com"
}
#
for key in info:
    print(key)
print(info.keys())
#输出为:dict_keys([‘name‘, ‘age‘, ‘email‘])

#键值对
print(info.items())
#输出为-->dict_items([(‘name‘, ‘little-five‘), (‘age‘, 22), (‘email‘, ‘99426353*@qq,com‘)])

#
print(info.values())
#输出为:dict_values([‘little-five‘, 22, ‘99426353*@qq,com‘])
View Code

 

 

  

第三篇:Python基本数据类型

标签:[88   font   code   pycharm   获得   format   bin   names   gif   

原文地址:https://www.cnblogs.com/littlefivebolg/p/8982889.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!