二:2.1 字符串与循环中的 while
字符串:字符串是以单引号或双引号括起来的任意文本
创建字符串:
str1 = "sunck is a good man!"
str3 = "sunckis a nice man!"
字符串运算
字符串连接:
str6 = "sunck is a "
str7 = "good man "
str8 = str6 + str7
print("str8=",str8)
输出重复字符串
str9 = "good"
str10 = str9 * 3
print("str10=",str10)
访问字符串中的某个字符
通过索引下标查找字符,索引从0开始
str11 = "sunck is a good man !"
print(str11[1])
str11[1] = "a"
print("str11=",str11)---------->错误 字符串不可变
截取字符串中的一部分
str12 = "sunck is a good man !"
str13 = str13[6:15] 第6个字符开始截取到15 (从0开始截取,0可省略,结尾也可省略即:[:5] [15:])
print("str13=",str13)-------> is a good
判断字符串是否在字符串中
str16 = "sunck is good man!"
print("good" in str16)------------->true
格式化输出
print("sunck is a good man")
num = 10
print("num =",num)
print("num =%d" % (num)) %d 占位符
转义字符 \
将一些字符转换成有特殊含义的字符
\n 换行
\\n 输出为 \n
print('tom is a 'good' man')---------->语法错误
print('tom is a \'good\' man')--------->tom is a 'good' man
如果字符串内有很多换行,用\n写在一行不好阅读
print('''
good
nice
handsome
''')-----------------表示多行即换行
\t 制表符
print("sunck\tgood")--------->sunck good(中间默认4个字符)
如果字符串中有好多字符串需要转移,就需要加入好多\,为了简化,Python允许用 r 表示内部的字符串默认不转义
print("\\\t\\")--------->\ \
print(r"\\\t\\")--------->\\\t\\
eval(str)
功能:将字符串str当成有效的表达式来求值并返回计算结果
num1 = eval("123")
print("num1=",num1)------->123
print(type(num1))-------> <class'int'> (查看类型)
print(eval("+123"))------------>123
print(eval("-123"))------------>-123
print(eval("12+3"))------------>15
print(eval("12-3"))------------>9
print(eval("a123"))------------>报错
print(eval("12a3"))------------>报错
len(str) 返回字符串长度(字符个数)
print(len("sunck"))----------->5
lower()转换字符串中大写字母为小写字母
str = "suncK IS"
print(str.lower())--------->sunck is
upper()转换字符串中小写字母为大写字母
str = "suncK IS"
print(str.upper)--------->SUNCK IS
swapcase()转换字符串中小写为大写 大写为小写字母
capitaliza()首字母大写,其他小写
title()每个单词首字母大写
center(width[,fillchar])返回一个指定宽度的居中字符串,fillchar为填充的字符串,默认空格填充
str = "sunck is a good man"
print(str.center(40,"*"))----------------->**********sunck is a good man***********
ljust(width[,fillchar]) 返回一个指定的宽度的左对齐字符串,fillchar为填充字符,默认空格填充
str = "sunck is a good man"
print(str.ljust(40,"*"))------------->sunck is a good man*********************
rjust(width[,fillchar]) 返回一个指定的宽度的右对齐字符串,fillchar为填充字符,默认空格填充
str = "sunck is a good man"
print(str.rjust(40,"*"))--------------->*********************sunck is a good man
zfill(width)返回一个长度为width的字符串,原字符串右对齐,前面补0
str = "sunck is a good man"
print(str.zfill(40))--------------->000000000000000000000sunck is a good man
count(str[,strat][,end]) 返回字符串中str出现的次数,可以指定范围,默认从头到尾
str = “sunck is a good good man”
print(str.count("good"))------->2
find(str[,strat][,end])从左向右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾。得到的是第一次出现的开始下标,没有则返回 -1
str = "sunck is a good man"
print(str.find("good"))------------>11
print(str.find("good",0,16))------->11
rfind(str[,strat][,end]) 从右向左检测
index(str,strat=0,end=len(str)) 从左向右检测 和find()相同 只是查找不到后会报错
rindex(str,strat=0,end=len(str)) 从右向左
lstrip()截掉字符串左侧指定的字符。默认为空格
str = " sunck is a good man"
print(str.lstrip())----------->sunck is a good man
str = "***********sunck is a good man"
print(str.lstrip("*"))----------->sunck is a good man
rstrip()截取字符串右侧指定的字符,默认为空格
strip()截取字符串两侧指定的字符,默认为空格
while 语句:
格式:
while 表达式:
语句
逻辑:当程序执行到while语句时,首先计算"表达式"的值,如果“表达式”的值为假,结束整个while语句。
如真,则执行”语句“,执行完语句再去计算表达式的值,如果表达式的值为假,结束整个while语句。如果“表达式"的值为真,则执行"语句”执行完语句再去计算表达式的值,如此循环往复,知道表达式的值为假才停止。
num = 1
while num <=5:
print(num)
num+=1
输出为1 2 3 4 5
计算1+2+3+4+5+.......+100
sum = 0
num = 1
while num<=100:
sum +=num
num += 1
print("sum = %d“ %(sum))
输出为sum=5050
str = "sunck is a good man”
index = 0
whlie index < len(str):
print("str[%d] = %s" % (index, str[index]))
index += 1
输出为:str[0] = s str[1] = u.......................
二:2.1 字符串与循环中的 while的更多相关文章
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...
- 为什么阿里巴巴不建议在for循环中使用"+"进行字符串拼接
字符串,是Java中最常用的一个数据类型了.关于字符串的知识,作者已经发表过几篇文章介绍过很多,如: Java 7 源码学习系列(一)--String 该如何创建字符串,使用" " ...
- 3.Python自我修炼(升仙中....整数,布尔值,字符串,for循环)
python学习(整数,布尔值,字符串,for循环) 1.整数 在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型.但是在python3中不存 ...
- 不建议在for循环中使用”+”进行字符串拼接
https://mp.weixin.qq.com/s/qG6bdhndAip9s-_XM9oP3A 为什么阿里巴巴不建议在for循环中使用”+”进行字符串拼接 互联网后端架构 1周前
- Ajax请求php返回json对象数据中包含有数字索引和字符串索引,在for in循环中取出数据的顺序问题
//php中的数组数据格式 Array ( [all] => Array ( [title] => ALL [room_promotion_id] => all ) [best_av ...
- Shell脚本之二 变量、字符串和数组
一.Shell 变量 1.1 定义变量 定义变量时,变量名不加美元符号($),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟悉的 ...
- ***php解析JSON二维数组字符串(json_decode函数第二个参数True和False的区别)
客户端的请求体中的数据:[{"msg_id": 1, "msg_status": "HAS_READ" }, { "msg_id& ...
- C字符串和C++中string的区别 &&&&C++中int型与string型互相转换
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别: C字符串 string对象(C++) 所需的头文件名称 ...
- C字符串和C++中string的区别 &&&&C++中int型与string型互相转换
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别: C字符串 string对象(C++) 所需的头文件名称 ...
随机推荐
- jquery-easyui的datagrid在checkbox多选时,行选中不正确应,去除高亮的解决方法
jquery-easyui的datagrid在checkbox多选时,行选中不正确应,去除高亮的解决方法 工作中用到一个具有多选功能的easyui-datagrid在处理cell的点击事件时,不同 ...
- 更改linux文件的拥有者及用户组(chown和chgrp)
.使用chown命令更改文件拥有者 在 shell 中,能够使用chown命令来改变文件全部者.chown命令是change owner(改变拥有者)的缩写.须要要注意的是,用户必须是已经存在系统中的 ...
- 里根上台时国债只占GDP的30%
学里根是刻舟求剑,关键是钱从哪来 5 里根主要靠借钱,这是冷战红利,美国打完二战国债占了GDP的120%,然后总量就没怎么增加,但战后GDP快速增长,结果国债占GDP的比例连续下降,打越战登月石油危 ...
- hdu_3308 区间合并
一两个月没写代码的确是手生的厉害,debug的好艰辛,,不过看到accept时的那种满足感真的就是爽 #include<iostream> #include<cstdio> # ...
- WinRar 设置默认的压缩格式为zip
By default, WinRar uses the RAR archive format for compressing files. You may prefer using the more ...
- es6 --- 功能
标记的模板文字 1.模板文字!确实很棒.我们不再会这样做…. const concatenatedString = "I am the " + number + "per ...
- leetcode 新题型----SQL,shell,system design
leetcode 主要是一个针对北美的coder人群找工作的代码练习网站,我在2015年初次接触这个网站的时候,总共只有200多道题目,是一个类似acm 的a题网站.这些年变化越来越大,主要是因为找工 ...
- checkbox和文字不再同一水平线上
为了演示效果,我故意将文字变为12px,将复选框变大,看到的效果就是下面的那样 然后,我们通过给复选框添加vertical-align:middle:让文字和复选框达到同一水平线的效果
- Bayes++ Library入门学习之熟悉UKF相关类
UKF-SLAM是一种比较流行SLAM方案.相比EKF-SLAM,UKF利用unscented transform代替了EKF的线性化趋近,因而具有更高的精度.Bayes++库中的unsFlt.hpp ...
- 十一 模板匹配match template
一.介绍 1.模板匹配 通俗讲就是以图找图,通过图中的一部分来找它在图中的位置(模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域). 模板匹配是一种最原始.最基本的模式识别方法,研究某一特定对 ...