Python学习笔记(三)

数据类型

数据类型介绍举例
int数字:主要用于运算1,2,3
bool判断真假True,False
str简单少量的储存数据,并进行相应的操作‘lucy’,”alice”
tuple元组:只读(1,2,’alex’) 
list储存大量的有序数据[1,’abc’,True,[1,2,3]]
dict字典:大量数据,且是关联性比较强的数据字典{‘name’:’lucy’,’age’:16}
set集合{1,2,34,’asdf’}
数据类型

基础数据类型的操作

int

num = 10
print(num.bit_length())      # 当十进制用二进制表示时,最少使用的位数 运行结果为4

bool型

#int --> bool 值是0相当于False,非零相当于True
a = -2
print(bool(a))        #结果True
#str --> bool 值是空相当于False,非空相当于True
b = ''
c = '0'
print(bool(b),bool(c)) #结果False True

str型

1、字符串的索引与切片

s = 'ABCDEFG'
#索引
s1 = s[0]   #A    (0,1,2...表示从头取)
s2 = s[2]   #C
s3 = s[-1]  #G    (-1,-2,-3...表示从尾取)
#切片:顾头不顾尾  s[首:尾:步长]
s4 = s[0:4]  #ABCD  从s[0]取到s[3]
s5 = s[0,-1]  #ABCDEF  从s[0]取到s[-2]
s6 = s[0:]  #ABCDEFG 等价于s[:]   另s[0:0]输出为空
s7 = s[0:4:2]  #AC  步长即间隔几位取一个,不填默认为1
s8 = s[4:0:-1] #EDCB
s9 = s[3::-1]  #DCBA
s10 = s[-1::-1]  #GFEDCBA 等价于s[::-1]

2、字符串的操作(记s为一个字符串)

操作用途
s1 = s.upper()将字符串s全部转为大写(类似的lower全转为小写)
s2 = s.capitalize()首字母大写
s3 = s.swapcase()大小写翻转
s4 = s.title()每个隔开(特殊字符或者数字)的单词首字母大写
s5 = s.center(20,’~’)居中,空白填充补位至第一个参数值(默认),或者用第二个参数做填充符
s6 = s.expandtabs()如s=’AB\tCE’,则使得AB和CDE之间用空格填充,位数为八减\t之前的位数模8的余数
l = len(s)计算字符串的长度,一个中文也只计为1
s7 =s.startswith(‘al’)
s71 = s.startswith(‘e’,2,5)
判断是否以al开头,返回值为True/False,类似的有endswith
补充:判断s字符串的第三位到第五位个字符是否以e开头(参考上述字符串的索引部分,同样顾头不顾尾,s[2]至s[4]是否以e开头)
s8 = s.find(‘A’)通过元素找索引,找不到返回-1。类似的有index,区别在于找不到报错
s9 = s.strip(‘%*’)留空默认删除前后空格,有参数则删除参数中的字符(不是字符串!不计顺序删除首尾处的相关字符,如举例即是删除所有%和*)。rstrip和lstrip表示从右和左分别删除相关字符。
s10 = s.count(‘al’)计算s中包含al的数目
操作
#split  str --> list
s = ';alex;wusir;taibai'
l = s.split('a')
print(l)      #[';', 'lex;wusir;t', 'ib', 'i']   将a作为分隔符,把其他字符拆开放入list

#format的三种用法 格式化输出
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('Lucy',36,'girl','Lucy')  #1
name = input('请输入名字:')                                                 #2
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl')  
name = input('请输入名字:')                                                 #3
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl')

另:Python 替换字符串的方法 | 菜鸟教程 (runoob.com)

0

发表评论

您的电子邮箱地址不会被公开。