开始学习Python了,入手一本《Python基础教程(第3版)》学习,这是第一章的摘抄笔记。
1、除法运算的结果为小数,即浮点数(float | floating-point number)。如果要丢弃小数部分,即执行整除运算,可使用整除运算,可使用双斜杠,整除是向下取整。
>>> 1 / 1
1.0
>>> 1 // 1
1
>>> -10 // 3
-4
2、求余(求模)运算符为%,x % y
的结果是x除以y的余数,即执行整除时余下的部分。x % y
等价于x - ((x // y) * y)
。
>>> 10 // 3
3
>>> 10 % 3
1
>>> 2.75 % 0.5
0.25
>>> -10 % 3
-2
3、乘方运算符为**
,乘方运算符的优先级比求负(单目减)高,因此-3**2
等价于-(3**2)
。
4、十六进制、八进制和二进制在pyhton中的表示方式不同,但都以0打头。
>>> 0xAF # 十六进制
175
>>> 010 # 八进制
8
>>> 0b1011010010 # 二进制
722
5、变量是表示(或指向)特定值的名称。把值3赋值给x,就将其关联起来,赋值之后就可以在表达式中使用它。Python中的名称(标识符)只能由字母、数字和下划线组成,且不能以数字打头。
>>> x = 3
>>> x * 2
6
6、表达式是一些东西,而语句做一些事情。表达式和语句行为很像,但是界线可能并非那么明确,实际编程过程中也没有太在意这种概念上的区别。例如:2 * 2
的结果是4,而print(2 * 2)
打印4。
获取用户输入可以通过input函数
x = input('The meaning of life: ')
print(x) # 字符串
y = int(x)
print(y) # 整数
7、函数犹如小型程序用以执行特定的操作,Python自身提供了很多函数(内置函数),也可以自己编写函数。内置函数例如:abs计算绝对值,round将浮点数圆整为与之最接近(四舍五入,如果为5则舍入到偶数)的整数,如果知道一个浮点数需要将它向下圆整,则需要用到math模块的floor函数。
>>> abs(-10)
10
>>> 2 // 3
0
>>> round(2 / 3)
1
8、模块可以理解为扩展,通过将其导入可以扩展Python功能,使用import导入模块,再以module.function的方式使用模块中的函数。使用import的变种from module import function
可在调用函数时不指定模块前缀,当然也可以用变量来引用模块的函数:foo = math.floor; foo(22.5)
。
>>> import math
>>> from math import sqrt
>>> math.ceil(32.3) # 向上圆整
33
>>> math.ceil(32)
32
>>> math.floor(32.3) # 向下圆整
32
>>> math.floor(32)
32
>>> sqrt(9)
3.0
9、math模块中的sqrt方法如果传入负数会出现报错或者结果为nan
。因为负数的平方根为虚数,而实部和虚部组成的数为复数。Python标准库提供了一个专门处理复数的模块——cmath
。
>>> import cmath
>>> math.sqrt(-1)
1j
10、趣味模块:海龟绘图法, 能够通过调用方法来在新窗口中控制箭头(画笔)留下运动轨迹,来画出图形,比如三角形。
>>> from turtle import *
>>> forward(120) # 向前移动120并画线
>>> left(120) # 旋转120角度
>>> forward(100) # 向前移动100并画线
>>> left(120) # 旋转120角度
>>> forward(100) # 向前移动100并画线
11、如果将程序以文件保存,需要将文件名后缀设置为.py
,为了保证中文能够识别需要将编码设置为utf-8
, 为了让脚本像普通程序一样,可以在文件首行以#!
开头来指定用于对脚本进行解释的程序的绝对路径。所以一般的文件名头部为以下所示:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
print('Hello Python!')
12、从命令行运行python程序的命令为:python hello.py
13、注释用# 这是注释
的格式标注,注释能够有效帮助理解代码。但是任何情况下,都应保证代码即使没有注释也应该易于理解。
14、Python中可以使用单引号和双引号来括起字符串。当单引号里面存在单引号的情况可以考虑转义。
>>> "Hello " + 'World'
'Hello World'
>>> 'Let\'s go!'
"Let's go!"
15、通用的字符串拼接方式应该是使用加号+
连接。
16、使用repr函数能使打印出来的字符串是Python的合法表达式表示,比如带有引号;而str函数会以合理的方式将值转换为用户能够看懂的字符串。
>>> print(repr("Hello,\nworld!"))
'Hello,\nworld!'
>>> print(str("Hello,\nworld!"))
Hello,
world!
17、要表示很长的字符串(跨越多行的字符串),可使用三引号(而不是普通引号),三个双引号也可以,字符串中也可以包含单引号双引号,无需使用反斜杠进行转义。
str1 = '''This is a very long string.
And it's not over yet.
Still here.'''
str2 = """Like this"""
18、原始字符串中不会对反斜杠做特殊处理,而是让原始字符串中包含的每个字符都保持原样,原始字符串用前缀r
开头。例外:引号需要像通常情况那样进行转义,但这意味着用于执行转义的反斜杠也将包含在字符串中。注意:原始字符串不能以单个反斜杠结尾。
>>> print('C:\nowhere')
>>> print(r'Let\'s go!')
Let\'s go!