1.什么是字符串

a.使用单引号或者双引号括起来的字符集就是字符串。

b.引号中单独的符号、数字、字母等叫字符

c.转义字符:可以用来表示一些有特殊功能或是特殊意义的字符(通过在固定的字符前加反斜杠'\')

\'->'

\\->\

\n->换行

\t->制表符

\"->"

在计算字符串长度的时候,转义字符代表一个字符eg:'\n'就是一个字符

转义字符

'123' 数字字符串

'ancn'

'^7sj'

'中文汉字'

' ' 空格

str2 = '\''

print(str2)

str1 = '床前明月光,\n疑是地上霜。'

print(str1)

ouput:`,床前明月光,\n疑是地上霜。

2.阻止转义

可以通过在字符串前面加r或者R,来阻止转义字符转义

str1 = r'\\'

print(str1)

str2 = '\\\\'

print(str2)

str3 = '\\1\n2'

print(str3)

str4 = r'\\1\n2'

print(str4)

output:\\,\\,\1\n2,\\1\n2

3.python中字符串中的字符是Unicode编码(C语言,ASCII码)

Unicode编码:使用16位对一个字符进行编码,编码的目的是让字符可以存储到计算机中。最大整数65536

Unicode码中包含了ASCII码,可以表示世界上所有的语言和符号

a.获取一个字符的Unicode码

ord('字符')

ord1 = ord('张')

ord2 = ord('书')

ord3 = ord('语')

print(hex(ord1))

print(hex(ord2),hex(ord3))

print(ord('张'),ord('书'),ord('语'))

print(hex(ord('张')),hex(ord('书')),hex(ord('语')))

output:0x5f20

0x4e66 0x8bed

24352 20070 35821

0x5f20 0x4e66 0x8bed

b.将Unicode码转换成字符

chr(编码值)

print(chr(0x4eff))

print(chr(0x5f20))

output:仿

字符串比较大小的时候,从字符开始依次往后比较每个字符的大小,直到遇到字符不一样为止。

比较字符大小的时候,实质比的是它们的编码的大小。

print('abc'>'b')

print('Z'>'a','z'>'a')

print('a'>'ab')

print('Z'>'z')

print('ac'>'ab')

print('a'>'张')

output:False

False,True

False

False

True

False

python的字符,实质是一个有序的字符序列。

1.获取字符串长度:(长度->字符串中字符的个数)

len是获取序列长度的内置函数

count1 = len('abc123');count2 = len('abc\n123')

print(count1,count2)

print(len('abc123'),len('abc\n123'))

output:6,7

6,7

2.通过下标获取字符串中的某一个字符(索引值=长度-1)

字符串中每个字符都对应一个下标(索引),我们可以通过索引值去获取固定的某个字符:print(字符串[索引值])。

'abc' --> a->0,b->1,c->2

str1 = 'abc'

print(str1[0]) #a

print(str1[2]) #c

str2 = 'dy\nup'

print(str2[4])

output:a,c,p

下标的范围:0 ~ 字符串长度-1;-1 ~ -字符串长度

获取字符的时候,索引值不能超过索引的范围,否则会报错IndexError

str1 = 'abc'

print(str1[2])

output:c

print(str1[3]) # IndexError: string index out of range

print(str1[-1])

output:c

获取字符串str1中的最后的字符

print(str1[-2])

output:b

获取字符串str1中的倒数第二个字符

3.获取字符串中的部分字符(切片):(通过字符获取下标?)

字符串[开始下标:结束下标]-->获取字符串中从开始下标到结束下标中所有字符(包含开始下标,不包括结束下标)

字符串[开始下标:结束下标:步进]

字符串[开始下标:结束下标]===字符串[开始下标:结束下标:1]

a.开始和结束下标都有值:开始下标对应的字符,要在结束下标对应的字符前面(步进是正数)

str3 = 'hello Pyth on'

# 01234567891011

print(str3[6:12])

print(str3[-6:12])

print(str3[11])

output:Python,Python,n

b.开始下标省略:从字符串的最前面取到结束下标前

print(str3[:4])

output:hell

c.结束下标省略:从开始位置获取到字符串结束

print(str3[4:])

output:o Python

e.两个都省略:获取整个字符串的内容

print(str3[:])

output:hello Python

f.

print(str3[::2]) # 0-10: 0 0+2 2+2 4+2 6+2 8+2

output:hloPto

(了解)当步进是负数的时候,即从右往左取

print(str3[3::-1]) # 3 3-1=2 2-1=1 1-1=0

print(str3[3:1:-1])

print(str3[::-1]) # 字符串倒序

print(str3[3::-1]) # 3 3-1=2 2-1=1 1-1=0

print(str3[:3:-1])

print(str3[11:3:-1])

output:lleo,

ll,

nohtyP olleh,

lleh,

nohtyp o,从最要边往[3]取

nohtyP o,

1. +:字符串拼接

字符串1 + 字符串2

str1 = 'hello' + ' ' + 'Python'

print(str1)

output:hello Python

注意:+号两边要么都是数字,要么都是字符串。不能是一个数字,一个字符串。

print(12+'34') 报错:TypeError: unsupported operand type(s) for +: 'int' and 'str'

2.*:让字符串重复

字符串 * 整数

str1 = 'abc' * 3

print(str1)

output:abcabcabc

3.in

字符串1 in 字符换2:判断字符串1是否在字符串2中-->在就是True,不在就是False

result = 'a' in 'abc'

print(result)

output:True

4.not in

字符串1 not in 字符串2:判断字符串1是否不在字符串2中-->不在就是True,在就是False

result = '123' not in 'abc'

print(result)

output:True

5.格式字符串

格式:'占位符1占位符2'%(值1,值2)

str1 = 'abc%s123' %('>>>')

str2 = 'abc%s12%s3' % ('>>>','!!!')

print(str1,str2)

output:abc>>>123, abc>>>12!!!3

%s --> 字符串占位符(格式符)

%d --> 整数占位符(格式符)

%f --> 浮点占位符

%c --> 长度是1的字符串占位符(字符占位符)---可以给一个字符,也可以给字符的编码值

str2 = '-%s-%d-%f-%c' %('我是字符串',123,12.4,'k')

print(str2)

str3 = '-%s-%d-%f-%c-%c' %('我是字符串',123,12.4,'k',97)

print(str3)

output:-我是字符串-123-12.400000-k,-我是字符串-123-12.4-k-a

%.nf:使用n值限值小数点后面的小数的位数(默认六位小数)

str3 = '金额:%.2f元' %(100)

print(str3)

output:金额:100.00元

如果后面没有加%,那么这个字符串只是一个普通的字符串

str3 = '金额:%.2f元'

print(str3)

output:金额:%.2f元

%x和%X-->十六进制数据占位符

number = 15

XXX的十六进制是XXXXX

str4 = '%d的十六进制是0X%x' % (number,number)

print(str4)

output:15的十六进制是0Xf

6.格式化输出

name = 'QQ'

age = 18

xx今年xx岁

print('%s今年%d岁' % (name,age))

print('%dAAA' % (2))

number = 10

str4 = '%d的八进制是%o' % (number,number)

print(str4)

nub=10

print('%d的八进制是%o' % (nub,nub))

output:QQ今年18岁,2AAA,10的八进制是12,10的八进制是12

字符串相关方法的通用格式:字符串.函数()

1.capitalize:将字符串的首字母转换成大写字母,并且创建一个新的字符串返回(以前的字符串并没变)。

str1 = 'abc'

new_str = str1.capitalize()

print(str1,new_str)

str1 ='abc'

print(str1.capitalize())

output:abc,Abc,Abc——————这里的str1没变,生成了一个新的new_str=str.capitalize=Abc

2.center(width,fillchar):将原字符串变成指定的长度并且内容居中,且fillchar为填充的字符。

new_str = str1.center(7,'*')

print(str1,new_str)

output:abc,** abc **

3.rjust(width,fillchar):同上,右对齐

new_str = str1.rjust(7,'*')

print(new_str)

output:****abc

产生学号

number = 19 #py1805009

str(数据):将任何其他的数据转换成字符串

num_str = str(number)

print(num_str,type(num_str))

output:19,

让字符串变成宽度为3,内容右对齐,剩下部分使用'0'填充

new_str = num_str.rjust(3,'0')

print(new_str)

new_str = 'py1805'+new_str

print(new_str)

output:019,py1805019

4.ljust(width,fillchar):左对齐

number = 18

num_str = str(number)

print(num_str,type(num_str))

new_str = num_str.ljust(9,'0')

print(new_str)

output:18,,180000000

5.字符串1.join(字符串2):在字符串2中的每个字符之间插入一个字符串1

new_str = 'aaaa'.join('bbb')

print(new_str)

output:baaaabaaaab

# 6.maketrans()

print(str.maketrans('aaa','bbb'))

print(max("abc"))

output:{97: 98},c

1 |capitalize()|将字符串的第一个字符转换为大写

2| center(width, fillchar)|返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

3| count(str, beg= 0,end=len(string))|返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

4| bytes.decode(encoding="utf-8", errors="strict")|Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。

5| encode(encoding='UTF-8',errors='strict')|以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

6| endswith(suffix, beg=0, end=len(string))|检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

7| expandtabs(tabsize=8)|把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。

8| find(str, beg=0 end=len(string))|检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1

9| index(str, beg=0, end=len(string))|跟find()方法一样,只不过如果str不在字符串中会报一个异常.

10| isalnum()|如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False

11| isalpha()|如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False

12 |isdigit()|如果字符串只包含数字则返回 True 否则返回 False..

13 |islower()|如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

14 |isnumeric()|如果字符串中只包含数字字符,则返回 True,否则返回 False(中文数字也可以)

15 |isspace()|如果字符串中只包含空白,则返回 True,否则返回 False.

16| istitle()|如果字符串是标题化的(见 title())则返回 True,否则返回 False

17|isupper()|如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

18| join(seq)|以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

19| len(string)|返回字符串长度

20| ljust(width[, fillchar])|返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。

21 |lower()|转换字符串中所有大写字符为小写.

22 |lstrip()|截掉字符串左边的空格或指定字符。

23| maketrans()|创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

24 |max(str)|返回字符串 str 中最大的字母。

25| min(str)|返回字符串 str 中最小的字母。

26 |replace(old, new [, max])|把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。

27 |rfind(str, beg=0,end=len(string))|类似于 find()函数,不过是从右边开始查找.

28 |rindex( str, beg=0, end=len(string))|类似于 index(),不过是从右边开始.

29| rjust(width,[, fillchar])|返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串

30 |rstrip()|删除字符串字符串末尾的空格.

31 |split(str="", num=string.count(str))|num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串

32 |splitlines([keepends])|按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

33 |startswith(str, beg=0,end=len(string))|检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

34 |strip([chars])|在字符串上执行 lstrip()和 rstrip()

35 |swapcase()|将字符串中大写转换为小写,小写转换为大写

36 |title()|返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

37 |translate(table, deletechars="")|根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中

38 |upper()|转换字符串中的小写字母为大写

39 |zfill (width)|返回长度为 width 的字符串,原字符串右对齐,前面填充0

40 |isdecimal()|检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

if语句

结构:

1.

if 条件语句:

条件语句结果为True执行的代码块

执行过程:先判断条件语句是否为True,如果为True就执行if语句后:后面对应的一个缩进的所有的代码。

为False,就不执行冒号后面一个缩进中的代码块,直接执行后续的其他语句。

条件语句:可以是任何有值的表达式,但是一般是布尔值

if:关键字

if False:

print('代码1')

print('代码2')

print('代码3')

print('代码4') #不属于if语句中的代码块

output:代码4

练习:用一个变量保存时间(50米短跑时间),如果时间小于8s,就打印及格

time = 7

if time < 8:

print('及格') # 只有条件成立的时候才会执行

print(time) #不管if语句的条件为否,这个语句都会执行

output:7

if 条件语句:

语句块1

else:

语句块2

执行过程:先判断条件语句是否为True,如果为True就执行语句块1,如果为False就执行语句块2.

练习:用一个变量保存成绩,如果成绩大于等于60,就打印及格,否则就打印不及格

score = 88

if score >= 60:

print('及格')

else:

print('不及格')

output:及格

python3.7输出语句_Day3-Python-Python字符串if语句学习-2018/7/18相关推荐

  1. python变量值发生变化时输出语句_有一个字符串变量s = 'python program',语句print(s[1:5:2]) 的输出结果是:_学小易找答案...

    [判断题]print('936'.isdigit()) 的输出结果是 True [单选题]下面关于"义务论"伦理学和"后果论"伦理学的比较描述错误的一项是?() ...

  2. python print 换行_Python小课堂第21课:规整一下我们的输出之打印格式化与字符串...

    整齐的输出,不仅美观,还能方便我们更容易的定位问题的重点.所以我们有必要将我们的输出内容美化一下! 请点击右上角"关注"按钮关注我们,跟着木辛老师深入浅出的掌握输出格式化的方法吧! ...

  3. python使用什么注释语句和运算-Python3 注释和运算符

    Python3 注释 确保对模块, 函数, 方法和行内注释使用正确的风格 Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如:: #这是一个注释 print(&quo ...

  4. python输入语句-1、python基本的元素及输出语句

    1.在python文件中,由于编码的问题,所以在开头声明这是utf-8编码的(多在输出汉字 时用到) #coding=utf-8 2.python中的输出语句 print("I love m ...

  5. python 去除字符串的标点符号 用_Python输入和输出

    点击上方Python知识圈,设为星标 回复1024获取Python资料 阅读文本大概需要 5 分钟 近期精彩文章:Python100例(附PDF下载地址) 在很多时候,你会想要让你的程序与用户(可能是 ...

  6. python判断质数用for循环_Day3.Python判断与循环语句

    Python判断与循环语句!!! 例题引导: Q:输入3个整数,按从小到大依次输出,用"->"符号相连: 例如:输入4,2,6,输出2 -> 4 -> 6 A: ...

  7. python 输入输出转web_云计算开发学习笔记:Python3 输入和输出方式

    Python两种输出值的方式: 表达式语句和 print() 函数.第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用. 如果你希望输出的形式更加多样,可 ...

  8. python输出字符串两次_下列程序的运行结果是: str = Hello print(str * 2) # 输出字符串两次 print(str + Python!) # 连接字符串_学小...

    [单选题]能连接电动机转轴与变速箱的输入轴,并能起过载保护作用的是_________. [多选题]按污染物的特性划分的污染类型包括以下的( ). [判断题]功和动能都与参考系的选择无关.() [单选题 ...

  9. Python 字符串常见的语句,和练习题,字符串练习题 Python 切片函数修饰符 #精度和进制Python 字符串一些语句练课件练习题

    字符串练习题 Python 切片 函数修饰符 #精度和进制 Python 字符串一些语句练 课件练习题 4,.by     字符串的替换         方法    描述         replac ...

最新文章

  1. 特别推荐:RHCE考试经验
  2. maven各个属性参数详解
  3. 在win7下安装VC6.0
  4. DMA讲解《一》(清华大学)
  5. JSK-61 二进制加法【大数】(废除!!!)
  6. python爬虫反爬策略_用Python语言做爬虫有哪些策略可以对抗反爬虫?
  7. 1-csv文件,解决数字不全或者数组+e的显示的问题
  8. HDU 2063 过山车
  9. 每天学一点flash(6) FLASH 8 和 FLASH CS3 加载外部文本的区别 (转载)
  10. 华为设备OSPF配置命令
  11. firework.js
  12. 2015年邮件营销机会在哪里?
  13. Python实战 | 使用代理IP刷CSDN博客访问量
  14. 工作中常见的两种谬误
  15. python显示gif图片_Python给gif图片加文字水印
  16. 构建大型云计算平台分布式技术的实践
  17. 揭秘:特步集团副总裁肖利华的亲笔签名感言
  18. Java基础--文件切割器
  19. pc端网页唤起本地的咚咚和千牛
  20. 决策树分类算法(if-else原理)

热门文章

  1. Liferay开发学习Part6:Service Builder
  2. 使用纯索引子查询优化MySQL的分页查询速度
  3. XenDesktop 5.5 – HDX RealTime TCP UDP Audio演示
  4. swft c 语言 数组,如何在swift中实现数组的深拷贝
  5. linux服务器虚拟内存设置,修改Linux服务器虚拟内存Swap大小
  6. python删除过期文件_python删除过期文件的方法
  7. kotlin半生对象_Kotlin程序| 随播对象特征
  8. python日历模块_Python日历模块| prmonth()方法与示例
  9. Java LocalDateTime类| 带示例的getMinute()方法
  10. mysql杨辉三角_两个经典的小例子:杨辉三角和水仙花