当前位置: 首页 > news >正文

自学python——第二天:)

        Python自学网站:Python 教程 — Python 3.13.2 文档

        首先,我们先复习上节课的重点内容:

        交互模式下,上次输出的表达式会赋给变量_。把Python 当作计算器时,用该变量实现下一步计算更简单,例如:

tax = 12.5 / 100

>>> price = 100.50

>>> price * tax

12.5625

>>> price + _

113.0625

>>> round(_, 2)

113.06

        

        最好把该变量当作只读类型。不要为它显式赋值,否则会创建一个同名独立局部变量,该变量会用它的魔法行为屏蔽内置变量。

        除了int 和 float,Python 还支持其他数字类型,例如 Decimal 或 Fraction。Python 还内置支持 复数,后缀 j 或 J 用于表示虚数(例如 3+5j )。

        此类代码需要好好掌握,每天都要将上节课的内容观看和复习。

        其中,会用绿色标出一些未知单词和一些语句(如,if语句等),红色我会标出一些重点内容,接下来是今天学习的笔记:

        

         

        接下来是我对本单元每段代码的解读和理解:

        今天我们学习的是 “3.12文本”  

        3.12.文本

      除了数字 Python 还可以操作文本(由 str 类型表示,称为“字符串”)。 这包括字符 "!", 单词 "rabbit", 名称 "Paris", 句子 "Got your back." 等等. "Yay! :)"。 它们可以用成对的单引号 ('...') 或双引号 ("...") 来标示,结果完全相同 [2]

'spam eggs'  # single quotes

'spam eggs'

>>> "Paris rabbit got your back :)! Yay!"  # double quotes

'Paris rabbit got your back :)! Yay!'

>>> '1975'  # digits and numerals enclosed in quotes are also strings

'1975'

        要标示引号本身,我们需要对它进行“转义”,即在前面加一个 \。 或者,我们也可以使用不同类型的引号:

'doesn\'t'  # 使用 \' 来转义单引号...

"doesn't"

>>> "doesn't"  # ...或者改用双引号

"doesn't"

>>> '"Yes," they said.'

'"Yes," they said.'

>>> "\"Yes,\" they said."

'"Yes," they said.'

>>> '"Isn\'t," they said.'

'"Isn\'t," they said.'

        这个难以理解,可以多看两次,慢慢理解。

        在 Python shell 中,字符串定义和输出字符串看起来可能不同。 print() 函数会略去标示用的引号,并打印经过转义的特殊字符,产生更为易读的输出:

s = 'First line.\nSecond line.'  # \n 表示换行符

>>> s  # 不用 print(),特殊字符将包括在字符串中

'First line.\nSecond line.'

>>> print(s)  # 用 print(),特殊字符会被转写,因此 \n 将产生一个新行

First line.

Second line.

        

        理解:print(  )函数会略去标出用的引号,并打印经过转义的特殊字符,产生更为易读的输出,不懂的话可以多去看看代码旁边的标识。

        如果不希望前置\ 的字符转义成特殊字符,可以使用 原始字符串,在引号前添加 r 即可:

print('C:\some\name')  # 这里 \n 表示换行符!

C:\some

ame

>>> print(r'C:\some\name')  # 请注意引号前的 r

C:\some\name

        

        翻译:第一行代码 Print(‘ c :\some \n ame 系统错误的将 \name 认为 \n ame,所以第二行代码会错误生成如上图所示。

        原始字符串还有一个微妙的限制:一个原始字符串不能以奇数个 \ 字符结束;请参阅 此 FAQ 条目 了解更多信息及绕过的办法。

        绕过方法如下:

        以奇数个反斜杠结尾的原始字符串将会转义用于标记字符串的引号:

r'C:\this\will\not\work\'

  File "<stdin>", line 1

    r'C:\this\will\not\work\'

         ^

SyntaxError: unterminated string literal (detected at line 1)

        最后一句代码翻译为:语法错误,未终止的字符串字面量

        有几种绕过此问题的办法。 其中之一是使用常规字符串以及双反斜杠:

C:\\this\\will\\work\\'

'C:\\this\\will\\work\\'

        另一种办法是将一个包含被转义反斜杠的常规字符串拼接到原始字符串上:

r'C:\this\will\work' '\\'

'C:\\this\\will\\work\\'

        观察上述代码,系统会自动地改正代码

        请注意虽然在确定原始字符串的结束位置时反斜杠会对引号进行“转义“,但在解析原始字符串的值时并不会发生转义。 也就是说,反斜杠会被保留在原始字符串的值中:

r'backslash\'preserved'

"backslash\\'preserved"

        字符串字面值可以跨越多行。 一种做法是使用三重引号: """...""" 或 '''...'''。 行结束符会自动包括在字符串中,但可以通过在行尾添加 \ 来避免此行为。 在下面的例子中,开头的换行符将不会被包括:

print("""\

... Usage: thingy [OPTIONS]

...      -h                        Display this usage message

...      -H hostname               Hostname to connect to

... """)

Usage: thingy [OPTIONS]

     -h                        Display this usage message

     -H hostname               Hostname to connect to

>>>

        在第一行中,用过引用多行代码字符,来进行作业。

        字符串可以用 + 合并(粘到一起),也可以用 * 重复:

# 3 乘以 'un',再加 'ium'

>>> 3 * 'un' + 'ium'

'unununium'

        第二行代码可以解释为:3 * 'un'= ununun + ium

        相邻的两个或多个 字符串字面值 (引号标注的字符)会自动合并:

'Py' 'thon'

'Python'

        拼接分隔开的长字符串时,这个功能特别实用:

text = ('Put several strings within parentheses '

...         'to have them joined together.')

>>> text

'Put several strings within parentheses to have them joined together.

        今天我们展示的内容有限,期待我们的下一次相遇,坚持总是痛苦的,而坚持下来的结果不会让你失望,加油。             

相关文章:

  • AI大模型交付业务起势,亚信科技书写AI时代的转型样本
  • 游戏引擎学习第170天
  • 数据结构中的引用管理对象体系
  • ESP8266 与 ARM7 接口-LPC2148 创建 Web 服务器以控制 LED
  • Starrocks 命令 Alter table DISTRIBUTED 重分布数据的实现
  • 2025年全国铁路线路及站点(矢量shp数据)
  • C++多线程
  • 设计模式之代理模式:原理、实现与应用
  • IntelliJ IDEA新建文件配置作者信息、日期和描述等
  • FSC森林认证证书应用场景
  • python 数据可视化matplotib库安装与使用
  • 如何破解集运企业的劳动密集型困局,提高人效?
  • 10、STL中的unordered_map使用方法
  • Docker 离线安装教程
  • 2025-gazebo配置on vmware,wsl
  • 【练习】PAT 乙 1081 检查密码
  • 【Golang那些事】go1.22和1.23 更新重点及测评
  • nginx性能优化有哪些方式?
  • OpenNJet:下一代云原生应用引擎,支持动态配置与高效管理,简化运维任务,提升应用灵活性与安全性。
  • Sring Boot整合Minio实现图片上传功能
  • 金正恩观摩朝鲜人民军各兵种战术综合训练
  • 技术派|更强的带刀侍卫:从054B型战舰谈谈世界护卫舰发展
  • 人民网评:守护健康证的“健康”,才有舌尖上的安全
  • 特朗普将启的中东行会如何影响伊美核谈判?专家分析
  • 气象干旱黄色预警继续:陕西西南部、河南西南部等地特旱
  • “毛茸茸”的画,诗意、温暖又治愈