一、注释


为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样。

# 打印圆的周长:
print(2* pi* r)

在python 中用井号(#)表示注释。井号(#)右边的内容都会忽略。

二、字符串


1、单引号字符串和转义引号

>>> "Hello,world!"
'Hello,world!'
>>> 'Hello,world!'
'Hello,world!'

双引号和单引号的输出是一样的,没什么区别。

在特殊情况下,只能用单引号或只能用双引号,如:

>>> '"Hello,world!" she said'
'"Hello,world!" she said'
>>> "Let's go!"
"Let's go!"

可以使用反斜(\)对字符串进行转义

>>> "\"Hello,world!\" she said"
'"Hello,world!" she said'
>>> "Let\'s go!"
"Let's go!"

2、拼接字符串

加号(+)拼接字符串

>>> "Hello, "+"world!"
'Hello, world!'
>>> x="Hello, "
>>> y="world!"
>>> x+y
'Hello, world!'

3、字符串表示,str和repr

前面的例子读者可能注意到,所有通过python打印的字符串还是被引号括起来的。这是因为python打印值的时候会保持该值在python代码中的状态,而不是你希望 用户所看到的状态。如果用print语句,结果就不一样了:

>>> "Hello,world!"
'Hello,world!'
>>> print("Hello,world!")
Hello,world!

我们在这里讨论的实际上是值被转为字符的两种机制。可以通过以下两个函数来使用这两种机制:

>>> print(str("Hello,world!"))
Hello,world!
>>> print(repr("Hello,world!"))
'Hello,world!'

str()函数 ,它会把值转换为合理形式的字符串,以便用户可以理解;

repr()函数,它会创建一个字符串,它以合法的python表达式的形式来表示值。

4、长字符串

如果需要写一个非常非常长的字符串,它需要跨多行,那么,可以使用三个引号代替普通引号。

print('''This is a very long string.
It continues here.
And it's not over yet.
"Hello,world!"
Still here.''') This is a very long string.
It continues here.
And it's not over yet.
"Hello,world!"
Still here.

普通字符串也可以跨行。如果一行之中最后一个字符是反斜线,那么,换行符本身就“转义”了,也就是被忽略了。

>>> print("Hello, \
world!")
Hello, world!

这种方法也适用于表达式和语句

>>> 1+2+\
4+5 12
>>> print \
("Hello,world!") Hello,world!

5、原始字符串

我们来输出DOS路径:

>>> path="C:\nowhere
>>> print(path) C:
owhere

这并不是我想要的结果,我想输入的是一个路径,却被换行了。

>>> print('C:\\abc')

C:\abc
>>> print('C:\\Program Files\\fnord\\foo\\bar\\baz\\frozz\\bozz') C:\Program Files\fnord\foo\bar\baz\frozz\bozz

通反斜线(\)转义解决了路径问题,但如果路径太长就需要很多反斜线,很麻烦。

>>> print(r'C:\Program Files\fnord\fobarbaz\frozz\bozz')

C:\Program Files\fnord\fobarbaz\frozz\bozz
>>> print(r'Let\'s go!') Let\'s go!

原始字符串以r开头,原始字符串不会把反斜线当作特殊字符。但是最后一个字符不能是反斜线

>>> print(r'C:\Program Files\fnord\fobarbaz\frozz\bozz\')

SyntaxError: EOL while scanning string literal

需要用反斜线进行转义

>>> print(r'C:\Program Files\fnord\fobarbaz\frozz\bozz\\')

C:\Program Files\fnord\fobarbaz\frozz\bozz\\
>>> print(r'C:\Program Files\fnord\fobarbaz\frozz\bozz'+'\\') C:\Program Files\fnord\fobarbaz\frozz\bozz\

python3学习笔记(三):注释和字符串的更多相关文章

  1. python3学习笔记三(数字类型,字符串)

    数字(Number)类型 有四种类型:整数.布尔型.浮点数和复数 int整数 bool布尔,如True float浮点数,1.23 complex复数,1+2j.1.2+2.3j 内置的 type() ...

  2. 【Swift】学习笔记(三)——字符和字符串

    基本了解了变量的创建和基础数据类型,但是在开发中用得最多的还是字符串.那什么是字符串呢? Swift 的String类型表示特定序列的Character(字符) 类型值的集合,它是值类型具有可变性 S ...

  3. python3.4学习笔记(三) idle 清屏扩展插件

    python3.4学习笔记(三) idle 清屏扩展插件python idle 清屏问题的解决,使用python idle都会遇到一个常见而又懊恼的问题——要怎么清屏?在stackoverflow看到 ...

  4. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

  5. angular学习笔记(三十)-指令(2)-restrice,replace,template

    本篇主要讲解指令中的 restrict属性, replace属性, template属性 这三个属性 一. restrict: 字符串.定义指令在视图中的使用方式,一共有四种使用方式: 1. 元素: ...

  6. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  7. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

  8. Java IO学习笔记三

    Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...

  9. angular学习笔记(三十一)-$location(2)

    之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...

  10. angular学习笔记(三十一)-$location(1)

    本篇介绍angular中的$location服务的基本用法,下一篇介绍它的复杂的用法. $location服务的主要作用是用于获取当前url以及改变当前的url,并且存入历史记录. 一. 获取url的 ...

随机推荐

  1. PTA(Basic Level)1008.数组元素循环右移问题

    一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最 ...

  2. Ubuntu 19.04 下使用Remmina连接window服务器部署maven项目

    先将打包好的war包上传到tomcat的webapps目录下 如果配置了tomcat的虚拟路径,那就放进虚拟路径的webapps文件李 修改tomcat安装目录下的conf/server.xml文件 ...

  3. fiddler 不能抓包解决

    早上使用金山毒霸扫描了一遍电脑,然后打开fiddler后,出现了一个提示(当时没有注意看),直接点了确定,导致结果是不能抓包了,百度了很多方法,最后直接卸载金山毒霸,然后将防火墙还原为默认设置(风险不 ...

  4. Flask-wtf导入Regexp规则库验证手机号码合法性(测试通过)

    手机号码在项目有着很重要的地位,保证用户输入的号码准确无误就显得很关键. 废话不多说,现在页面中引入Regexp规则库: from wtforms.validators import Regexp 验 ...

  5. P2496 [SDOI2012]体育课

    传送门 分块 对每个块维护一个 $add$ 和 $del$ 标记,对于块 $o$ 内某个位置 $i$,它真实的修改量为 $a[i]+add[o]*i-del[o]$ 这样就可以维护一个区间加一个等差数 ...

  6. 使用python的kazoo模块连接zookeeper实现最基本的增删改查

    kazoo的官方文档地址:https://kazoo.readthedocs.io/en/latest/index.html #!/usr/bin/env python # -*- coding: u ...

  7. PHP foreach 引用 &

    以前用foreach,总喜欢在第二次遍历时改变value的拼写,比如 $x = array("a", "b", "c"); foreach ...

  8. 深入理解java虚拟机(3)垃圾收集器与内存分配策略

    一.根搜索算法: (1)定义:通过一系列名为"GC Roots"的对象作为起点,从这些起点开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连的时 ...

  9. 动态代理之JDK 和 CGLIB

    方式一:jdk动态代理 通过proxy类的newProxyInstance(ClassLoader loader, Class<?>[] interfaces,InvocationHand ...

  10. Django学习系列2:django环境中安装selenium并查看selenium版本号

    在Django环境中安装selenium (django) root@ranxf-TEST:/studydisk/Python_web_TDD/superlists# conda install se ...