Python入门第4课——字符串变量(只读课堂)

    科技2022-07-15  115

    In [1]: #欢迎来到“只读课堂”!

     

    In [2]: #今天我开始讲变量——字符串类型

     

    In [3]: #字符串这个类型是我们在编程中经常用到的,用的次数最多的类型。字符串在最后整理程序的时候很有用。这里我给大家详细地讲一下字符串,它是被引号引起来的。

     

    In [4]: line = "hello python"

     

    In [5]: line = "hello python\""

     

    In [6]: line = 'hello \'python'

     

    In [7]: #我这三行都是赋值语句,没有什么输出

     

    In [8]: line

    Out[8]: "hello 'python"

     

    In [9]: line

    Out[9]: "hello 'python"

     

    In [10]: #一般输出最后一个

     

    In [11]: #字符串可以用双引号,也可以用单引号。通过单、双引号的使用,可以避免不必要的转义字符(escape),也就是说,可以避免使用“\”(转义字符)

     

    In [12]: #以上就是字符串的基本知识,下面我来讲讲它的一些应用:

     

    In [13]: #它同样也是可以运行数学运算的,比如说我这里有一个line行

     

    In [14]: line_1 = "ni hao"

     

    In [15]: line_2 = "zhiduketang"

     

    In [16]: #我们可以把它连接起来:拼接字符串时,我们可以用+把它拼接起来

     

    In [17]: line_1 + line_2

    Out[17]: 'ni haozhiduketang'

     

    In [18]: #用乘法也可以,它就会返回几个拼接的重复字符

     

    In [19]: line_1 * 10

    Out[19]: 'ni haoni haoni haoni haoni haoni haoni haoni haoni haoni hao'

     

    In [20]: line_2 * 3

    Out[20]: 'zhiduketangzhiduketangzhiduketang'

     

    In [21]: #我们用len函数来检验有多少字符串:“len”其实就是“length“的简写。

     

    In [22]: len(line_1)

    Out[22]: 6

     

    In [23]: #就是说,line_1的长度是6

     

    In [24]: #也许你会问,为什么我们之前乘的line_1为什么不变呢

     

    In [25]: #其实python里的字符串就是一个不可变的量

     

    In [26]: line = 'buhao'

     

    In [27]: line

    Out[27]: 'buhao'

     

    In [28]: len(line)

    Out[28]: 5

     

    In [29]: line_1 = 'ni'

     

    In [30]: line_1

    Out[30]: 'ni'

     

    In [31]: len(line_1)

    Out[31]: 2

     

    In [32]: #随着设值的变化,它也是会变的。

     

    In [33]: #我们可以看一下字符串的内存地址:

     

    In [34]: id(line)

    Out[34]: 59131776

     

    In [35]: line = 'a'

     

    In [36]: id(line)

    Out[36]: 19736288

     

    In [37]: #当原值变了之后id地址也会变。

     

    In [38]: #id函数,返回一个身份识别符,可以理解为一个变量字符。

     

    In [39]: #下面我们讲字符串讲到的最常用的功能:切片

     

    In [40]: #我们用来做序列的操作

     

    In [41]: line = 'huan ying zhi du ke tang ru zhu'

     

    In [42]: #如果我想取字符串的前10个字符

     

    In [43]: line[:10]

    Out[43]: 'huan ying '

     

    In [44]: #它就是序列。

     

    In [45]: #它是从0开始的:

     

    In [46]: line[:0]

    Out[46]: ''

     

    In [47]: #每两个字符取一个:

     

    In [48]: line[0:20:2]

    Out[48]: 'ha igzid e'

     

    In [49]: #取后十个字符

     

    In [50]: line[-10:]

    Out[50]: 'ang ru zhu'

     

    In [51]: #翻转字符

     

    In [52]: line[::-1]

    Out[52]: 'uhz ur gnat ek ud ihz gniy nauh'

     

    In [53]: #取单字符

     

    In [54]: line[1]

    Out[54]: 'u'

     

    In [55]: line[0]

    Out[55]: 'h'

     

    In [56]: line[-1]

    Out[56]: 'u'

     

    In [57]: line[-1] = 'E'

    ---------------------------------------------------------------------------

    TypeError Traceback (most recent call last)

    <ipython-input-57-6dbfc2cde6c6> in <module>()

    ----> 1 line[-1] = 'E'

     

    TypeError: 'str' object does not support item assignment

     

    In [58]: #它的意思就是说,line的单字符是不支持赋值操作的

     

    In [59]: #字符串还有非常非常重要的:想看line的变量有哪些操作呢

     

    In [60]: line.#我们写到这的时候按一下键盘上的Tab键,它就会显示出很多很多个变量操作

    File "<ipython-input-60-1800d1415ef3>", line 1

    line.#我们写到这的时候按一下键盘上的Tab键,它就会显示出很多很多个变量操作

    ^

    SyntaxError: invalid syntax

     

     

    In [61]: #上面的错误信息不管,只做演示作用。下面我们来一一介绍一下变量操作的各用途:

     

    In [62]: line.capitalize?

    Docstring:

    S.capitalize() -> str

     

    Return a capitalized version of S, i.e. make the first character

    have upper case and the rest lower case.

    Type: builtin_function_or_method

     

    In [63]: line.capitalize()

    Out[63]: 'Huan ying zhi du ke tang ru zhu'

     

    In [64]: line = "ASDFASDFEWSDF"

     

    In [65]: line.capitalize()

    Out[65]: 'Asdfasdfewsdf'

     

    In [66]: #它只输出第一个大写字母,其它都小写。

     

    In [67]: #center用法

     

    In [68]: line.center()

    ---------------------------------------------------------------------------

    TypeError Traceback (most recent call last)

    <ipython-input-68-1ec17551d010> in <module>()

    ----> 1 line.center()

     

    TypeError: center() takes at least 1 argument (0 given)

     

    In [69]: #它至少接受一个参数

     

    In [70]: line.center(20)

    Out[70]: ' ASDFASDFEWSDF '

     

    In [71]: #它会把值居中,打印一个20个字符的字符串

     

    In [72]: line.center(20, '%')

    Out[72]: '%%%ASDFASDFEWSDF%%%%'

     

    In [73]: #它会填满。

     

    In [74]: print("\n本次“只读课堂”的python教程就到这了,欢迎继续收看!\n")

     

    本次“只读课堂”的python教程就到这了,欢迎继续收看!

    Processed: 0.014, SQL: 8