python学习第三次记录
python中常用的数据类型:
整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set).
- int。数字:主要用于运算。1 ,2,3...
- bool。判断真假:True, False.
- str。简单少量的储存数据,并进行相应的操作。name = 'alex',
- tuple。只读,不能更改。(1,'alex')
- list:大量有序数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}]
- dict:大量数据,且是关联性比较强的数据 {'name':'jinxin','age':18,'name_list':['张三','李四']}
基础数据类型:
int操作方法:
num =
print(num.bit_length())
# 运行结果:
bit_length()就是帮助你快速的计算整数在内存中占用的二进制码的长度
bool布尔值
布尔值就两种:True、Flase。
真 1 True
假 0 False
int str bool三者之间的转换
# int ---> bool
i = 100
print(bool(i)) # True # 非零即True
i1 = 0
print(bool(i1)) # False 零即False # bool ---> int
t = True
print(int(t)) # 1 True --> 1
t = False
print(int(t)) # 0 False --> 0 # int ---> str
i1 = 100
print(str(i1)) # '100' # str ---> int # 全部由数字组成的字符串才可以转化成数字
s1 = ''
print(int(s1)) # # str ---> bool
s1 = '太白'
s2 = ''
print(bool(s1)) # True 非空即True
print(bool(s2)) # False
# bool ---> str
t1 = True
print(str(True)) # 'True'
int str bool之间的转换
字符串str:
字符串:凡是用引号引起来的数据可以称为字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号引起来就是字符串。
字符串的索引与切片
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
a = 'ABCD'
print(a[0])
print(a[2])
程序运行结果:
A
C
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
a = 'ABCDEFGHIJK'
print(a[0:3]) # print(a[:3]) 从开头开始取0可以默认不写
print(a[2:5])
print(a[:])# 默认到最后
print(a[0:])
print(a[:-1])# -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素
print(a[:5:2])# 加步长
print(a[-1:-5:-2])# 反向加步长
字符串常用的方法:
首字母大写capitalize
s = 'alexWUsir'
s1 = s.capitalize() # 首字母大写
print(s1)
# 程序输出结果:Alexwusir
capitalize
字符串全大写(upper)和全小写(lower)
s = 'alexWUsir'
s2 = s.upper()
s21 = s.lower()
print(s2, s21)
# 程序输出结果:ALEXWUSIR alexwusir
upper和lower
大小写翻转 swapcase
s = 'alexWUsir'
s3 = s.swapcase()
print(s3)
# 程序输出结果:ALEXwuSIR
swapcase
每个隔开(特殊字符或者数字)的单词首字母大写
s = 'alex*egon-wusir'
s4 = s.title()
print(s4)
s = 'fade,crazy*w4rri0r_songsong node_3'
s4 = s.title()
print(s4)
# 程序输出结果:
# Alex*Egon-Wusir
# Fade,Crazy*W4Rri0R_Songsong Node_3
title
居中,空白填充 center
s = 'alexWUsir'
s5 = s.center(20,'~')
print(s5)
# 程序输出结果:~~~~~alexWUsir~~~~~~
center
从头开始数,数到第一个\t正好为8个空格,不足则不空格,如果还有\t,接着从第一个\t数到第二个\t任然为8个空格,以此类推直到最后一个\t结束
expandtabs
s = 'alexha\tsir'
s6 = s.expandtabs()
print(s6)
# 程序运行结果:alexha sir
expandtabs
公共方法len
s = 'alex二哥'
l = len(s)
print(l)
# 程序运行结果:6
len
以什么开头 startswith
s = 'alexWUsir'
s7 =s.startswith('alex')
s71 = s.startswith('U', 2, 5)
print(s7)
print(s71)
# 程序运行结果:
# True
# False
startswith
以什么结尾 endswith
s = 'alexWUsir'
s8 = s.endswith('sir')
s81 = s.endswith('U', 2, 5)
print(s8)
print(s81)
# 程序运行结果:
# True
# False
endswith
find 通过元素找索引,找不到返回-1,找到返回相应的下标
index通过元素找索引,找不到报错,找到返回相应的下标
s = 'alexWUsir'
s8 = s.find('A')
s81 = s.index('A')
print(s8, type(s8))
print(s81,type(s8))
# 程序运行结果:
# -1 <class 'int'>
# s81找不到报错
find和index
移除字符串头尾指定的字符(默认为空格)
strip rstrip(右边) lstrip(左边)
s = 'alexWUsir%'
s9 = s.strip('%')
print(s9)
# 程序运行结果:alexWUsir s = ' *a%lexWUsi* r%'
s91 = s.strip(' %*')
print(s91)
# 程序运行结果:a%lexWUsi* r
strip\rstrip\lstrip
数字符串中的元素出现的个数count
s = 'alexaa wusirl'
s10 = s.count('al')
print(s10)
# 程序运行结果:1
count
split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
s = ';alex;wusir;taibai'
l = s.split('a')
print(l)
# 程序运行结果:[';', 'lex;wusir;t', 'ib', 'i']
split
format的三种玩法 格式化输出
# format的三种玩法 格式化输出
# res='{} {} {}'.format('egon',18,'male')
# res='{1} {0} {1}'.format('egon',18,'male')
# res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
format
replace()方法语法:
# str.replace(old, new [,max])
# old -- 将被替换的子字符串
# new -- 新字符串,用于替换old子字符串
# max -- 可选字符串,替换不超过max次
s = '来看待街坊邻居复合大师街坊法好的撒见客户'
s11 = s.replace('街坊','老王',1)
print(s11)
# 程序运行结果:来看待老王邻居复合大师街坊法好的撒见客户
replace
in关键词
# s = 'fhdsklfds'
# for i in s:
# print(i)
# s = 'fdsa苍井空fdsalk'
# if '苍井空' in s:
# print('您的评论有敏感词...')
in
is系列
# name='taibai123'
# print(name.isalnum()) #字符串由字母或数字组成
# print(name.isalpha()) #字符串只由字母组成
# print(name.isdigit()) #字符串只由数字组成
is