Python教程01_基础知识

目录

1.1 交互式解释器

1.1.1 第一个Python程序

1.1.2 关于简单语法

1.2 算法是什么

1.2.1 生活中的算法

1.3 数和表达式

1.3.1 Python的四则运算(加减乘除余)

1.3.2 除法商取整

1.3.3 乘方运算(求幂)

1.3.4 进制转换

1.4 变量

1.5 语句

1.6 获取用户输入

1.7 函数

1.8 模块

1.8.1 实数与虚数

1.9 保存并执行程序

1.9.1 从命令提示符运行Python脚本

1.9.2 让脚本像普通程序一样

1.9.3 注释

1.10 字符串

1.10.1 单引号字符串以及对引号转义

1.10.2 拼接字符串

1.10.3 字符串表示str和repr

1.10.4 长字符串、原始字符串和字节

1.11 小结

1.11.1 相关概念

1.11.2 几个函数


1.1 交互式解释器

1.1.1 第一个Python程序

>>> print("Hello World!")
Hello World!

 

1.1.2 关于简单语法

>>>是提示符,可在它后面输入一些内容

如果你输入print("Hello, world!")并按回车键,Python解释器将打印字符串"Hello, world!",然后再次显示提示符。

如果输入不符合语法

解释器没有看懂1(如果你运行的不是IDLE,而是Linux命令行解释器,错误消息可能稍有不同)。解释器还指出了问题出在什么地方:使用红色背景色(在命令行解释器中,使用的是脱字符号^)突出单词Spanish。

>>> hello world
  File "<stdin>", line 1
    hello world
              ^
SyntaxError: invalid syntax

注意:

invalid 无效; Syntax 语法

如果你熟悉其他计算机语言,可能习惯了在每行末尾都加上分号。在Python中无需这样做,因为在Python中,一行就是一行。

 

 

1.2 算法是什么

算法只不过是流程或菜谱的时髦说法,详尽地描述了如何完成某项任务。

1.2.1 生活中的算法

鸡蛋火腿肠:先取一些火腿肠。

再加些火腿肠和鸡蛋。

如果喜欢吃辣,加些辣味火腿肠。

煮熟为止。记得每隔10分钟检查一次。

它由一系列必须按顺序执行的操作说明组成,其中有些可直接完成(取些火腿肠),有些需要特别注意(如果喜欢吃辣),还有一些需要重复多次(每隔10分钟检查一次)。

菜谱和算法都由原料(对象)和操作说明(语句)组成。在这个示例中,火腿肠和鸡蛋是原料,而操作说明包括添加火腿肠、烹饪指定的时间等。

 

 

1.3 数和表达式

1.3.1 Python的四则运算(加减乘除余)

Python支持四则远算,且能判断优先级

Python默认运算结果为浮点数(float,floating-point number)

>>> 1.2+3.4
4.6
>>> 1+2*3
7
>>> (1+2)*3
9
>>> 1/2
0.5
>>> 1/3
0.3333333333333333
>>> 7%3
1

 

1.3.2 除法商取整

如果要丢弃小数部分,执行取整运算,可使用双斜杆

>>> 7/3
2.3333333333333335
>>> 7//3
2

对于整除运算,需要明白的一个重点是它向下圆整结果。因此在结果为负数的情况下,圆整后将离0更远。这意味着对于-10 // 3,将向下圆整到-4,而不是向上圆整到-3。

>>> 10//3
3
>>> 10//-3
-4
>>> -10//3
-4
>>> -10//-3
3

 

1.3.3 乘方运算(求幂)

>>> 2**3
8
>>> 3**3
27
>>> 2**0.5
1.4142135623730951

1.3.4 进制转换

2进制:满2进1   , 0b10

8进制:满8进1   , 0o10

10进制:满10进1  , 10

16进制:满16进1  , 0x10

>>> 0b10
2
>>> 0o10
8
>>> 10
10
>>> 0x10
16

bin()  转2进制方法

oct()  转8进制方法

int()   转10进制方法

hex()  转16进制方法

>>> bin(2)
'0b10'
>>> oct(8)
'0o10'
>>> int(10)
10
>>> hex(16)
'0x10'

 

 

1.4 变量

变量:表示(或指向)特定值的名称。

赋值:将变量x与值(或对象)关联起来。给变量赋值后,就可在表达式中使用它。

变量名命名规则:只能由字母、数字和下划线(_)构成,且不能以数字打头。

注意:不同于其他一些语言,使用Python变量前必须给它赋值,因为Python变量没有默认值。

>>> x=10
>>> y=3
>>> x+y
13
>>> x-y
7
>>> x*y
30
>>> x/y
3.3333333333333335
>>> x%y
1
>>> x//y
3

 

 

1.5 语句

表达式和语句

表达式是一些东西,而语句做一些事情。

>>> #表达式
... 2*2
4
>>> #语句
... print(2*2)
4

注意:这个表达式确实会执行一些操作:计算2和2的乘积。但既不会将结果保存起来,也不会向用户显示它。因此除执行计算外,没有其他任何作用。

 

 

1.6 获取用户输入

这个数被input(以文本或字符串的方式)返回,并在最后一行被自动打印出来。通过使用int将字符串转换为整数。

>>> x=input("x: ")
x: 12
>>> y=input("y: ")
y: 34
>>> print(int(x)+int(y))
46

 

1.7 函数

pow(x, y) 返回x的y次幂

abs(x) 返回x的绝对值

round(x,y) 返回x保留y位小数

math.floor(x) 返回向下取整

math.ceil(x) 返回向上取整

>>> pow(2,3)
8
>>> abs(-6.54321)
6.54321
>>> round(3.14159265354,2)
3.14
>>> round(3.56)
4
>>> import math
>>> math.floor(3.56)
3
>>> math.ceil(3.56)
4

 

 

1.8 模块

可将模块视为扩展,通过将其导入可以扩展Python功能。要导入模块,可使用特殊命令import。

>>> #清空屏幕
>>> import os
>>> os.system('cls')

工作原理:我们使用import导入模块,再以module.function的方式使用模块中的函数。

如果确定不会从不同模块导入多个同名函数,你可能不想每次调用函数时都指定模块名。在这种情况下,可使用命令import的如下变种:

>>> import math
>>> math.sqrt(9)
3.0
>>> from math import sqrt
>>> sqrt(9)
3.0

通过使用命令import的变种from module import function,可在调用函数时不指定模块前缀。

注意:可使用变量来引用函数(以及其他大部分Python元素)。执行赋值语句foo = math.sqrt后,就可使用foo来计算平方根。例如,foo(4)的结果为2.0。

 

1.8.1 实数与虚数

math 处理实数相关计算

cmath 处理虚数相关计算

>>> import math
>>> math.sqrt(-1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: math domain error

>>> import cmath
>>> cmath.sqrt(-1)
1j
>>> cmath.sqrt(2)
(1.4142135623730951+0j)

注意:1j是个虚数,虚数都以j(或J)结尾。复数算术运算都基于如下定义:-1的平方根为1j。

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

 

 

1.9 保存并执行程序

序号

动作

操作路径

备注

1

新建

【File】——【New File】

 

2

保存

【File】——【Save】

尾缀名为*.py

3

打开

【File】——【Open】

 

4

执行

【Run】——【Run Module】

 

注意:推荐使用IDLE

IDLE:是Python软件包自带的一个集成开发环境,初学者可以利用它方便地创建、运行、测试和调试Python程序。

 

name=input("What is your name?\n")
print("Hello,"+name+"!")

>>>What is your name?
Tony
Hello,Tony!
#强大的海龟绘图法
from turtle import *
forward(100)
left(120)
forward(100)
left(120)
forward(100)

 

 

 

1.9.1 从命令提示符运行Python脚本

在Windows系统中

C:\>python hello.py

在Unix系统中

$ python hello.py

 

1.9.2 让脚本像普通程序一样

在Windows中,扩展名.py是让脚本像普通程序一样的关键所在。请尝试双击前一节保存的文件hello.py。如果正确地安装了Python,这将打开一个DOS窗口,其中包含提示信息What is your name?。

然而,这样运行程序存在一个问题:输入名字后,程序窗口将立即关闭,你根本来不及看清结果。这是因为程序结束后窗口将立即关闭。尝试修改脚本,在末尾添加如下代码行:

name=input("What is your name?\n")
print("Hello,"+name+"!")
input("press<enter>")

What is your name?
Tony
Hello,Tony!
press<enter>

 

1.9.3 注释

单行注释:井号(#),右边的任何数据都会被忽略

批量多行注释:''' ”””

 

 

1.10 字符串

1.10.1 单引号字符串以及对引号转义

>>> print("Hello World")
>>> print('Hello World')
>>> print("Let's go!")
>>> print('Let\'s go!')

Hello World
Hello World
Let's go!
Let's go!

>>> print(‘Let's go')
  File "<stdin>", line 1
    print(‘Let's go')
             ^
SyntaxError: invalid character in identifier

注意:第二个字符串包含双引号,因此必须使用单引号将整个字符串括起,原因和前面一样。实际上,并非必须这样做(这样做只是出于方便考虑)。可使用反斜杠(\)对引号进行转义

 

1.10.2 拼接字符串

>>> x="Hello"
>>> y="World"
>>> x y
  File "<stdin>", line 1
    x y
      ^
SyntaxError: invalid syntax
>>> x+y
'HelloWorld'

 

1.10.3 字符串表示str和repr

>>> "Hello World"
'Hello World'
>>> print("Hello World")
Hello World

使用str能以合理的方式将值转换为用户能够看懂的字符串

使用repr时,通常会获得值的合法Python表达式表示

>>> "Hello \n World"
'Hello \n World'
>>> print("Hello \n World")
Hello
 World
>>>
>>> print(repr("Hello \n World!"))
'Hello \n World!'
>>> print(str("Hello \n World!"))
Hello
 World!

 

1.10.4 长字符串、原始字符串和字节

(1)长字符串

要表示很长的字符串(跨越多行的字符串),可使用三引号(而不是普通引号)。

还可使用三个双引号,如"""like this"""。请注意,这让解释器能够识别表示字符串开始和结束位置的引号,因此字符串本身可包含单引号和双引号,无需使用反斜杠进行转义。

常规字符串也可横跨多行。只要在行尾加上反斜杠,反斜杠和换行符将被转义,即被忽略。

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

运行结果

This is a long string. It continues here.
And it's not over yet.
"Hello World!"
Still here.

(2)原始字符串

原始字符串不以特殊方式处理反斜杠,因此在有些情况下很有用。在常规字符串中,反斜杠扮演着特殊角色:它对字符进行转义,让你能够在字符串中包含原本无法包含的字符。

(3)Unicode、bytes和bytearray

Python字符串使用Unicode编码来表示文本。

大致而言,每个Unicode字符都用一个码点(code point)表示,而码点是Unicode标准给每个字符指定的数字。

指定Unicode字符的通用机制:使用16或32位的十六进制字面量(分别加上前缀\u或\U)或者使用字符的Unicode名称

在内存和磁盘中,所有对象都是以二进制数字(0和1)表示的(这些数字每8个为一组,即1字节)

>>> len("How long is this?".encode("UTF-8"))
17
>>> len("How long is this?".encode("UTF-32"))
72

 

 

1.11 小结

1.11.1 相关概念

  • 算法:算法犹如菜谱,告诉你如何完成特定的任务。从本质上说,编写计算机程序就是使用计算机能够理解的语言(如Python)描述一种算法。这种对机器友好的描述被称为程序,主要由表达式和语句组成。
  • 表达式:表达式为程序的一部分,结果为一个值。例如,2 + 2就是一个表达式,结果为4。简单表达式是使用运算符(如+或%)和函数(如pow)将字面值(如2或"Hello")组合起来得到的。通过组合简单的表达式,可创建复杂的表达式,如(2 + 2) *(3 - 1)。表达式还可能包含变量。
  • 变量:变量是表示值的名称。通过赋值,可将新值赋给变量,如x = 2。赋值是一种语句。
  • 语句:语句是让计算机执行特定操作的指示。这种操作可能是修改变量(通过赋值)、将信息打印到屏幕上(如print("Hello, world!"))、导入模块或执行众多其他任务。
  • 函数:Python函数类似于数学函数,它们可能接受参数,并返回结果(在第6章学习编写自定义函数时,你将发现函数实际上可以在返回前做很多事情)。
  • 模块:模块是扩展,可通过导入它们来扩展Python的功能。例如,模块math包含多个很有用的函数。
  • 程序:你通过练习学习了如何编写、保存和运行Python程序。
  • 字符串:字符串非常简单。它们其实就是一段文本,其中的字符是用Unicode码点表示的。然而,对于字符串,需要学习的知识有很多。本章介绍了很多表示字符串的方式,第3章将介绍众多字符串用法。

 

1.11.2 几个函数

序号

函数

描述

1

abs(number)

返回指定数的绝对值

2

bytes(string, encoding[, errors])

对指定的字符串进行编码,并以指定的方式处理错误

3

cmath.sqrt(number)

返回平方根;可用于负数

4

float(object)

将字符串或数字转换为浮点数

5

help([object])

提供交互式帮助

6

input(prompt)

以字符串的方式获取用户输入

7

int(object)

将字符串或数转换为整数

8

math.ceil(number)

以浮点数的方式返回向上圆整的结果

9

math.floor(number)

以浮点数的方式返回向下圆整的结果

10

math.sqrt(number)

返回平方根;不能用于负数

11

pow(x, y[, z])

返回x的y次方对z求模的结果

12

print(object, ...)

将提供的实参打印出来,并用空格分隔

13

repr(object)

返回指定值的字符串表示

14

round(number[, ndigits])

四舍五入为指定的精度,正好为5时舍入到偶数

15

str(object)

将指定的值转换为字符串。用于转换bytes时,可指定编码和错误处理方式

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值