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

Python基本数据类型

时间:2017-12-12 23:54:39      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:返回   常用   ==   find   ***   not found   20px   strip()   空格   

2.5.1 整型 int

2.5.2 浮点型 float

2.5.3 字符串 str

2.5.4 列表 list

2.5.5 元组 tuple

2.5.6 字典类型 dict

2.5.7 布尔 bool

2.5.8 复数

2.5.9 可变类型和不可变类型


 

基本数据类型

2.5.1 整型 int

长整型:python2中 x=3L

状态:等级,身份证号,年龄

>>> level=10    #level=int(10)

>>> print(level,type(level),id(level))

2.5.2 浮点型 float

只能存一个值,不可变

状态:薪资,身高,体重

>>> salary=3000.3   #salary=float(3000.3)

>>> print(salary,type(salary),id(salary))

2.5.3 字符串 str

只有一个值,子字符串有序,不可变(值变,id就变。不可变==可hash)

在引号(单引号,双引号,三引号)里定义的一堆字符

状态:描述性的内容,比如名字,性别,国籍

单引号

>>> gender=‘male‘    #gender=str(‘male‘)

>>>  print(type(gender))

双引号

>>>  info="my name is egon i‘m a teacher"

三引号

>>> msg=‘‘‘

>>> xxxx

>>> yyy

>>> zzz

>>> ‘‘‘

>>> print(msg)

 

>>>  x=1

>>>  y=2.3

>>>  res=x+y

>>>  print(res)

字符只能跟字符串之间进行+或者*

>>> info1=‘hello‘

>>> nfo2=‘world‘

>>> res=info1+info2

>>> print(res)

 

>>> print(‘egon‘*10)

>>> print(‘‘*10)   #输出结果egonegonegonegonegonegonegonegonegonegon

 

>>>  print(‘=‘*10)

>>>  print(‘hello world‘)

>>>  print(‘=‘*10)

输出结果:==========

hello world

==========

常用方法:

msg=‘hello world‘

1、按索引取值(正向取+反向取) :只能取

print(msg[0],type(msg[0])) #正向取

print(msg[-1]) #反响取

2、切片(顾头不顾尾,步长)

print(msg[0:3]) #>=0 <3

print(msg[0:7]) #>=0 <7

print(msg[0:7:1]) #>=0 <7

print(msg[0:7:2]) #hlow

print(msg[:]) #全部输出

print(msg[5:1:-1]) # oll

print(msg[-1::-1]) #倒序取全部

3、长度len

print(msg.__len__())

print(len(msg)) #msg.__len__()

4成员运算in和not in

msg=‘hello world‘

print(‘llo‘ in msg) #True

print(‘llo‘ not in msg) #False

5、移除空白strip,lstrip,rstrip

print("**alex****".strip(‘*‘))

 print("**alex****".lstrip(‘*‘))

 print("**alex****".rstrip(‘*‘))

6、切分split,rsplit

user_info=‘root:x:0:0::/root:/bin/bash‘

res=user_info.split(‘:‘)

print(res[0])

 

cmd=‘get /root/a/b/c/d.txt‘

print(cmd.split())

 

file_path=‘C:\\a\\d.txt‘

print(file_path.split(‘\\‘,1)) #切分一次

 

file_path=‘C:\\a\\d.txt‘

print(file_path.rsplit(‘\\‘,1))#右侧切分一次

7、循环

msg=‘hel‘

for i in msg:

print(i)

8、小写lower,大写upper

print(‘ALeX‘.lower())

print(‘aaa‘.upper())

10、startswith,endswith

msg=‘alex is SB‘

print(msg.startswith(‘alex‘))

print(msg.startswith(‘a‘))

print(msg.endswith(‘SB‘))

11、format的三种玩法

 print(‘my name is %s my age is %s‘ %(‘alex‘,18))

 第一种

 print(‘my name is {} my age is {}‘.format(‘alex‘,18))

 print(‘my name is {} my age is {}‘.format(18,‘alex‘))

第二种

print(‘{0} {1} {0}‘.format(‘alex‘,18))

第三种:

print(‘my name is {name} my age is {age}‘.format(age=18,name=‘male‘))

6、join

print(‘:‘.join(l)) #l是列表

l=[1,2,3]

# ‘ ‘.join(l) #报错:只有在列表内的元素全是字符串类型,才能用join拼接

7、replace

msg=‘alex say my name is alex ,alex have on tesla‘

msg=msg.replace(‘alex‘,‘SB‘,1)#替换1个

print(msg)

8、isdigit

age=input(‘>>: ‘).strip()

if age.isdigit():

     age=int(age)

else:

     print(‘必须输入数字‘)

了解:

1、find,rfind,index,rindex,count

msg=‘hello world‘

print(msg.find(‘wo‘))

print(msg.find(‘SB‘)) #找不到不会报错

 

print(msg.index(‘wo‘))

print(msg.index(‘SB‘)) #ValueError: substring not found

 

print(msg.count(‘l‘))

print(msg.count(‘SB‘)) #统计字符串出现的次数

2、center,ljust,rjust,zfill

 print(‘egon‘.center(30,‘*‘))#中间对齐,两侧用*填充

 print(‘egon‘.ljust(30,‘*‘))#左对齐,右侧用*填充

 print(‘egon‘.rjust(30,‘*‘))#右对齐,左侧用*填充

 print(‘egon‘.zfill(30))#右对齐,左侧填充0

3、expandtabs

 print(‘hello\tworld‘.expandtabs(10))#把tab替换未空格

4、captalize,swapcase,title

 print(‘i am egon‘.capitalize())#这句话首字母大写

 print(‘i am egon‘.title()) #每个单词首字母大写

 print(‘AbC‘.swapcase()) #取反,大写换成小写,小写换成大写

5、is数字系列isdigit,isdecimal,isnumeric

 num1=b‘4‘  #bytes

 num2=u‘4‘  #unicode,python3中无需加u就是unicode

 num3=‘壹‘  #中文数字

 num4=‘Ⅳ‘  #罗马数字

 

bytes,unicode

 print(num1.isdigit())#True

 print(num2.isdigit())#True

 print(num3.isdigit())#False

 print(num4.isdigit())#False

 

unicode

 print(num2.isdecimal())#True

 print(num3.isdecimal())#False

 print(num4.isdecimal())#False

 

unicode,中文,罗马

print(num2.isnumeric())#True

 print(num3.isnumeric())#True

 print(num4.isnumeric())#True

6、is其他isalnum,isalpha,isidentifier ,islower,isupper,isspace,istitle

 name=‘egon123‘

 print(name.isalnum()) #True字符串由字母或数字组成

 print(name.isalpha()) #False字符串只由字母组成

 

 print(‘print1111‘.isidentifier()) #True是否含关键字

print(‘abcA‘.islower()) #False是否都是小写

 print(name.isupper()) #False是否都是大写

 print(‘ ‘.isspace()) #True是否是空格

 print(‘Am Ia‘.istitle()) #True是否单词首字母大写

2.5.4 列表 list

多个值,任意类型,有序,可变(值变,id不变。可变==不可hash)

在[]内,用逗号分隔开,存放多个任意类型的元素

状态:有序存放多个值

print(list(‘hello‘)) #结果[‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]

列表里可以存放列表

>>> info=[‘egon‘,18,‘male‘,[‘欧德博爱‘,‘education‘,70]]    #info=list([...])=

>>> print(info[0])

>>> print(info[3])

>>> print(info[3][0])‘‘‘

常用操作:

my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,4,5]

1、按索引存取值(正向存取+反向存取):即可存也可以取

my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,4,5]

2、切片(顾头不顾尾,步长)同字符串操作

3、长度

print(my_girl_friends.__len__())

print(len(my_girl_friends))

4、成员运算in和not in

print(‘wupeiqi‘ in my_girl_friends)

5、追加 append

my_girl_friends[5]=3 #IndexError: list assignment index out of range

my_girl_friends.append(6)

print(my_girl_friends)

6、删除 del,remove,pop

my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,4,5]

单纯的删除del,remove

del my_girl_friends[0]

print(my_girl_friends)

 

 res=my_girl_friends.remove(‘yuanhao‘)

print(my_girl_friends)

print(res)

print(my_girl_friends)

 

删除并拿到结果:取走一个值pop

  res=my_girl_friends.pop(2) #可以指定删除的序列号

  res=my_girl_friends.pop() #默认删除最后一个

  print(res)

7、循环

my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,4,5]

for item in my_girl_friends:

     print(item)

8、insert

my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,‘yuanhao‘,4,5]

 my_girl_friends.insert(1,‘egon‘) #插入

 print(my_girl_friends)

9、clear

 my_girl_friends.clear()#清空

 print(my_girl_friends)

10、copy

 l=my_girl_friends.copy()#复制

 print(l)

11、count

 print(my_girl_friends.count(‘yuanhao‘))#统计出现的次数

12、extend

 l=[‘egon1‘,‘egon2‘]

 my_girl_friends.extend(l) #合并两个列表

 my_girl_friends.extend(‘hello‘)

 print(my_girl_friends)

13、index

 my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,‘yuanhao‘,4,5]

print(my_girl_friends.index(‘wupeiqi‘))#找索引

print(my_girl_friends.index(‘wupeiqissssss‘))

14、reverse

 my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,‘yuanhao‘,4,5]

 m=my_girl_friends.reverse()#反取

 print(m)

15、sort

 l=[1,10,4,11,2,]

 l.sort()  #排序递增

 l.sort(reverse=True)  #排序递减

 print(l)

比较>

 x=‘healloworld‘

 y=‘he2‘

 print(x > y)#按ASCII表排序

 

 l=[‘egon‘,‘alex‘,‘wupei‘]

 l.sort()

# print(l)

2.5.5 元组 tuple

多个值,任意类型,有序,不可变(值变,id就变。不可变==可hash)

定义在小括号内,用逗号分隔,存放任意类型多个值, 就是说你不能更新或者改变元组的元素

只有一个元素的元组需要在元组分割符里面加一个逗号(,)用以防止跟普通的分组操作符混淆,如(1,)

定义:与列表类型比,只不过[]换成()

age=(11,22,33,44,55)  #本质age=tuple((11,22,33,44,55))

print(type(age))

age[0]=12

元组可以存放可变元素

t=(1,2,[‘a‘,‘b‘])

print(id(t[2])) #37962376

t[2][0]=‘A‘

print(id(t[2])) #37962376 id未变

print(t) #(1, 2, [‘A‘, ‘b‘])

优先掌握的操作:

1、按索引取值(正向取+反向取):只能取

2、切片(顾头不顾尾,步长)

 age=(11,22,33,44,55)

print(age[0:3])

print(age)

3、长度

 age=(11,22,33,44,55)

 print(len(age))

4、成员运算in和not in

 age=(11,22,33,44,55)

 print(11 in age)

5、循环

 for item in age:

     print(item)

6、count

print(age.count(33))

7、index

age=(11,22,33,44,55)

 print(age.index(33)) #取索引

  print(age.index(33333))

 

2.5.6 字典类型 dict

多个值,key不可变,无序,可变类型(值变,id不变。可变==不可hash)

定义花括号内,用逗号分割key : value,value可以是任意类型,但是key必须不可变类型

状态:存放多个值

>>> #  name  age  sex   company

>>> info=[‘egon‘,18,‘male‘,[‘欧德博爱‘,‘education‘,70]]

>>>info[2]

 

>>> #  name  age  sex   company

>>> info={

>>>    ‘name‘:‘egon‘,

>>>    ‘age‘:18,

>>>    ‘sex‘:‘male‘,

>>>    ‘company‘:[‘欧德博爱‘,‘education‘,70]

>>> }         #info=dict({....})

>>> print(info,type(info),id(info))

 

>>> print(info[‘sex‘])

>>> print(info[‘company‘][2])

字典里可以含字典

>>> info={

>>>    ‘name‘:‘egon‘,

>>>    ‘age‘:18,

>>>    ‘sex‘:‘male‘,

>>>    ‘company‘:{‘name‘:‘欧德博爱‘,‘type‘:‘education‘,‘emp_count‘:70}

>>> }

>>> print(info[‘company‘][‘type‘])

 

>>> dic={0:‘egon‘,1:‘xxx‘,2:‘yyy‘}

>>> print(dic[0])

 

>>> stduents=[‘egon‘,‘alex‘,‘wxx‘,‘yxx‘]

了解字典多个定义方法

1、info=dict(age=18,sex=‘male‘,name=‘egon‘)

  print(info)

 

2、info=dict([(‘name‘,‘egon‘),(‘age‘,18),(‘sex‘,‘male‘)])

 info=dict([[‘name‘,‘egon‘],[‘age‘,18],[‘sex‘,‘male‘]])

  print(info)

 

3、info={}.fromkeys([‘name‘,‘age‘,‘sex‘],None)

 info={}.fromkeys(‘hello‘,None)

 print(info)

优先掌握的操作

1、按key存取值:可存可取

 d={‘name‘:‘egon‘}

 print(d[‘name‘])

 

 d[‘age‘]=18

 print(d)

2、长度len

 info={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘}

 print(len(info))

3、成员运算in和not in

 info={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘}

 print(‘name‘ in info)

4、删除pop

info={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘}

 print(info.pop(‘name‘))#用key删除

 print(info)

 print(info.popitem()) #(‘sex‘, ‘male‘)用key,value删除

 print(info.pop(‘name1‘,None))#存在返回values值,不存在返回“没有”

 print(info)

5、键keys(),值values(),键值对items()

 print(info.keys())

 print(list(info.keys())[0])

 print(list(info.values()))

 print(list(info.items()))#取键值对

6、循环

 info={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘}

 for k in info:

     print(k,info[k])

其他需要掌握的方法

1、get

 info={‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘}

 print(info[‘hobbies‘])

 print(info.get(‘hobbies‘,‘没有‘))#如果key存在返回values值,不存在返回“没有”

2、update

 d={‘x‘:1,‘y‘:2,‘name‘:‘EGON‘}

 info.update(d)#info信息更新

 print(info)

3、setdefault

 info={‘name‘:‘egon‘,‘age‘:16,‘sex‘:‘male‘}

 value=info.setdefault(‘age‘,18) #如果key存在,则不修改,返回已经有的key对应的value

 print(value)

 print(info)

Low方法一

info={‘name‘:‘egon‘,}

 info[‘hobbies‘]=[]

 info[‘hobbies‘].append(‘music‘)

 info[‘hobbies‘].append(‘read‘)

 print(info)

Low方法二

info={‘name‘:‘egon‘,}

 if ‘hobbies‘ not in info:

     info[‘hobbies‘]=[]

 else:

     info[‘hobbies‘].append(‘music‘)

方法三 运用setdefault

 hobbies_list=info.setdefault(‘hobbies‘,[])

print(hobbies_list)

 hobbies_list.append(‘play‘)

 hobbies_list.append(‘read‘)

 

 print(info)

2.5.7 布尔 bool

布尔值:True, False

状态:成立,不成立,用来做逻辑运算 ---> 判断

>>> print(type(True))

 

>>> age=38

>>> print(age > 18)

2.5.8 复数

x=1+2j

print(x.real)  #打印实部

print(x.imag)  #打印虚部

print(type(x))

2.5.9 可变类型和不可变类型

可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典

不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)如:int, float, str,bool

 

>>>  dic={1:‘a‘}

>>>  dic={1.1:‘a‘}

>>>  dic={‘b‘:‘a‘}

 

>>>  dic={[1,2,3]:‘a‘}  #会报错

>>>  dic={{‘a‘:1}:‘a‘}  #会报错

 

>>>  dic={True:‘a‘}

>>>  print(dic[True])

Python基本数据类型

标签:返回   常用   ==   find   ***   not found   20px   strip()   空格   

原文地址:http://www.cnblogs.com/snailgirl/p/8030106.html

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