python数据类型

整型

python2中用int表示,超出范围后python自动将其转换成long(长整型)。32位计算机中,int的范围是2-312<sup>31</sup>-1,64位计算机中,int的范围是2<sup>-63</sup>263-1。python2中,整除除法只能保留整数位:

In [1]: print(5/3)

1

如果想保留所有,需要:

In [1]: from _ _ future _ _ import division
In [2]: print(5/3)

1.66666666667

python3整型只有int,没有长整型,整型除法保留所有:

In [1]: print(5/3)

1.6666666666666667

布尔类型

bool表示布尔类型,只有两个值:True/False。数字可以转换成布尔值,0是False,其它是1。字符串也可以转换成布尔值,空字符串""是False,其它是True

字符串转数字

In [1]: print(str(123456))

123456

In [2]: print(str(123.456))

123.456

数字转字符串

In [1]: print(int('123456'))

123456

布尔值转字符串

In [1]: print(str(True))

True

In [2]: print(str(False))

False

字符串转布尔值

In [1]: print(bool(''))

False

In [2]: print(bool('abc'))

True
空字符串转换为False,非空字符串转换为True

布尔值转数字

In [1]: print(int(False))

0

In [2]: print(int(True))

1

数字转布尔值

In [1]: print(bool(0))

False

In [2]: print(bool(1))

True

字符串功能

upper:将字符串转换为大写

# coding:utf-8
v = 'Thanlon'
print(v.upper())

THANLON

lower:将字符串转为小写

# coding:utf-8
v = 'Thanlon'
print(v.lower())

thanlon

验证码案例:

# coding:utf-8
check_code = 'than'
code = input('请输入验证码"%s":' % (check_code))
if code.lower() == check_code.lower():
    print('验证通过!')

isdigit方法判断是否是数字

# coding:utf-8
# isdigit:方法判断是否是数字
while True:
    print('''
    1.余额查询
    2.业务办理
    ''')
    num = input('请选择服务:')
    if num.isdigit():
        print(int(num))
    else:
        print('请输入数字!')

strip、lstrip、lstrip:去除字符串左右多余的空格

'''
strip()删除左右的空白字符串
lstrip()删除左右的空白字符串
lstrip()删除的空白字符串
'''
name = input('请输入用户名:')
print('---->' + name + '<----')
print('---->' + name.strip() + '<----')
print('---->' + name.lstrip() + '<----')
print('---->' + name.rstrip() + '<----')
'''
请输入用户名: thanlon 
----> thanlon <----
---->thanlon<----
---->thanlon <----
----> thanlon<----
'''

replace方法:替换

# coding:utf-8
'''
replace方法:替换
'''
msg = '你是个笨蛋吗?你是个笨蛋吗?你是个笨蛋吗?'
print(msg)
print(msg.replace('笨蛋', '**'))  # 替换所有''笨蛋'
print(msg.replace('笨蛋', '**', 1))  # 只替换第一个''笨蛋'
'''
你是个笨蛋吗?你是个笨蛋吗?你是个笨蛋吗?
你是个**吗?你是个**吗?你是个**吗?
你是个**吗?你是个笨蛋吗?你是个笨蛋吗?
'''

split、rsplit方法:切割

# coding:utf-8
'''
split、rsplit方法:切割
'''
msg = '你是个笨蛋吗?你是个笨蛋吗?你是个笨蛋吗?'
print(msg.split('?'))  # 从左向右切割所有
print(msg.split('?', 1))  # 从左向右切割
print(msg.rsplit('?'))  # 从右向左切割所有
print(msg.rsplit('?', 1))  # 从右向左切割
'''
['你是个笨蛋吗', '你是个笨蛋吗', '你是个笨蛋吗', '']
['你是个笨蛋吗', '你是个笨蛋吗?你是个笨蛋吗?']
['你是个笨蛋吗', '你是个笨蛋吗', '你是个笨蛋吗', '']
['你是个笨蛋吗?你是个笨蛋吗?你是个笨蛋吗', '']
'''

公共的方法len:计算长度(字符串->计算字符串中字符的个数)

# coding:utf-8
'''
公共的方法len:计算字符个数
'''
v = '你好!'
print(len(v))
'''
3
'''

字符串索引:

# coding:utf-8
'''
字符串索引
'''
s = input('输入字符串:')
s_len = len(s)
index = 0
while True:
    v = s[index]
    print(v)
    if index == s_len - 1:
        break
    index += 1

练习:用户输入任意字符串,获取字符串后计算字符串中有多少个数字?

# coding:utf-8
'''
用户输入任意字符串,获取字符串后计算字符串中有多少个数字?
'''
total = 0
index = 0
text = input('请输入任意字符串:')
while True:
    v = text[index]
    # print(v)
    if v.isdigit():
        total += 1
    if index == len(text) - 1:
        break
    index += 1
print(total)

字符串切片

# coding:utf-8
'''
字符串切片
'''
v = 'thanlon'
print(v[1:3])  # 左开右闭
print(v[1:-1])
print(v[-2:-1])
print(v[1:])
print(v[:-1])
print(v[:])
'''
ha
hanlo
o
hanlon
thanlo
thanlon
'''

取最后两个字符串

# coding:utf-8
'''
字符串切片
'''
# 方法一
v = 'thanlon'
print(v[-2:])
# 方法二
v_len = len(v)
print(v[v_len - 2:v_len])
'''
on
on
'''

列表

公共功能
len
In [1]: users = ['Thanlon','Kiku']
In [2]: print(len(users))

2

索引
In [1]: users = ['Thanlon','Kiku']
In [2]: print(users[1])

Kiku

切片
In [1]: users = ['Thanlon','Kiku']
In [2]: print(users[0:2])

['Thanlon', 'Kiku']

步长
In [1]: users = ['Thanlon','Kiku','Hh']
In [2]: print(users[0:4:2])

['Thanlon', 'Hh']

练习:实现一个整数加法器(两个数相加)

# codeing:utf-8
text = input('请输入两数:')  # [6+8]或[6 +8]或[ 6+8 ]
result = text.split('+')
print(result)
v1 = int(result[0])  # 转换为整型的时候去掉前后空格
v2 = int(result[-1])
print(v1 + v2)
'''
请输入两数:8  +  9
['8  ', '  9']
17
'''

for循环

# codeing:utf-8
users = ['Thanlon', 'Kiku']
for i in users:
    print(i)

Thanlon
Kiku

# codeing:utf-8
users = ['Thanlon', 'Kiku']
for i in users:
    for e in i:
        print(e)

T
h
a
n
l
o
n
K
i
k
u
通过for循环实现数字计算器方法1

# codeing:utf-8
users = ['Thanlon', 'Kiku']
count = 0
for i in users:
    print(count, i)
    count += 1
'''
0 Thanlon
1 Kiku
'''

通过for循环实现数字计算器方法2

# codeing:utf-8
users = ['Thanlon', 'Kiku']
for i in range(0, len(users)):
    print(i, users[i])
'''
0 Thanlon
1 Kiku
'''

独有的功能
append方法:在列表的最后追加一个元素

# codeing:utf-8
users = []
users.append('Thanlon')
print(users)
'''
['Thanlon']
'''

insert方法:在指定索引位置插入元素

# codeing:utf-8
'''
在指定索引位置插入元素
'''
users = ['thanlon']
users.insert(0, 'Kiku')  # 在第0个元素的位置加入
print(users)
'''
['Kiku', 'thanlon']
'''

remove方法:删除指定元素

# codeing:utf-8
'''
删除指定元素
'''
users = ['Kiku', 'thanlon', 'Kiku']
users.remove('Kiku')  # 只能删除第一个'Kiku'
print(users)
'''
['thanlon', 'Kiku']
'''

pop方法:删除指定索引的元素

# codeing:utf-8
'''
删除指定索引的文件
'''
# codeing:utf-8
'''
删除指定索引的文件
'''
users = ['Kiku', 'thanlon', 'Kiku']
users.pop(0)
print(users)
users.pop()  # 删除最后一个元素
print(users)
'''
['thanlon', 'Kiku']
['thanlon']
'''

clear方法:删除/清空所有元素

# codeing:utf-8
'''
删除所有元素
'''
users = ['Kiku', 'thanlon', 'Kiku']
print(users)
users.clear()
print(users)
'''
['Kiku', 'thanlon', 'Kiku']
[]
'''

del 列表[索引]:删除指定索引的元素(与pop方法不同的是必须得加索引)

# codeing:utf-8
'''
del语法删除指定元素
'''
users = ['Kiku', 'thanlon', 'Kiku']
del users[0]
print(users)
'''
['thanlon', 'Kiku']
'''

字符串是不可变类型,本身是不可以被修改或删除的(数字、布尔、字符串均是不可变类型)
列表是可变类型,所以是可以被修改或删除的

列表的修改

# codeing:utf-8
users = ['thanlon', 'Kiku']
users[0] = 'T'
users[1] = 'K'
print(users)
'''
['T', 'K']
'''

列表的嵌套

# codeing:utf-8
users = ['thanlon', 'Kiku', [66, 'thanlon', 'Kiku', ['thanlon', 'Kiku']]]
print(users[-1])
print(users[-1][-1])
print(users[-1][-1][0])
print(users[-1][-1][0][0:-2])
'''
[66, 'thanlon', 'Kiku', ['thanlon', 'Kiku']]
['thanlon', 'Kiku']
thanlon
thanl
'''

元组

元组是不可变类型,是不可以被修改或删除的。
索引(排除int、bool)

users = ['thanlon','kiku']
print(users[-1])

切片(排除int、bool)

users = ['thanlon','kiku']
print(users[0:2])

步长(排除int、bool)

users = ['thanlon','kiku']
print(users[0:2:1])

元组中的元素不可被删除(排除int、bool、str、tuple)
元组中的元素不可修改(排除int、boo、strl、tuple)
for循环(排除int、bool)

users = ['thanlon','kiku']
for item in users:
    print(item)

len(排除int、bool)

users = ['thanlon','kiku']
print(len(users))

类型转换

# codeing:utf-8

v1 = bool(0)
v2 = bool('')
v3 = bool([])
v4 = bool(())
print(v1, v2, v3, v4)
'''
False False False False
'''
posted @ 2019-07-06 16:37  MaleLeader  阅读(322)  评论(0编辑  收藏  举报