您的位置:首页 > 编程语言 > Python开发

1.数的运算、模块导入、转义拼接【python基础教程第三版 笔记】

2019-03-02 21:07 190 查看

数的运算

整除运算

丢弃小数部分,可使用双斜杠//。

>>>1 // 2
0
>>>1 // 1
1
>>>5.0 // 2.4
2.0
>>>10 // -3
-4
>>>-10 // 3
-4
>>> -10 // -3
3

如果使用的是python 2.x 进行除法,要在开头添加:

>>> from _future_ import division

求余(求模)运算%

x%y等价于 x-((x // y)*y)

>>> 10 % 3
1
>>>9 % 3
0
>>>2.75 % 0.5
0.25
>>>10 % -3
-2
>>>-10 % 3
2
>>>-10 % -3
-1

乘方(求幂)运算

>>>2 ** 3
8
>>>-3 ** 2
-9
>>>(-3) ** 2
9

或者

>>>pow(2,3)
8

十六进制0x,八进制0o,二进制0b。

>>>0xAF
175
>>>0o10
8
>>>0b1011010010
722

变量

使用python变量前必须赋值,python变量没有默认值。
变量名(标识符):字母、数字、下划线组成,不能数字开头。

语句

根本特征:执行修改操作
如赋值语句修改变量,print修改屏幕

在python2.x中,print是一条语句,无需将要打印的内容作为参数放在括号中。

input 获取用户输入
if 条件:执行语句

函数

内置函数
pow(x,y[,z])(x的y次方对z求模),round(取最接近的整数,相等距离取偶数)
bytes(string,encoding[,errors])(对指定字符串进行编码,并以指定方式处理错误)

两种模块导入方法

1 import导入模块,module.function使用函数

>>>import math
>>>math.floor(32.9)
32

2 from module import function

>>>from math import sqrt
>>>sqrt(9)\
3

可使用变量来引用函数,简化代码

foo = math.sqrt
foo(4)
相当于math.sqrt(4)

cmath和复数

复数=实部+虚部
python没有专门的虚数定义,把虚数看成实部为零的复数。
复数虚数运算定义:-1的平方根为1j

>>>(1 + 3j)* (9 + 4j)
(-3 + 31j)

当sqrt用于负数时,其结果为复数,用math中的sqrt会报错

>>>from math import sqrt
>>>sqrt(-1)
ValueError: math domain error
或
nan(非数值)

改用cmath中的sqrt:

>>>import cmath
>>>cmath.sqrt(-1)
1j

*如果使用了from…import…这种模块导入法导入cmath中的sqrt,math中的常规函数sqrt将无法使用,还有很多类似的隐形冲突,所以尽量用import function这种导入方法。

几种字符转义方法

1.巧用单双引号,当句子中有‘ ’时,最外围用“”,反之亦然。
2.反斜杠 ’\ ‘
>>>"\"hello,world!\",she said"
'"hello,world!",she said'
3.特殊拼接字符串
>>>"let's say" ' "hello,world" '
'let\'s say "hello,world" '
4.通用拼接字符串
>>>"hello," + "world"
'hello,world'
使用print和不使用print的区别
>>>"hello,world!"
'hello,world!'
>>>print("hello,world!")
hello,world!

加入换行符比较:

>>>"hello,\nworld!"
'hello,\nworld!'
>>>print("hello,\nworld!")
hello,
world!
使用repr和str的区别

repr:获得值的合法python表达式
str:以合理方式转换为用户看得懂的字符串

>>>print(repr("hello,\nworld"))
'hello,\nworld'(相当于去掉print的情况)
>>>print(str("hello,\nworld!"))
hello,
world
5.长字符串

表示跨越多行的字符串,可使用三引号"""或’’’

>>>print("""hioafi'hpoa,ef
af"earf"fa
wE'Fef""")

长字符串中可以包括" "和' ',无需反斜杠转义。

常规字符串也可以跨越多行,只要结尾加上‘\’

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

这在表达式和语句中同样适用:

>>>1+2+\
4+5
12
>>>print \
("hello,world!")
hello,world
6.原始字符串r
>>>path = 'C:\nowhere'
>>>path
C:\nowhere

>>>print(path)
C:
owhere

这个例子加上反斜杠转义就能解决

但是如果路径特别长,岂不是要加大量的反斜杠?

这种情况,可以使用原始字符串r:

原始字符串不会对反斜杠进行处理,而是每个字符都保持原样。原始字符串可以用单、双或者三引号括起来。

>>>print(r'C:\nowhere')
C:\nowhere
>>>print(r"C:\Program Files\fnord\foo\bar\baz\frozz\bazz")
C:\Program Files\fnord\foo\bar\baz\frozz\bazz

*原始字符串不能以单个反斜杠结尾

>>>print(r"hello\")
SyntaxErroe: EOL while scanning string literal

最后的引号被转义,引号不成对
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: