Python基础教程(第3版) 笔记(三)
1.9.1让脚本像普通程序一样
在UNIX中运行脚本,只需将下面的代码作为脚本的第一行, 就可在UNIX中轻松运行脚本:
#!/usr/bin/env python
要像普通程序一样运行脚本,还必须将其变成可执行的:
$ chmod a+x hello.py
现在,可以像下面这样来运行它(假定当前目录包含在执行路径中):
$ hello.py
如果这不管用,请尝试使用./hello.py
如何学会双击
当双击保存的文件hello.py,程序窗口会立即关闭,根本来不及看清结果,。这是因为程序结束后窗口将立即关闭。尝试修改脚本,在末尾添加如下代码行:
input("Press <enter>")
运行后按回车键后,窗口将会立即关闭,因为程序结束了。
1.9.2注释
井号(#),在代码中,井号后面的所有内容都将被忽略
例:#打印圆的周长
print(2*pi*radius)
注释是为了让人能够轻易的读懂,有些没有必要的注释就不用标出
1.10.1单引号字符串以及对引号转义
>>>"Hello,world!"
'Hello,world!'
这里使用的单引号与双引号是一样的,因为第一个字符串包含一个单引号(就这里而言,可能称之为撇号更合适),因 此不能用单引号将整个字符串括起,否则解释器将报错
>>> 'Let's go!'
SyntaxError: invalid syntax
字符串为'Let',因此Python不知道如何处理后面的s(更准确地说是当前行余下的 内容)
>>> '"Hello, world!" she said'
'"Hello, world!" she said'
字符串包含双引号,因此必须使用单引号将整个字符串括起,原因和前面一样。实 际上,并非必须这样做(这样做只是出于方便考虑)。
>>> 'Let\'s go!'
"Let's go!"
可使用反斜杠(\)对引号进行转义
>>> "\"Hello, world!\" she said"
'"Hello, world!" she said'
例如,在字符串同时包含单引号和双引号(如'Let\'s say "Hello, world!"')时,如果不使用反斜杠进行转义,可通过使用长字符串和原始字 符串(可结合使用这两种字符串)来避免使用反斜杠。
1.10.2 拼接字符串
>>> "Let's say " '"Hello, world!"'
'Let\'s say "Hello, world!"'
下面将他们相加:
>>> "Hello, " + "world!"
'Hello, world!'
>>> x = "Hello, "
>>> y = "world!"
>>> x + y
'Hello, world!'
1.10.3 字符串表示 str 和 repr
保留其在代码中的样子,而不是你希望用户看到的样子。但如果你使用 print,结果将不同。
>>> "Hello, world!"
'Hello, world!'
>>> print("Hello, world!")
Hello, world!
如果再加上表示换行符的编码\n,差别将更明显。
>>> "Hello,\nworld!"
'Hello,\nworld!'
>>> print("Hello,\nworld!")
Hello,
world!
使用函数str和repr
>>>print(repr("Hello,\nworld!")) 保留代码的样子
'Hello,\nworld!'
>>>print(str("Hello,\nworld!")) 转换为用户可视化
Hello,
world!
1.10.4 长字符串、原始字符串和字节
1.长字符串
使用三引号,或使用三个双引号
>>>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
2.原始字符串
方法①>>> print('C:\\nowhere')
C:\nowhere
方法②>>> print(r'C:\nowhere')
C:\nowhere
>>> print(r'Let\'s go!')
Let\'s go!
>>> print(r'C:\Program Files\foo\bar' '\\') (请注意,指定原始字符串时,可使用单引号或双引号将其括起,还可使用三引号将其括起。)
C:\Program Files\foo\bar\
3. Unicode、bytes和bytearray
1.11小结
函 数 描 述
abs(number) 返回指定数的绝对值
bytes(string, encoding[, errors]) 对指定的字符串进行编码,并以指定的方式处理错误
cmath.sqrt(number) 返回平方根;可用于负数
float(object) 将字符串或数字转换为浮点数
help([object]) 提供交互式帮助
input(prompt) 以字符串的方式获取用户输入
int(object) 将字符串或数转换为整数
math.ceil(number) 以浮点数的方式返回向上圆整的结果
math.floor(number) 以浮点数的方式返回向下圆整的结果
math.sqrt(number) 返回平方根;不能用于负数
pow(x, y[, z]) 返回x的y次方对z求模的结果
print(object, ...) 将提供的实参打印出来,并用空格分隔
repr(object) 返回指定值的字符串表示
round(number[, ndigits]) 四舍五入为指定的精度,正好为5时舍入到偶数
str(object) 将指定的值转换为字符串。用于转换bytes时,可指定编码和错误处理方式
Python基础教程(第3版) 笔记(三)的更多相关文章
- Python基础教程(第3版) 笔记(二)
1.8模块Python提供了完成(某人的年 龄为32.9,并想将这个值向下圆整为32,因为他还没有满33岁)这种任务的函 数floor.导入模块,可以使用特殊命令import.函数floor包含在模块 ...
- Python基础教程(第3版) 笔记(一)
1.1 数和表达式: 除法运算的结果为小数,即浮点数 >>>1/2 0.5 除法运算为整数,使用双斜杠 >>>1//2 0 >>>5.0//2.4 ...
- 《python基础教程(第二版)》学习笔记 列表/元组(第2章)
<python基础教程(第二版)>学习笔记 列表/元组(第2章)序列中的下标从0开始x='ABC' ==> x[0]='A', x[1]='B', x[2]='C'负数索引从右边开始 ...
- 《python基础教程(第二版)》学习笔记 文件和素材(第11章)
<python基础教程(第二版)>学习笔记 文件和素材(第11章) 打开文件:open(filename[,mode[,buffering]]) mode是读写文件的模式f=open(r' ...
- 《python基础教程(第二版)》学习笔记 类和对象(第7章)
<python基础教程(第二版)>学习笔记 类和对象(第7章) 定义类class Person: def setName(self,name): self.name=n ...
- 《python基础教程(第二版)》学习笔记 函数(第6章)
<python基础教程(第二版)>学习笔记 函数(第6章) 创建函数:def function_name(params): block return values 记录函数:def f ...
- 《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)
<python基础教程(第二版)>学习笔记 语句/循环/条件(第5章) print 'AB', 123 ==> AB 123 # 插入了一个空格print 'AB', 'CD' == ...
- 《python基础教程(第二版)》学习笔记 字典(第4章)
<python基础教程(第二版)>学习笔记 字典(第4章)创建字典:d={'key1':'value1','key2':'value2'}lst=[('key1','value1'),(' ...
- 《python基础教程(第二版)》学习笔记 字符串(第3章)
<python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:格式化输出字符 ...
随机推荐
- DOM 节点node
DOM可以将任何HTML或XML文档描绘成一个有多层节点构成的结构,即在HTML中所有内容都是节点.文档节点是每个文档的根节点,文档节点有一个子节点,称为文档元素.每个文档只能有一个文档元素.在HTM ...
- Failed to connect to /127.0.0.1:8080
参考 https://blog.csdn.net/qq_36523667/article/details/78823065 127.0.0.1为虚拟机的地址,需要将地址改为本机实际地址 ipconf ...
- Django的rest_framework的视图之基于通用类编写视图源码解析
我们上一篇博客讲解了如何使用mixins类实现rest_framework的视图,但是其中有很多的冗余的代码,我们这边在来优化一下 1.queryset的视图函数 首先看下对queryset操作的视图 ...
- 安装Ubuntu 18.04后的一些操作
安装Ubuntu 18.04后的一些操作 1.设置root密码 sudo passwd 2.登陆root(输入密码后看到井号就是切换成为root账户) su 3.删除预装 apt-get remove ...
- stark组件开发之添加功能实现
添加功能,还是使用, form 组件来完成! 并且 完成添加之后,需要保留原搜索条件. def memory_url(self): '''用于反向生成url, 并且携带,get请求的参数,跳转到下一 ...
- mysql 递归查找菜单节点的所有子节点
背景 ...
- dbus 消息和消息总线实例讲解-一
应用程序A和消息总线连接,这个连接获取了一个众所周知的公共名(记作连接A).应用程序A中有对象A1提供了接口I1,接口I1有方法M1. 应用程序B和消息总线连接,要求调用连接A上对象A1的接口I1的方 ...
- [Machine Learning] some concept about the CV
Cross-validation VS SSE CV is not designed to improve the fit on the training data, but it won't nec ...
- Chapter3_操作符_直接常量和指数计数法
(1)直接常量 在程序中使用直接常量,相当于指导编译器,告诉它要生成什么样的类型,这样就不会产生模棱两可的情况.比如flaot a = 1f等,后缀表示告诉编译器想生成的类型.常用的后缀有l/L(lo ...
- 顺序栈的基本操作(C语言)
由于现在只学了C语言所以就写这个C语言版的栈的基本操作 这里说一下 :网上和书上都有这种写法 int InitStack(SqStack &p) &p是取地址 但是这种用法好像C并不 ...