《每天五分钟冲击python基础之字符串基础入门》(五)(重点)

《每天五分钟冲击python基础之字符串基础入门》(五)(重点),第1张

概述##前言上节课已经教大家学会了如何注释和如何使用注释来测试代码了,那么今节课就先学字符串入门,那你们肯定会问,为什么不先教其他的变量类型(例如:数值类型:整型、浮点型、复数,运算符:算术运算符、位运算符)那些的,因为以我过往开发的经验,字符串类型是写代码的时候,经常用到,所以先将这部 ## 前言上节课已经教大家学会了如何注释和如何使用注释来测试代码了,那么今节课就先学字符串的入门,那你们肯定会问,为什么不先教其他的变量类型(例如:数值类型:整型、浮点型、复数,运算符:算术运算符、位运算符)那些的,因为以我过往开发的经验,字符串类型是写代码的时候,经常用到,所以先将这部分抽出来先讲,其他的部分,后面再一 一讲解。## 入门字符串前先学会定义变量1、变量是什么呢? 变量就像一个个小小的容器,主要是用来保存数据的。2、变量和常量有什么区别 常量一旦保存某个数据之后,该数据就不能发生改变;但变量保存的数据则可以多次发生改变,只要程序对变量重新赋值即可。 怎么理解上面这句话呢?举例说明:比如你去买杂货店买东西,椰树牌的香烟,10年一直以来的价格都是3块的,那么这个就是常量,那么芙蓉王的价格,可能3年前就25块,1年前就30块,现在买就35块,那么这个就是变量。 3、怎么定义变量 Python使用等号(=)作为赋值运算符,例如 a = 20 就是一条赋值语句,这条语句用于将20装入变量a中-------这个过程就被称为赋值:将20赋值给变量a 例: ```python a = 20``` 4、定义常量 ```python import constant constant.VALUE = 5```## 字符串是什么 字符串的意思就是“一串字符”,比如“Hello,Virus”是一个字符串,“How are you?”也是一个字符串。Python要求字符串必须使用引号括起来,使用单引号也行,使用双引号也行---------只要两边的引号能配对即可。 例:```python a = "Hello,Virus" b = 'How are you?'```## 转义字符适用情况:当字符串中出现多个单引号或者双引号的情况下,或者进行换行,空格等情况下,可以使用转义字符情况1:多个单引号或者双引号例:```pythonstr3 = 'I 'm a coder'print(str3)输出结果: file "D:\Sublime Text 3\Data\Packages\User\a.py", line 1 str3 = 'I 'm a coder' ^SyntaxError: invalID Syntax```解决方法1:```pythonstr3 = 'I \'m a coder' # \ 代表转义print(str3)输出结果:I 'm a coder```解决方法2:```pythonstr3 = "I 'm a coder" # 双引号包单引号print(str3)输出结果:I 'm a coder```转义字符说明![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210531111723896.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ZpcnVzc3M=,size_16,color_FFFFFF,t_70)下面简单列举几个:\n```pythons = 'Hello\nCharlIE\nGood\nMorning'print(s)输出结果:HelloCharlIEGoodMorning```\t```pythons2 = '商品名\t\t单价\t\t数量\t\t总价'print(s2)输出结果:商品名 单价 数量 总价```## 拼接字符串python使用加号(+)作为字符串的拼接运算符,例:```pythons2 = "Hello,"s3 = "CharlIE"print(s2+s3)输出结果:Hello,CharlIE```如果直接将两个字符串紧挨着写在一起,python就会自动拼接它们,例:```pythons1 = "Hello," 'CharlIE'print(s1)输出结果:Hello,CharlIE```注意:python不允许直接拼接数值和字符串,程序必须先将数值转换为字符串,使用repr()函数进行转换例:```pythons1 = "这件衣服的价格是:"price = 90print(s1+price)输出结果Traceback (most recent call last): file "D:\Sublime Text 3\Data\Packages\User\a.py", line 3, in print(s1+price)TypeError: can only concatenate str (not "int") to str```解决:```pythons1 = "这件衣服的价格是:"price = 90print(s1 + repr(price))输出结果:这件衣服的价格是:90```## 原始字符串由于字符串中的反斜线都有特殊的作用,因此当字符串中包含反斜线时,就需要对其进行转义。比如写一条windows的路径:G:\publish\codes.4,如果在python程序中直接这样写肯定是不行的,那么可以怎么办呢,可以借助于原始字符串来解决这个问题。原始字符串以“r”开头例:```pythons1 = r'G:\publish\codes.4'print(s1)输出结果:G:\publish\codes.4```## 长字符串前面介绍python多行注释时提到使用三个引号(单引号、双引号都行)来包含多行注释内容,其实这是长字符串的写法,只是由于在长字符串中可以放置任何内容,包括放置单引号、双引号都可以,如果所定义的长字符串没有赋值给任何变量,那么这个字符串就相当于被解释器忽略了,也就相当于注释掉了。简单概括一下就是如果三个引号(单引号、双引号没有赋值给变量的话,就相当于注释,反之赋值给变量了就是长字符串了)例:```pythons = '''"What your name?""I am Virus,and you""I am lihui"'''print(s)输出结果:"What your name?""I am Virus,and you""I am lihui"```## 字节串(bytes)(这个了解一下就可以了,本人在开发中,也只是在处理某些图片上用到)python3新增了bytes类型,用于代表字符串(这是作者生造的一个词,与字符串对应)。字符串(str)由多个字符组成,以字符为单位进行 *** 作;字节串(bytes)由多个字节组成,以字节为单位进行 *** 作。bytes和str除 *** 作的数据单元不同之外,它们支持的所有方法都基本相同,bytes也是不可变序列。bytes对象只负责以字节(二进制格式)序列来记录数据,至于这些数据到底表示什么内容,完全由程序决定。如果采用合适的字符集,字符串可以转换为字节串;反过来,字节串也可以恢复成对应的字符串。由于bytes保存的就是原始的字节(二进制格式)数据,因此bytes对象可用于在网络上传输数据,也可以用于存储各种二进制格式的文件,不如图片、音乐等文件。如果希望将一个字符串转换成bytes对象,有如下三种方式:1、如果字符串内容都是ASCII字符,则可以通过直接在字符串之前添加 b 来构建字节串值2、调用bytes()函数(其实是bytes的构造方法)将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用UTF-8字符集。3、调用字符串本身的encode()方法将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用UTF-8字符集。例:```python#定义字节串b3 = b'hello'b4 = bytes('我爱学习',enCoding='utf-8')b5 = '我爱学习'.encode('utf-8')#对字节串变成字符串b6 = b5.decode('utf-8')print(b3)print(b4)print(b5)print(b6)输出结果b'hello'b'\xe6\x88\x91\xe7\x88\xb1\xe5\xad\xa6\xe4\xb9\xa0'b'\xe6\x88\x91\xe7\x88\xb1\xe5\xad\xa6\xe4\xb9\xa0'我爱学习```## 课外知识补充在这里简单介绍一下字符集的概念。计算机底层并不能保存字符,但程序总是需要保存各种字符的,那该怎么办呢?计算机“科学家” 就想了一个办法:为每个字符编号,当程序要保存字符时,实际上保存的实该字符的编号;当程序读取字符时,读取的其实也是编号,接下来要去查“编号-字符对应表”(简称码表)才能得到实际的字符。因此,所谓的字符集,就是所有字符的编号组成的总和,早期美国人给英文字符、数字、标点符号等字符进行了编号,他们认为所有字符加起来顶多100多个,只要1字节(8位,支持256个字符编号)即可为所有字符编号------这就是ASCII字符集。后来,亚洲国家纷纷为本国文字进行编号-----------即制订本国的字符集,但这些字符集并不兼容。于是美国人又为世界上所有书面语言的字符进行了统一编号,这次他们用了两个字节(16位,支持65536个字符编号),这就是Unicode字符集。实际使用的UTF-8、UTF-16等其实都属于Unicode字符集。由于不同人对字符的编号完全可以很随意,比如同一个“爱” 字,我可以为其编号为99,你可以为其编号为199,所以同一个编号在不同的字符集中代表的字符完全有可能是不同的。因此,对于同一个字符串,如果采用不同的字符集来生成bytes对象,就会得到不同的bytes对象。## 结语今节课的内容有点多,希望你们能细心地阅读,并且慢慢地在编辑器上进行练习,不要只看不练,那样对你的学习是一点帮助都没有的,只有多看多练,基础才能打得牢固,才能上手快,好了,今节课的内容就讲到这里,如果在学习的过程中,遇到任何问题,扫描下面图片关注,联系作者,就可以帮你解决了,下节课讲字符串深入学习,敬请期待喔!![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210531150936431.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ZpcnVzc3M=,size_16,color_FFFFFF,t_70#pic_center) 总结

以上是内存溢出为你收集整理的《每天五分钟冲击python基础之字符串基础入门》(五)(重点)全部内容,希望文章能够帮你解决《每天五分钟冲击python基础之字符串基础入门》(五)(重点)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1183580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存