整型
python2中用int
表示,超出范围后python自动将其转换成long
(长整型)。32位计算机中,int的范围是2-31~231-1,64位计算机中,int的范围是2-63~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
'''