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

Python初始基本数据类型

时间:2015-11-09 01:59:24      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:字典 元组 列表 字符串


数据结构分两部分:

1、单值

  数字

    整型:如果是32位机器,整数的位数为32位,取值范围为-2**32 ~2**31 -1,即:-2147483547~-2147483548

       如果是64位机器,整数的位数为64位,取值范围为-2**63~2**63-1

即:-9223372036854775808~9223372036854775807

    长整型:比较大的数字

    浮点型:3.14

    复数: z = a + bj

  布尔值:True(1), False(0)


示例①操作:


>>> i = 123

>>> print type(i)

<type ‘int‘>

>>> j = True

>>> print type(j)

<type ‘bool‘>

>>> name = ‘alex‘

>>> print type(name)

<type ‘str‘>

>>> 


  字符串


  Python中的占位符%s和%d,分别表示给字符串和数字两种类型占位,后面来填充的值的类型必须是字符和数字


示例① 

>>> name = ‘i am %s‘% ‘tony‘

>>> print name

i am tony

>>> name001 = ‘i am %s,age is %d‘ %(‘alex‘,30)

>>> print name001

i am alex,age is 30

>>>

示例②

>>> name = ‘i am {0},age is {1}, come from {2}‘

>>> name.format("alex",30,"china")             

‘i am alex,age is 30, come from china‘

>>> 



小结:Python的占位符可以通过%和{}来进行定义,两种方法的本质都一样,只是表现形式不同而已。Python有三种引号表示字符串分别是单引号(‘‘)、双引号("")、三引号(""" """),其中单引号和双引号表示单行的字符串,三引号可以表示多行的字符串


字符的索引:

示例①

>>> name = "alex"
>>> name[0]       #---------->获取字符串第1个字符
‘a‘
>>> name[1]       #---------->获取字符串第2个字符
‘l‘
>>> name[2]       #---------->获取字符串第3个字符
‘e‘
>>> name[3]      #------------>获取字符串第4个字符
‘x‘
>>> name[4]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>>

字符切片:

示例②

>>> print name[0:2]     #------->获取字符串第1个和第2个字符
al
>>> print name[0:3]     #-------->获取字符串第1到第3个字符
ale
>>> print name[1:3]      #---------->获取字符串第2个到第3个字符
le
>>>
>>> print name[0:]      #----------->获取字符第1个和后面所有,即全部字符
alex
>>> print name[1:]      #------------>获取字符串第2个和后面所有,即从第2个开始到后面所有字符
lex
>>> print name[-1]       #------------>获取字符串倒数第一个字符,即从字符串最后一个字符
x
>>

注释:对于字符串切片,比如name【n:m】(n和m都是整数),代表的意思是左边包含右边不包含,即从第n个到第(m-1)个字符


求字符串中字符的个数(即字符串中有多少个字符):

示例③

>>> print name
alex

>>> print len(name)
4

>>>

如果想得到字符串最后一个字符可以用如下方法:

>>> print name
alex

>>>

>>> print name[-1]          #------------>打印字符串倒数第一个字符的下标
x

或者

>>> print name[len(name) -1]   #---->将字符串长度减去1之后的值作为字符串最后一个字符的下标
x

>>>
注释:对于字符串,索引(即下标)的最后一个值比该字符串的长度值小1


去掉字符串中的空格

示例④

>>> name = "    alex   "
>>> print name
    alex   
>>>
>>> print name.strip()      #------------->去掉字符串两端的空格
alex
>>> print name.lstrip()       #------------->去掉字符串左边的空格
alex   
>>> print name.rstrip()       #-------------->去掉字符串右边的空格
    alex
>>> 


字符串的分割

split方法:将一个字符串按照指定的分隔符(‘,‘、‘a’、‘\t’)进行分割成一个列表

示例⑤

>>> names = "alex,eric,tony"

>>> names.split(‘,‘)

[‘alex‘, ‘eric‘, ‘tony‘]

>>> names.split(‘a‘)

[‘‘, ‘lex,eric,tony‘]

>>> names.split(‘t‘)

[‘alex,eric,‘, ‘ony‘]

>>> 


字符串追加元素方法append,同时字符串的内存地址不会发生变化

示例⑥

>>> name_list.append(‘seven‘)

>>> name_list

[‘alex‘, ‘seven‘, ‘eric‘, ‘seven‘]

>>>


>>> name_list.append(‘hello‘)

>>> id(name_list)            

140546186766960

>>> 


>>> name_list

[‘alex‘, ‘seven‘, ‘eric‘, ‘seven‘, ‘hello‘]

>>> 


字符串元素的删除方法del

示例⑦


>>> name_list

[‘alex‘, ‘seven‘, ‘eric‘, ‘seven‘, ‘hello‘]

>>> del name_list[0]

>>> name_list       

[‘seven‘, ‘eric‘, ‘seven‘, ‘hello‘]

>>> del name_list[1]

>>> name_list       

[‘seven‘, ‘seven‘, ‘hello‘]

>>> 


字符串如果被修改了,就要重新分配内存空间

示例⑧


>>> list1 = "good evening everyone!"

>>> id(list1)

140546186876528

>>> list1 = "good morning everyone!"

>>> id(list1)

140546186876656

>>> 


2、集合

   列表

列表通过join方法连接变成字符串,连接的方式可以自己定义

示例①

>>> name_list       

[‘seven‘, ‘seven‘, ‘hello‘]

>>> "-".join(name_list)

‘seven-seven-hello‘

>>> " ".join(name_list)

‘seven seven hello‘

>>> "#".join(name_list)

‘seven#seven#hello‘

>>> 


判断某个元素是否在列表里面用---in,返回结果是一个布尔值(False或True)

示例②


>>> name_list

[‘alex‘, ‘seven‘, ‘eric‘, ‘seven‘, ‘hello‘]

>>> "alex" in name_list

True

>>> "tony" in name_list

False

>>> "seven" in name_list

True

>>> 




  元组

元组和列表的字面意义区别是:

A、元组用小括号定义(),列表用中括号[]

B、元组里面的元素是不可以修改、增加、删除,而列表中的元素是可以进行前面的所有的操作

C、元组和列表都可以进行切片、索引取值、通过len求长度、包含(in))、循环

D、字符串如果被修改了,那么就要重新分配内存空间

示例①

列表:>>>name_tuple = (‘alex‘, ‘seven‘, ‘eric‘, ‘seven‘, ‘hello‘)

元组:>>>name_list = [‘alex‘, ‘seven‘, ‘eric‘, ‘seven‘, ‘hello‘]



示例②

>>> list1 = ["alex",( ‘seven‘, ‘eric‘)]

>>> print list1

[‘alex‘, (‘seven‘, ‘eric‘)]

>>> 

列表list1中:

第一个元素是alex,第二个元素是:( ‘seven‘, ‘eric‘)

可以对这两个元素进行修改,但是对于第二个元素( ‘seven‘, ‘eric‘)里面的元素就不能进行修改了,因为第二个元素是元组,再操作我们的操作对象就发生了变化。

我们常说的列表可以进行增、删、改等操作都是针对最小单元进行的

列表的最小单元是元素,元组的最小单元也是元素,但是在list1中,( ‘seven‘, ‘eric‘)虽然是一个列表,但是同时也是list1的一个元素,我们以整体将( ‘seven‘, ‘eric‘)替换掉,但是不能对( ‘seven‘, ‘eric‘)里面的元素做进一步的修改。


小结:

#切片、索引、len()、包含、循环对str、list、tuple都适用

str :如果被修改就得重新分配空间,内存地址发生变化

list :修改后,内存空间地址不变

tuple :不允许修改

dict:字典,键值对,字典无序,特殊的for循环.items(),

    keys() ---->列表

    vlaues()---->列表

    items()------->仅for 循环时使用,使用时将元素赋值给k、v(k和v可以自己定义)


for 循环结构

for ele in (list,str,tuple)

>>> for ele in name_list:

...     print ele

... 

rick

cool

eric

seven

hello

>>>


>>> for ele in name_tuple:

...     print ele

... 

alex

seven

eric

seven

hello

>>>


>>> for ele in str:    

...     print ele      

... 

d

a

f

a

g

a

e

g

a

h

g

>>> 


[root@Python scripts]# vim find.py

#!/usr/bin/env python

#-*- coding:utf8 -*-

name_list = [‘alex‘,‘xiaoyueyue‘,‘wenqiang‘]

for ele in name_list:

    if ele == "alex":

       print "sb"

       #本次循环不再继续执行

       continue

    if ele == "xiaoyueyue":

        print "find"

        #

        break



[root@Python scripts]# python find.py

sb

find


while 循环结构

  while 条件:

     print ‘11111‘

如果while后面的条件为真(即布尔值真)时,后面的语句一直执行下去;具体为:

技术分享技术分享


提示:如果while 后为False,那么只会执行到①步,后面第②不会继续执行


   字典

字典是以键:值对的形式存储数据,定义如下字典:

person = {

      "name":‘alex‘,

      "age":‘18‘,

      "gender":"1",

}


person.keys() #--->所有的键

person.values() #---->所以的值

person.items() #--->所有的键值对(元素)


字典中的值都是与键成对出现的

for k,v in person.items():

     print k,v


 

[root@Python scripts]# python  dict_test.py    

gender 1

age 18

name alex

[root@Python scripts]#

发现打印的顺序并不是当初存储的顺序,所以说字典中的存储数据是无序的


for k,v in person.intems():

    print k #------->以列表的形式

    print v #------->以列表的形式

    print items() #------>所有元素

本文出自 “平平淡淡才是真” 博客,请务必保留此出处http://cryan.blog.51cto.com/10837891/1710737

Python初始基本数据类型

标签:字典 元组 列表 字符串

原文地址:http://cryan.blog.51cto.com/10837891/1710737

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