Python数据类型

一、数字

1.INT(整型)  即整数,如5

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

2.LONG(长整型)  长整数

  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了

3.FLOAT(浮点型)  带有小数的数字

  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号

使用type()查看变量类型

4.数字运算

>>> 2 + 4
6
>>> 3 - 2
1
>>> 2 * 3
6
>>> 3 / 2
1.5
>>> 2 ** 3
8

>>> 15 % 6
3
>>> 15 // 6
2

二、字符串

  用引号括起的都是字符串,可以是单引号或者双引号

“hello world”

1.使用反斜杠(\)转义特殊字符

   >>> s = "yes,he doesn\'t"
   >>> print(s,type(s),len(s))
   yes,he doesn't <class 'str'> 14

2.字符串前面添加一个r,表示原始字符串
   >>> print('c:\some\name')
   c:\some
   ame
   >>> print(r'c:\some\name')
   c:\some\name
   >>>

3.字符串可以使用 + 运算符串连接在一起,或者用 * 运算符重复:

   >>> print('str'+'ing','my'*3)
   string mymymy

4.索引

   >>> a="hello world"
   >>> print(a[0],a[3])
   h l

   >>> print(a[-1],a[-3])
   d r

5.切片

   >>> name = "yoyoua"
   >>> name[2:5]
   'you'
   >>> name[2:]
   'youa'

6.字符串格式化

   >>> name="yoyoua"
   >>> print("I am %s" % name)

   字符串%s;整数%d;浮点数%f
   I am yoyoua

7.移除空格

   >>> name = " yoyoua ".strip()
   >>> name
   'yoyoua'

   .lstrip() 移除左边的空格,.rstrip()移除右边的空格,strip()移除两边的空格

8.使用换行符合制表符

    >>>print("languages:\n\tpython\n\tjava")
   languages:
     python
     java

三、字符串的方法

1.capitalize(self)  首字母变大写

name = "yoyoua"
a = name.capitalize()
print(a)
Yoyoua

2.center(self, width, fillchar=None)  内容居中,width:总长度;fillchar:空白处填充内容,默认无

name = "yoyoua"
a = name.center(10,"*")
print(a)
***yoyoua***

3.count(self, sub, start=None, end=None)  子序列个数

name = "yoyoua"
a = name.count("y")
print(a)
2

4.endswith(self, suffix, start=None, end=None)  是否以 xxx 结束

name = "yoyoua"
a = name.endswith("a")
print(a)
True

5.expandtabs(self, tabsize=None)  将tab转换成空格,默认一个tab转换成8个空格

name = "y\toyoua"
a = name.expandtabs()
print(a)
print(len(a))
y       oyoua
13

6.find(self, sub, start=None, end=None)  寻找子序列位置,如果没找到,返回 -1

name = "yoyoua"
a = name.find("u")
print(a)
4

7.format(*args, **kwargs)  字符串格式化

name = "yoyoua {0} as {1}"
result = name.format("he","yaoguo")
print(result)
name = "yoyoua {name} as {id}"
result = name.format(name="he",id="yaoguo")
print(result)
yoyoua he as yaoguo
yoyoua he as yaoguo

8.index(self, sub, start=None, end=None)  子序列位置,如果没找到,报错

name = "yoyoua"
a = name.index("a")
print(a)
5

9.isalnum(self)  是否是字母和数字

name = "yoyoua"
a = name.isalnum()
print(a)
True

10.isalpha(self)  是否是字母

name = "yoyoua"
a = name.isalpha()
print(a)
True

11.isdigit(self)  是否是数字

name = "yoyoua"
a = name.isdigit()
print(a)
False

12.islower(self)  是否小写

name = "yoyoua"
a = name.islower()
print(a)
True

13.isspace(self)  是否是空格

name = "yoyoua"
a = name.isspace()
print(a)
False

14.istitle(self)  是否为标题

name = "yoyoua"
a = name.istitle()
print(a)
False

15.join(self, iterable)  连接

name = "yoyoua"
a = name.join("bb")
print(a)
byoyouab

16.lower(self)  变小写

name = "Yoyoua"
a = name.lower()
print(a)

17.lstrip(self, chars=None)  移除左侧空白

name = "   yoyoua"
a = name.lstrip()
print(a)
yoyoua

18.partition(self, sep)  分割,前,中,后三部分

name = "yoyoua"
a = name.partition("o")
print(a)
('y', 'o', 'youa')

19.replace(self, old, new, count=None)  替换

name = "yoyoua"
a = name.replace("o","n")
print(a)
ynynua

20.rfind(self, sub, start=None, end=None)  从右侧开始查找

name = "yoyoua"
a = name.rfind("o")
print(a)
3

21.ljust(self, width, fillchar=None)  内容左对齐,右侧填充

22.split(self, sep=None, maxsplit=None)  分割, maxsplit最多分割几次

name = " yoyoua  "
a = name.split("o")
print(a)
[' y', 'y', 'ua  ']

23.splitlines(self, keepends=False)  根据换行分割

name = """
ak
bb
cc"""
result = name.splitlines()
print(result)
['', 'ak', 'bb', 'cc']

24.startswith(self, prefix, start=None, end=None)  是否起始

name = "yoyoua"
a = name.startswith("y")
print(a)
True

25.swapcase(self)  大写变小写,小写变大写

name = "yOyoua"
a = name.swapcase()
print(a)
YoYOUA

26.translate(self, table, deletechars=None)  转换,需要先做一个对应表,最后一个表示删除字符集合

intab = "aeiou"
outtab = "12345"
trantab = maketrans(intab,outtab)
str = "this is string example...wow!!!"
str.translate(trantab,'xm')

27.zfill(self, width)  方法返回指定长度的字符串,原字符串右对齐,前面填充0

name = "yoyoua"
a = name.zfill(9)
print(a)
0yoyoua

 28.title() 单词首字母大写

name = "li yoyo"
print(name.title())
Li Yoyo

29.upper() 所有字母变大写

name = "li yoyo"
print(name.upper())
LI YOYO

 

四、布尔值
  真或假
  1 或 0
万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。

 

 

   

 

posted @ 2016-05-25 09:38  yoyoua  阅读(241)  评论(0编辑  收藏  举报