python学习笔记(一)基础知识

个人笔记 仅供参考

一、基础知识

本文主要介绍python开始学习应该掌握的一些基础知识。

1、算法

算法即解决一个问题的方法,由一系列必须按照顺序执行的操作说明组成,其中有些可以直接完成,有些需要特别注意,还有一些粗腰重复多次。

2、数和表达式

交互式python解释器可用作计算器,例如执行如下操作

>>> 2+2
>>> 53672+235253

这只是常见的运算,除法的运算结果为小数,即浮点数

>>> 1/2
0.5

如果想丢弃小数部分,即执行整除运算可使用双斜杠

>>> 1//2
0

在python 2.x中执行除法要导包

>>> from _future_ import divsion

求余(求模)运算,即返回执行整除时余下的部分

>>> 2.75%0.5
0.25

乘方运算符(求幂)

>>> 2  ** 3
8

十六进制,八进制,二进制

如下表示

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

3、变量

变量是表示特定值的名称

例如用名称x来表示3

>>> x = 3

4、语句

例如print语句和赋值语句,与表达式的区别是:表达式是一些东西而语句是做一些东西。即语句是让电脑完成一些操作的指令

5、获取用户输入

python中通过input即可获取用户输入,举例

>>> input("your name: ")
your name:

括号中的内容是显示出来提示用户该输入什么内容的。

实际使用时会把用户输入的东西直接存在变量中

>>> a = input("your name:")
your name:w
>>> print(a)
w

6、函数

函数犹如小型程序,可用来执行特定的操作。python提供了很多函数,可用来完成很多神奇的任务。python自带的一些函数叫做内置函数,当然可以自己编写函数。

介绍一个简单的内置函数:pow函数,这个函数是用来执行乘方运算的。

>>> 2 ** 3
8
>>> pow(2,3)
8

像这样使用函数被称为调用函数,向它传递实参(这里为2和3),然后它经过处理后返回一个值

7、模块

可将模块视为扩展,通过将其导入可以扩展python的功能。要导入模块,需使用命令import。例如:

>>> import math

导入后再以module.function的方式使用模块内的函数。

还有一种导入模块的方法

>>> from math import sqrt

从某个地方导入,这里是从math模块导入sqrt函数

7.1介绍几个函数

这里再介绍几个math模块中有用的函数。例如,ceil和floor相反,返回大于或等于给定数的最小整数

>>> import math
>>> math.ceil(32.3)
33
>>> math.floor(32)
32

7.2、cmath和复数

函数sqrt用于计算平方根。下面看看向他传递一个负数的情况

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

可以看到报错了。如果我们坚持将值域限制为实数,并使用其近似的浮点数实现,就无法计算负数的平方根,负数的平方根为虚数,而由实部和虚部组成的数为复数。python标准库提供了一个专门用于处理复数的模块。

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

注意:python没有专门表示虚数的类型,而将虚数视为实部为零的复数

8、海龟绘图法

一种强大的绘图模块

使用前先导入模块中所有函数

from turtle import *

以下代码可以绘制一个三角形

forward(100)
left(120)
forward(100)
left(120)
forward(100)

在终端上运行老是卡住。。。。。

抬笔可以使用penup()把笔放下可用pendown()

9、命令提示符运行python脚本

cd到存储目录下,执行命令python hello.py,这里hello.py是文件名

双击运行:

    在Windows中双击会打开一个DOS窗口,但执行完后会立即关闭。可加入以下代码解决:`input("Press ")`现在运行完后会等你按回车再关闭。

10、注释

python中使用#号来写注释,#号后到本行结尾都是注释

多行注释使用三个双引号开头,三个双引号结尾

"""
123
456
"""

11、字符串

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

示例:

>>> "hello world"
'hello world'

python打印字符串时使用了单引号,其实两种引号没什么差别,但在某些情况下可能会使用到两种引号

>>> "Let's go"
"Let's go"
>>> '"hello,world",she said'
'"hello,world",she said'

在两种引号都使用了的情况下python会照原样打印

但是如果这样写就会出问题:

>>> 'let's go'
  File "", line 1
    'let's go'
         ^
SyntaxError: invalid syntax

在这里python不知道怎么处理let后面的内容。这里有两种解决办法,一种是使用双引号,第二种是使用转义字符。

>>> 'Let\'s go'
"Let's go"

对双引号也可以这样操作。

11.2拼接字符串

来看一下前述字符串的另一种表示方法

>>> "Let's say "'"Hello world"'
'Let\'s say "Hello world"'

这里把python把两个依次输入的字符串拼到了一起。还可以把他们存在变量中,在是用加号相加。

11.3字符串表示str和repr

python在打印字符串时都是将其用引号括起,想去掉引号可以在打印时使用print()

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

加上换行符的编码\n

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

通过两种不同的机制将值转换成了字符串,可以使用str和repr函数直接使用者两种机制

>>> print(repr("hello,\nworld"))
'hello,\nworld'
>>> print(str("hello,\nworld"))
hello,
world

在实际使用中经常用来转化一些值

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

11.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

11.4.2原始字符串

原始字符串不以特殊方式处理反斜杠,因此在有些情况下很有用

使用普通字符串时如果要打印一个路径可能会出现如下的错误

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

在打印时\n呗判断为换行符了

可以通过如下方式解决,对\进行转义

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

但对于很长的路径,就会变得很麻烦。这时就要使用原始字符串

>>> print(r'C:\nowhere')
C:\nowhere

如你所见,原始字符串有前缀r表示。但是引号还是必须转义,不然不能处理剩下的字符串。但用于转义的反斜杠也将包含在最终的字符串中

>>> print(r'Let\'s go!')
Let\'s go!
>>> print(r'Let's go!')
  File "", line 1
    print(r'Let's go!')
                ^
SyntaxError: invalid syntax

还有,原始字符串的结尾不能是反斜杠,如果打印的最后是反斜杠应该如下处理

>>> print(r'C:\nowhere''\\')
C:\nowhere\

11.4.3字节

12、小结

本章设计的函数:

函数 描述
abs(number) 返回指定数的绝对值
bytes(string,encoding[,errors]) 对指定的字符串进行编码,并以指定的方式处理错误
cmath.sqrt(number) 返回平方根;可用作负数
float(object) 将字符串或数字转换为浮点数
heip([object]) 提供交互式帮助
input(prompt) 以字符串的方式获取用户输入
int(object) 将字符串或数转换为整数
math.ceil(number) 以浮点数的方式返回向上圆整的结果
math.floor(number) 以浮点数的方式返回向下圆整的结果
pow(x,y[ ,z]) 返回x的y次方对z求模的结果
print(object,...) 将提供的实参打印出来,并用空格分隔
repr(object) 返回指定的字符串表示
round(number[ ,ndigits]) 四舍五入为指定的精度,正好为5时舍入到偶数
str(object) 将指定的值转换为字符串。用于转换bytes时可指定编码和错误处理方式

小结

这一篇主要就是开始学习python应有的基础知识。只需要记住一些常用的即可,其他的可以在敲代码的过程中慢慢熟悉。
我感觉问这些笔记对编程新手可能会不太友好,毕竟学python最好的方法是由浅入深,先从Hello world开始。以后有时间可能会写一篇适合新手的教程。这篇大家当文档看看就好了。

你可能感兴趣的:(python学习笔记(一)基础知识)