【NOTE】Python 3(四)标准数据类型

标准数据类型

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Number(数字类型)

Python 3 中数字类型有整型、浮点型和复数型。整型数字在Python 3 中就是 int 类型,可以当做 Long 类型来使用。

字符串转数字

#!/usr/bin/env python                                                                
# coding=utf-8
number_str = "12345"    #字符串
print("number_str =", number_str)
print("number_str type is", type(number_str))
number_int = int(number_str)    #转换为数字,默认以10进制来转
print("number_int", number_int)
print("number_int type is", type(number_int)) 

结果:

number_str = 12345
number_str type is <class 'str'>
number_int 12345
number_int type is <class 'int'>

String(字符串)

Python 中没有单字符一说,单个字符也被作为字符串处理。

首字母大写

#!/usr/bin/env python
str = "shelmean"
ret_str = str.capitalize()
print(ret_str)

结果:

Shelmean

大写转小写

casefold() 不仅仅是英文字母的大写转小写,像一些其它非英文字母的大小写对应关系也可以。

lower() 仅仅是英文字母大写转小写。

#!/usr/bin/env python
str = "ShelMean"
ret_str = str.casefold()
print(ret_str)
ret_str = str.lower()
print(ret_str)

结果:

shelmean
shelmean

字符串设置宽度并填充

#!/usr/bin/env python
str = "shelmean"
ret_str = str.center(20, "*") #第二个参数不传的话,默认是空白字符填充,这里只能是单个字符的字符串
print(ret_str)
print(str.ljust(20, '*'))
print(str.rjust(20, '*'))

结果:

******shelmean******
shelmean************
************shelmean

子字符串个数统计

#!/usr/bin/env python
str = "shelmean"
ret = str.count("x")
print(ret)
ret = str.count("s")
print(ret)
ret = str.count("e")
print(ret)
ret = str.count("ea", 4) #从第4位开始统计(第一个字符是第0位)
print(ret)
ret = str.count("mea", 5, 7) #从第5到第7位中的字符串中统计(字符串操作中,开始和结束的位置是左闭右开的一个区间 [5,7) )
print(ret)

结果:

0
1
2
1
0

以某个字符串开始或结尾

#!/usr/bin/env python
str = "shelmean"
ret = str.startswith("s")
print(ret)
ret = str.endswith("an")
print(ret)

结果:

True
True

查找字符串并返回第一次查找到的位置

find() 和 index()都可以查找字符串,但是,index()查不到的时候,会报错,find()返回-1

#!/usr/bin/env python
str = "shelmean"
ret = str.find("e") #从左往右,返回第一个查找到的字符串的开始位置
print(ret)
ret = str.find("mean", 4, 7) #左开右闭的区间,所以无法找到
print(ret)
ret = str.find("mean", 4, 8) #左开右闭的区间,应该多一位出来
print(ret)

结果:

2
-1
4

占位符

format() 和 format_map()

# #!/usr/bin/env python
str = "my nickname is {nickname}, I am a {sex}, age is {age}"
print(str)
str_ = str.format(nickname="shelmean", sex="boy", age=18)
print(str_)

_str = "my nickname is {0}, I am a {1}, age is {2}"
print(_str)
_str_ = _str.format("shelmean", 'boy', 18)
print(_str_)
print("--------------------------------------------------")
str__ = str.format_map({"nickname": "shelmean", "sex": "boy", "age": 18})
print(str__)
书写规范:
从代码中可以看出
1.变量的赋值符号左右带有空格
2.逗号后面带有空格
3.参数中像是键值对的这种,赋值符号左右不留空格如:nickname="shelmean"
4.键值对中的":"后面有空格,如:"age": 18
使用pycharm会有提示。

结果:

my nickname is {nickname}, I am a {sex}, age is {age}
my nickname is shelmean, I am a boy, age is 18
my nickname is {0}, I am a {1}, age is {2}
my nickname is shelmean, I am a boy, age is 18
--------------------------------------------------
my nickname is shelmean, I am a boy, age is 18

判断字符串中是否只包含 字母数字

# #!/usr/bin/env python
str = "shelmean2rj"
ret = str.isalnum()
print(ret)
str = "shelmean"
ret = str.isalnum()
print(ret)
str = "12345"
ret = str.isalnum()
print(ret)
str = "_shelmean-2*rj"
ret = str.isalnum()
print(ret)

结果:

True
True
True
False

 

posted @ 2018-07-22 11:38  shelmean  阅读(199)  评论(0编辑  收藏  举报