day3:数据类型 str
1,int 一个数字占用的bit数目
i = 2
print(i.bit_length())
i = 3
print(i.bit_length())
i = 5
print(i.bit_length()) 运行结果:
2
2
3
2,int和str互转,注意str转化为int是,str内容必须是数字
3,while true和while 1
while True:
pass
#while 1的效率要高一点
while 1:
pass
4,判断字符串为空
s = input("plese input")
if s:
pass
else:
print("你输入的字符串为空,请重新输入。")
5,字符串索引和切片,顾头不顾尾,和range一样
s = "ABCDEFGHKL"
print(s[-1])
print(s[-2])
print(s[0:4])
print(s[0:-1])
print(s[0:])
print(s[:])
print("------------------------------")
print(s[0:5:2])
print(s[4:0:-1]) #这里不可以写成s[0:4:-1], 顾头不顾尾所以0那个位置是打不出来的
print(s[4::-1]) # 规范写法,两个冒号之间没有空格 print("--------------------------------")
print(s[-1::-1])
print(s[::-1]) 运行结果:
L
K
ABCD
ABCDEFGHK
ABCDEFGHKL
ABCDEFGHKL
------------------------------
ACE
EDCB
EDCBA
--------------------------------
LKHGFEDCBA
LKHGFEDCBA
6,首字母大写
s = "lisa is funny"
s1 =s.capitalize() #首字母大写,另外新字符串和原来的字符串没有关系
print(s1)
运行结果:Lisa is funny
7,不区分大小写
s = "FgjKl"
s_str = input("please input:")
if s.lower()==s_str.lower(): #也可以同时转换为大写
print("验证成功")
else:
print("请重新输入") 运行结果:
please input:fgjkl
验证成功
8,字符串翻转,首字母大写
s = "lisa is funny,HOHO"
# 大小写翻转
s3 = s.swapcase()
print(s3) # 所有单词首字母大写
s4 = s.title()
print(s4) s5 = "lisa*is4funny,-HOHO9haha"
s6 = s5.title()
print(s6) #注意:每个隔开的单词,首字母大写,被字符和数字隔开都算,都是大写的单词要变成只是首字符大写
运行结果:
LISA IS FUNNY,hoho
Lisa Is Funny,Hoho
Lisa*Is4Funny,-Hoho9Haha
9,居中空白填充,或者用其他字符填充,输入函数后,如果右侧半个括号显示黄色,说明你少输入参数了。
s7 = 'center'
s8 = s7.center(20) #总长20,s7居中,两边用空白填充,默认为空白
print(s8)
s9 = s7.center(20,"#") #两边用#号填充
print(s9) 运行结果:
center
#######center#######
10,展开字符串中的tab键,tab键前面的字符串不足8个则补足为8个,超过8个不足16个,补足为16个,每次补足为8的倍数
s10 = 'left\tright'
s11 = s10.expandtabs()
print(s11)
运行结果:
left right
11,公用方法len
12, 查找字符,find和index,给出的都是找到位置的index,但是index函数找不到的时候会崩溃,但是find会给出-1,查找区分大小写,所以首选find,如果字符串中有多个匹配字符,返回的是第一个,可以查找一个或者多个字符
13,去除空格strip 左侧lstrip,右侧rstip,多用在用户输入用户名加入了空格的情况
s12 = " strip "
s13 = s12.strip()
s14 = s12.lstrip()
s15 = s12.rstrip()
print(s13)
print(s14)
print(s15) print("-------------------------------") s16 = "********strip&&&&&&&&&&"
s17 = s16.strip('*')
print(s17)
s18 = s16.strip('&')
print(s18)
s19 = s16.strip("*&")
print(s19) 运行结果:
strip
strip
strip
-------------------------------
strip&&&&&&&&&&
********strip
strip
14,统计字符串中字符出现的次数count,也可以切片寻找
s = "lilililisa is funny,HOHO"
s20 = s.count("li")
print(s20) 运行结果:
4
s = "lilililisa is funny,HOHO"
s20 = s.count("li",,)
print(s20) 运行结果:
s = "lilililisa is funny,HOHO"
# 只有一个参数默认从4到末尾切片
s20 = s.count("li",)
print(s20) 运行结果:
15,字符串拆分split,注意被拆分的字符就不存在了,字符串转换为列表的非常好的方法
s = "lilia//lilisa is ;iafunny,a==HOHO"
# s20 = s.count("li")
# print(s20) s21 = s.split() # 不指定的话就是空格
print(s21) s22 = s.split("a")
print(s22)
s23 = s.split("ia")
print(s23) 运行结果:
['lilia//lilisa', 'is', ';iafunny,a==HOHO']
['lili', '//lilis', ' is ;i', 'funny,', '==HOHO']
['lil', '//lilisa is ;', 'funny,a==HOHO']
16,格式化输出有两种方式,第一种是%d %s这种,另外一种是format函数,format有三种玩法
msg="my name is {}, i am {}, my height is {},again,my name is {}".format("lisa",22,165,"lisa")
print(msg) msg="my name is {0}, i am {1}, my height is {2},again,my name is {0}".format("lisa",22,165,)
print(msg) msg="my name is {name}, i am {age}, my height is {height},again,my name is {name}".format(name="lisa",age=22,height=165,)
print(msg) 运行结果:
my name is lisa, i am 22, my height is 165,again,my name is lisa
my name is lisa, i am 22, my height is 165,again,my name is lisa
my name is lisa, i am 22, my height is 165,again,my name is lisa
17,字符串替换replace,默认是全部替换,也可以指定第三个参数,替换几个
s = "lisa is funny lisa is funny lisa is funny lisa is funny lisa is funny "
s2 = s.replace("lisa","lily")
print(s2) 运行结果:
lily is funny lily is funny lily is funny lily is funny lily is funny
18,in 循环输出每个字符,或者是判断某个字符是否在字符串内,一般用来屏蔽敏感字符
s = "lisa is funny"
for i in s: #i 可以替换为j index 等
print(i) s = "lisa is fucking funny" # 敏感词类似苍井空啦,fuck ,damn啥的
if "fucking" in s:
print("您的输入有敏感词。。。。") 运行结果:
l
i
s
a i
s f
u
n
n
y
您的输入有敏感词。。。。
19,是否已某个字符开头或者结尾,startswith endswith,比较简单,不再举例,也可以进行切片操作
day3:数据类型 str的更多相关文章
- Python学习day3 数据类型Ⅰ(str,int,bool)
day3 数据类型 @上节内容补充 每周一个思维导图-xmind.exe in / not in #示例:(是否包含敏感字符)while True: text = input('请输入你要说的 ...
- Python基础学习Day3 数据类型的转换、int、str、bool、字符串的常用方法、for循环
一.数据类型的转换 常用的是:int 转str.str转int.int转bool 时 非零即为 True . # 数据类型之间转换 ***** # int <--> str str(i ...
- Python学习日记day3:数据类型
1.数据类型int :如1.2.4等, 用于计算 bool: True , False ,用户判断 str: 储存少量数据,进行操作.如:'fdasklfjfladfl','而而噩噩','1234' ...
- python基础之 基本数据类型,str方法和for循环
1.概念 1.十进制转二进制,对2取余,余数倒序排列 2.字符串为空的时候,bool值为false,字符串非空就是True3.字符串转化成int时,必须是只包含数字才能转化.4.字符串转化成int时可 ...
- DAY3 数据类型与运算符
一.注释 代码注释分单行和多行注释, 单行注释用#,多行注释可以用三对双引号""" """ 注释用于解释某一行代码的作用,增加代码的可读性 ...
- 编码,基本数据类型,str索引和切片,for循环
1. 编码 1. 最早的计算机编码是ASCII. 美国人创建的. 包含了英文字母(大写字母, 小写字母). 数字, 标点等特殊字符!@#$% 128个码位 2**7 在此基础上加了一位 2**8 8位 ...
- Python学习笔记 - day3 - 数据类型及运算符
Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...
- python基础复习-1-2 数据类型-str、list、tuple、dict
数据类型 数字 引号: 123 数值 '123' 字符串 整数:ini long 范围:(-2**31 - 2**31) num = 123 长整型 long (L) num = 123L 浮点型:f ...
- 记录我的 python 学习历程-Day03 数据类型 str切片 for循环
一.啥是数据类型 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,"汉"是文字,否则它是分 ...
随机推荐
- HTML5中的History对象
HTML5标准之前 基本操作 1.forward(number) 加载histroy列表中的下一个URL 2.back(number) 加载histroy列表中的上一个URL 3.go(number) ...
- elasticsearch 忽略大小写模糊搜索实现(转)
在es查询时不区分大小写,可以让查询更方便,具体设置如下: { "settings": { "analysis": { "analyzer" ...
- 第三部分:Android 应用程序接口指南---第二节:UI---第十二章 自定义组件
第12章 自定义组件 Android平台提供了一套完备的.功能强大的组件化模型用于搭建用户界面,这套组件化模型以View和 ViewGroup这两个基础布局类为基础.平台本身已预先实现了多种用于构建界 ...
- 20款有用的JavaScript和CSS库
Web开发与设计已经发展达到了新的高峰.创建一个网站并不是那么简单了,因为它使用的是几年前.今天是时间创造有吸引力的网站,不仅吸引了游客的关注也让他们订婚.另外,和功能的有吸引力的功能添加到该网站不应 ...
- 创建shell脚本
1.写一个脚本 a) 用touch命令创建一个文件:touch my_script b) 用vim编辑器打开my_script文件:vi my_script c) 用vim编辑器编辑my_script ...
- Go_14:GoLang中 json、map、struct 之间的相互转化
1. golang 中 json 转 struct <1. 使用 json.Unmarshal 时,结构体的每一项必须是导出项(import field).也就是说结构体的 key 对应的首字母 ...
- Go语言_iota用法
一.介绍 iota,特殊常量,可以认为是一个可以被编译器修改的常量. 在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1. io ...
- centos7目录统计之du命令
CentOS下du查看计算目录大小的命令 用法实例: [root@localhost local]# du -hs smgpdfd 3.3G smgpdfd [root@localhost lo ...
- Implementing HTTPS Everywhere in ASP.Net MVC application.
Implementing HTTPS Everywhere in ASP.Net MVC application. HTTPS everywhere is a common theme of the ...
- [Node.js] 07 - Html and Http
前言 一.原本的计划 Node.js 路由 Node.js GET/POST请求 到此,有必要复习下http章节 Node.js Web 模块 Node.js Express 框架 Node.js R ...