Python之路----数据类型

Python的集成开发环境(IDE):pycharm

数据类型

数字

  整数int(integer)

  浮点数float

布尔型,只有两个值

  真:True

  假:False

字符串

列表

元组

字典

一、字符串

1.字符串的输出

(1)单引号、双引号、三引号

  它们的作用主要是为了区分。

 

1 msg1 = "let's go" #双引号包含单引号
2 msg2 = 'it is a "dog"'  #单引号包含双引号
3 msg3 = '''it's a "dog"'''  #三引号包含单引号和双引号
4 print(msg1)
5 print(msg2)
6 print(msg3)

 

(2)利用三引号进行多行字符串的输出:

1 msg = '''hello1
2 hello2
3 hello3'''
4 print(msg)
5 输出结果:
6 hello1
7 hello2
8 hello3

(3)字符串的格式化输出 %s

  按照下面的格式输出信息

   格式:
1
---------------info of yangxl------------- 2 name:yangxl 3 age:26 4 job:IT 5 salary:500 6 --------------------end-------------------- 7 8 实现: 9 name = input('请输入您的名字:') 10 age = int(input('请输入您的年龄:')) 11 job = input('请输入您的工作:') 12 salary = float(input('请输入您的收入:')) 13 msg = ''' 14 ---------------info of %s------------- 15 name:%s 16 age:%s 17 job:%s 18 salary:%s 19 --------------------end-------------------- 20 ''' %(name,name,age,job,salary) 21 print(msg) 22 23 执行: 24 请输入您的名字:羊小羚 25 请输入您的年龄:26 26 请输入您的工作:IT 27 请输入您的收入:500.50 28 29 输出: 30 ---------------info of 羊小羚------------- 31 name:羊小羚 32 age:26 33 job:IT 34 salary:500.5 35 --------------------end--------------------

另外还有%d,digit的格式化输出,

            %f,float的格式化输出。

(4)字符串操作

字符串的重复输出:*号

str = 'hello world!\n'
print(str*5)

通过索引和切片对字符串进行操作

1 str = 'hello world'
2 print(str[5])
3 print(str[3:])

成员函数in,判断指定字符是否在字符串中

1 str = 'helloworld'
2 print('low' in str)
3 print('c' in str)

字符串拼接:join,不要用“+”

1 a = '河北'
2 b ='邢台'
3 c = a + b   #用加号做字符串拼接,效率比较低,每一次拼接都会在内存中开辟一块空间。
4 d = ' '.join([a,b])  #join中可以使用任何字符当做分隔符。
5 e = ' '.join([a,b])
6 print(c,d,e)

字符串的操作方法A-Z:

str = 'hello world'
print(str.count('l'))   #统计字符串中指定字符串出现的次数
print(str.capitalize())  #字符串的首字母大写
print(str.center(30,'*'))   #接收两个参数,使用给定字符(强调:只能是一个字符,一个)填充到给定个数并居中
print(str.ljust(30,'*'))    #左侧
print(str.rjust(30,'*'))    #右侧
print(str.endswith('ld'))    #判断字符串是否以指定字符串结尾,True or False
print(str.endswith('orl',3,-1))  #endswith中也可以给定被判断字符串的开头和结束位置

str2 = 'hell\to wo\trld'
print(str2.expandtabs(tabsize=10))  #设置字符串中的一个制表位\t扩展为多少个空格

print(str.find('l'))   #返回给定字符串在整个字符串中第一次出现的位置
print(str.find('de'))  #如果给定字符串不存在则返回-1
print(str.index('or'))  #返回给定字符的索引
print(str.index('oro')) #如果给定字符不存在,就会报错,这是index(error)和find(-1)方法的区别

#这三个不常用
str2 = '0.35'
print(str2.isalnum())   #字母、整数、汉字都为True,有特殊字符为False
str2 = 'sdlhfg天啊'
print(str2.isalpha())   #字母、汉字都为True,整数、特殊字符为False
str2 = '0345'
print(str2.isdecimal())   #只有十进制整数时为Ture
#这个常用
str2 = '57878'
print(str2.isdigit())      #是否是数值(整数)

str2 = '_-df34'
print(str2.isidentifier())    #判断是否是标识符,字母、数字、下划线而且不以数字开头,不含空格等特殊字符,不含中文

str2 = 'sf-j_l$爱s23'
print(str2.islower())   #下划线、特殊字符、汉字都可以,就是不能有大写字符
str2 = 'R搬e $#砖'
print(str2.isupper())   #只有不是小写字母就为Ture
str2 = 'YANG XIAOLING'
print(str2.istitle())   #只有首字母大写才为True

isprintable和isspace相反
str2 = '#sf-j \t_l$爱s23#'
print(str2.isprintable())    #是否可打印的,只要不含有空格,\n \t这样看不到的格式
str2 = '\t  \t backspace'
print(str2.isspace())   #是否是空,空格,\n \t都为True

str2 = '  \t s dsf  '
print(str2.strip())  #去掉两边空格和制表位
print(str2.lstrip()) #左边
print(str2.rstrip()) #右边

print(str.replace('l','lm',2))   #替换原有字符串
print(str.replace('le','lm'))    #没有的话就打印原字符串

print(str.rfind('l'))    #从右边开始计数(前一个,前两个...),但索引仍是从左边开始算起
print(str.rindex('l'))    #不多说了

str2 = 'the title high light'
print(str.rsplit('l'))     #从右边开始切片为***列表***,count;相应地列表合并为字符串要用join
print(str2.split('i',2))   #默认是空格,count表示分几次
print(str2.splitlines())

print(str.swapcase())   #大小写变换
print(str.zfill(40))     #向左填充指定位

二、列表

1.通过列表和索引操作列表(略)

2.列表操作:A-Z

list = [1,2,3,5,7,6,9,4,3]

list.append(4)  #附加元素
print(list)

print(list.count(3))

list.clear()  #清空,输出一个空列表
print(list)

li = list.copy()
print(li,list)
print(id(li),id(list))   #和直接赋值的区别在于开辟一块内存再储存一份,因此它们的内存地址不同

list2 = ['yangxl','xiaoming','dingcq']
list.extend(list2)
print(list,list2)   #被扩展的list改变,用以扩展的list2不变

print(list.index(3))   #元素首次出现的索引

list.insert(3,'python')   #在指定位置插入元素
print(list)

list.pop(3)   #如果不指定索引,默认删除最后一个元素
print(list)

list.remove(3)  #删除第一个值为3的元素,而不是索引为3的元素
print(list)

list.reverse()
print(list)

list.sort(reverse=True)  #貌似好像只能是数值型才能排序,顺序/逆序
print(list)

三、元组

  元组是不可变类型,只能进行查操作,不能进行增删改。

tu = (12,34,'羊小羚','rmb','%&','hello world')
tu.count()
tu.index()

四、字典

1.字典是Python中唯一的映射类型,采用键值对(key-value)的形式存储。Python对key进行哈希运算,根据运算结果决定value的存储地址,所以字典是无序存储的,而且key必须可哈希。可哈希表示key必须是不可变类型,比如,数字、字符串、元组。字典的两大特点:无序,键唯一。

2.创建字典的方法:

 

dict1 = {'name':'羊小羚','age':18,'sex':'male'}  #这是最常用的方法
print(dict1)

 

3.当字典中存在相同key时,前面的将会被后面的覆盖

dict3 = {'name':'alex','age':36,'age':'liu','sex':'male'}
print(dict3['age']) 
print(dict3)   #字典没有顺序

4.字典操作方法:A-Z

 

dict1 = {'name':'yangxl','sex':'male','age':36}

dict1['age'] = 18
dict2 = dict1.copy()    #1.和直接赋值的区别在于开辟一块内存再储存一份,因此它们的内存不同
print(dict1,dict2)
print(id(dict1),id(dict2))

dict1.clear()       #2.清空,变成一个空字典
print(dict1)

dict2 = dict.fromkeys(['mon','tus','wen','thi','fri','sat'],'sun')   #3.映射,多对一创建;字典特有的方法。
print(dict2)

dict2 = dict1.get('sex')    #4.查询key对应的value,或者是否存在这个key-value;字典特有的方法。
print(dict2)

print(dict1.items())    #5.dict_items([('sex', 'male'), ('name', 'alex')])
print(type(dict1.items()))   #<class 'dict_items'>
print(dict1.keys())   #6.打印出字典的关键字
print(type(dict1.keys()))      #<class 'dict_keys'>
print(dict1.values())   #7.dict_values(['male', 27, 'alex'])
print(type(dict1.values()))   #<class 'dict_values'>

print(dict1.popitem())   #8.删除键值对并返回剩余内容

print(dict1.pop('sex'))    #9.删除键并返回值

dict1.setdefault('age',28)    #10.如果age存在就保留默认值,否则添加一个键值对
print(dict1)

print(dict1)
dict2 = {'hobby':'ead'}
dict1.update(dict2)   #11.更新dict1,dict2不受影响
print(dict1,dict2)

 

posted @ 2016-08-28 10:34  羊小羚  阅读(416)  评论(0编辑  收藏  举报