python基础教程知识_Python基础教程学习笔记第一章:基础知识

第一章  基础知识

1.1安装Python

略过

1.2 交互式解释器

1.3 算法是什么

告诉计算机做什么事,详述如何做某事

1.4 数字和表达式

1):除法

>>> 1/2

0

因为只留整数部分;而有浮点数参与的除法,结果为浮点数,不会取整。

>>> 1.0/2

0.5

如果希望Python只执行普通除法,可在程序前加或直接在解释器里执行它:

>>> from __future__ import division

也可使用命令开关-Qnew,此时:

>>> 1/2

0.5

此时实现整除的操作符为:双斜线

>>> 1//2

0

即使是浮点数,也会执行整除:

>>> 1.0/2.0

0.0

2): 取余运算符

>>> 2.75%0.5

0.25

3):幂运算符

>>> -3**2

-9

幂运算符优先级高于取反运算符

1.4.1 长整形数

需处理非常大的数(2 147 483 647和 -2 147 483 648之外),可用长整形数:普通数结尾加L

>>> 100000000000

100000000000L

1.4.2 十六进制八进制

十六进制如下写(

0x是十六进制数前要加的,以此来识别它):

>>>0xAF

175

八进制如下写(

0是八进制识别的前缀):

>>> 010

8

1.5 变量(variable)

变量代表或引用某值的名字

>>> x = 3   #赋值操作

>>> x*2

6

变量名可包括字母、数字和下划线。变量不能以数字开头

1.6 语句

语句是做某事,而不是表达式代表的某事

print语句和赋值语句

1.7 获取用户输入:input和raw_input

>>> x = input("x: ")

x: 34

>>> y = input("y: ")

y: 42

>>> print x* y

1428

1.8 函数

内建函数,很多模块中也有函数

pow:乘方函数

>>> pow(2,3)

8

abs:绝对值函数;round: 把浮点数四舍五入为最接近的整数值

>>> abs(-10)

10

>>> round(1.0/2.0)

1.0

能将输入数转化为其他类型——int: 取整数函数,将浮点数抓化为整数;还有long和float函数等   这些是类型对象

>>> int(32.9)

32

1.9 模块: 导入到Python以增强其功能的扩展

需要特殊命令import导入模块

>>> import math

>>> math.floor(32.9)

32.0

floor为math模块中的向下取整的函数,结果为浮点数

ceil为向上取整函数

>>> from math import sqrt

>>> sqrt(9)

3.0

使用这种形式后每次使用函数不需要加模块名前缀

其实可使用变量引用函数(或Python中大大多数对象)

>>> foo = math.sqrt

>>> foo(4)

2.0

1.9.1 cmath (complex math)和负数

cmath 可以处理负数(实数和虚数之和)

>>> import cmath

>>> cmath.sqrt(-1)

1j

虚数均以j结尾

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

(-3 + 31j)

1.9.2 回到 __future__

略过

1.10 保存并执行程序

文本编辑器中编辑,并保存在以后找的到的位置,给自己的程序文件起有意义的名字

然后就可以通过运行按钮来运行你的文件了

1.10.1 通过命令提示符运行Python脚本

windows中使用以下命令执行脚本:

C:\>python hello.py

UNIX下:

$ python hello.py

也可直接指定Python解释器的完整路径。windows中,可通过以下命令实现:

C:\>c:\Python25\python hello.py

1.10.2 让脚本像普通程序一样运行

不需要显示使用Python解释器来运行程序,就像运行qq,浏览器一样

UNIX中标准实现方法:在脚本前加上#!  即在脚本的首行加上:

#!/usr\bin\env python

windows下直接双击扩展名.py的文件。注意程序执行完会立即关闭的情况,你可能没时间看结果

1.10.3 注释 :符号#

#在python中会使其右边的一切被忽略。

# 打印圆的周长

print 2 * pi * radius

此处第一行为注释,程序员第一规则:要注释

注释要确保说的都是重点,不要重复代码中显而易见的内容。

1.11 字符串

最主要的用法就是表示一些文本。

“Hello,world!”就是字符串

1.11.1 单引号字符串和转义引号

字符串是值,就像数字一样。

字符串被双引号或单引号括起来都可以。事实上两者没啥区别。

但是有些时候需要同时使用两者:

>>> "Let's go!"

"Let's go!"

>>> ' "Hello world!" she said'

' "Hello world!" she said'

也可以使用

反斜线对字符串中的引号转义:

>>> 'Let\'s go!'

"Let's go!"

反斜杠转义十分有用,有时甚至是必须的:

‘Let\'s say "Hello, world!"'

1.11.2 拼接字符串

>>> "Hello," + "world!"

'Hello, world!'

>>> x = "Hello, "

>>> y = "world!"

>>> x + y

'Hello, world!'

1.11.3 字符串表示,str和repr

>>> print "Hello, world!"

Hello, world!

>>> print 10000L

10000

print语句会改变打印值在Python代码中的状态,而直接在解释器中操作会保持其状态。

而当你在使用print语句时想知道其状态就可以使用

repr函数:

>>> print repr("Hello, world!")

'Hello, world!'

>>> print repr(10000L)

10000L

`x`,反引号也可实现repr的功能

repr和``的功能相当于在原来基础上多加了一层引号(单引号或双引号),而print语句相当于去除一层引号。。。。

而函数str()则是把内容转为只含一层引号的字符串

总之,str、repr和``是将Python值转化为字符串的三种方法,str让字符串更易阅读,而repr和反引号把结果字符串转换为合法的Python表达式

1.11.4 input 和 raw_input 的比较

>>> name = input ("What is your name? ")

print "Hello, " + name + "!"

运行程序

What is your name? Gumby

接下来就会报错,NameError: name 'Gumby' is not defined

这是因为input会假设用户输入的是合法的Python表达式

如果以字符串输入名字程序就没问题

What is your name? 'Gumby'

Hello, Gumby!

而raw_input函数会把所有的输入当做原始数据(raw data),然后将其放进字符串中:

raw_input("Enter a number: ")

Enter a number: 3

'3'

所以除非特殊需要,否则应尽可能用raw_input函数

1.11.5 长字符串、原始字符串和Unicode

1. 长字符串

若要写一个非常长的字符串,需跨多行,可使用三个引号代替普通引号。

print ''' This is a very long string.

It continues here.

And it's not over yet.

"Hello, world!"

Still here.'''

打印出来的结果也是分为五行,和代码中一致

也可以使用三个双引号。

普通字符串也可以跨行。若一行最后一个字符是反斜线,那么说明换行符本身就转义了,也就是被忽略了。

>>>print "Hello,\

world!"

Hello, world!

2. 原始字符串

原始字符串对于反斜杠的使用不会过分挑剔。

普通字符串中,反斜杠有特殊作用:会转义,可在字符串中加入通常情况下不能直接加入的内容。如,换行符\n

>>> print 'Hello, \nworld!'

Hello,

world!

但是有时需要字符串包含\n怎么办?例如,DOS路径“C:\nowhere”这样的字符串:

可以使用反斜杠对其自身转义,但是对于长路径来说可能要包含很多反斜线。。。。

在此情况下,原始字符串就派上用场了。原始字符串不会把反斜杠当做特殊字符。原始字符串中输入的每一个字符都会和书写的方式保持一致:

>>> print r'C:\nowhere'

C:\nowhere

原始字符串以r开头,基本可在其中放入任何字符。也可对引号转义,但是最后输出的字符串会包含转义所用的反斜线:

>>> print r'Let\'s go!'

Let\'s go

不能再原始字符串的末尾输入反斜线,即原始字符串的最后一个字符不能是反斜线(因为此时Python不清楚是否该结束字符串),除非对反斜线转义

>>>print r'Let\'s go!\\'

Let\'s go!\\

若想最后一位打印时是反斜杠,需将反斜杠作为一个单独的字符串来处理:

>>> print r'C:\Program Files\foo\bar' '\\'

C:\Program Files\foo\bar\

原始字符串中可同时使用单双引号,即使三引号字符串也可充当原始字符串。

3. Unicode字符串:字符串常量的最后一种类型

Python中普通的字符串在内部是以八位的ASCII码形式储存的,而Unicode字符串则存储为16位的Unicode字符串。以u为前缀,例子:

>>> u'Hello, world!'

u'Hello, world!'

1.12 小结

1. 算法。描述如何完成一项任务的方法。程序就是计算机能理解的算法,其包含表达式和语句。

2. 表达式。计算机程序的组成部分,用于表示值。表达式通过运算符和函数对字面值处理而构建起来,简单表达式可联合为复杂表达式,表达式可包含变量。

3. 变量。 是一个名字,表示值。赋值语句。

4. 语句。告诉计算机做某些指令。可能涉及改变变量(通过赋值),向屏幕打印东西、导入模块或其他大量复杂操作。

5. 函数。Python中的函数就像数学中的函数:可带有参数并返回值。

6. 模块。是扩展,可导入到Python中,从而扩展Python功能。如math模块提供很多有用数学函数。

7. 程序。编写、保存和运行

8. 字符串。几段文本。

1.12.1 本章新函数

abs(number)--返回数的绝对值

cmath.sqrt(number)--返回平方根,可用于负数

float(object)--

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

help()--提供交互式帮助

input(prompt)--获取用户输入

int(object)--将字符串和数字转为整数

long(object)--将字符串和数字转为长整型数

math.ceil(number)--返回数的上入整数,返回数类型为浮点数

math.floor(number)--返回数的下舍整数,返回值类型为浮点数

math.sqrt(number)--返回平方根,负数不适用

pow(x, y[ ,z])--返回x的y次幂(所得结果对z取模)

raw_input(prompt)--获取用户输入,返回类型为字符串

repr(object)--返回值的字符串表示形式

round(number[, ndigits])--根据给定的精度对数字进行四舍五入

str(object)--将值转换为字符串

你可能感兴趣的:(python基础教程知识)