Python

头文件:#!/usr/bin/python

解释:这条语句指定了python解释器的路径(在windows下只要在当前路径下使用则可有可无)

 

输出语句:print(“想要输出的部分”);可以同一行显示多条语句,用“;“隔开

print(“1”);print(“2”);

1

2

 

python中文编码问题,python默认ASCII编码,需要加上:# -*- coding: UTF-8 -*-

或者加上:#coding=UTF-8

 

交互式编程

windows在终端中输入python即可

 

python标识符

标识符由字母、数字、下划线组成。但不能以数字开头,且区分大小写。其中以下划线开头的标识符有特殊意义,_foo代表不能直接访问的类属性(需要通过接口来访问)不能用from xxx import * 而导入。

__foo开头代表类的私有成员,以下划线开头和结尾的__foo__代表python里特殊方法专用标识,如__init__()代表类的构造函数。

Python关键字只包含小写字母

 

行和缩进

学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。建议你在每个缩进层次使用 单个制表符 两个空格 四个空格 , 切记不能混用

 

Python语句中一般以新行作为结束的标志,但可以用斜杠(\)将一行分为多行显示例子:

t=a+\

  b+\

  c

相当于语句 t=a+b+c

若语句中包含[]{}()就不需要使用多行连接符。

Days=[‘m’,’t’,’w’,

‘t1’,’f’]

相当于语句Days=[‘m’,’t’,’w’,‘t1’,’f’]

 

python引号

Python 可以使用引号( ' )、双引号( " )、三引号( ''' """ ) 来表示字符串,引号的开始与结束必须是相同类型的。

其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。例子如下:

Par=”””这是一个段落,

包含了对个句子”””

 

python注释

单行注释 #开头

多行注释三个单引号或者三个双引号

‘’’

多行注释

多行注释

多行注释

‘’’

“””

多行注释

多行注释

多行注释

“””

 

python空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

 

等待用户输入

raw_input(“户按下 enter(回车) 键退出,其它键显示。\n”)

以上代码中 \n 实现换行。一旦用户按下 enter(回车) 键退出,其它键显示。

 

Print()语句默认是换行的,如果要实现不换行需要在变量末尾加上逗号 。

x="a"

y="b"

print x

print y

上述为换行输出

以下为不换行输出的两种方式

1.print x,

  print y,

2.print x,y

 

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

ifwhiledefclass这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)

if expression :

   suite

elif expression :  

   suite  

else :  

   suite

python变量类型

变量赋值

Python 中的变量赋值不需要类型声明。

每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。

每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

等号(=)用来给变量赋值。

等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

 

多个变量赋值

python允许你同时为多个变量赋值

a=b=c=1

此语句执行:a=1,b=1,c=1

a,b,c,=1,2,3

此语句执行:a=1,b=2,c=3

 

标准数据类型

在内存中存储的数据可以有多种类型。

例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。

Python 定义了一些标准类型,用于存储各种类型的数据。

Python有五个标准的数据类型:

Numbers(数字)

String(字符串)

List(列表)

Tuple(元组)

Dictionary(字典)

 

Python数字

数字数据类型用于存储数值。

他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。

当你指定一个值时,Number对象就会被创建:

var1 = 1

var2 = 10

您也可以使用del语句删除一些对象的引用。

del语句的语法是:

del var1[,var2[,var3[....,varN]]]]

您可以通过使用del语句删除单个或多个对象的引用。例如:

del var

del var_a, var_b

Python支持四种不同的数字类型:

int(有符号整型)

long(长整型[也可以代表八进制和十六进制]

float(浮点型)

complex(复数)

长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。

Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

 

Python字符串

字符串或串是由数字、字母、下划线组成的一串字符。

一般记为:

s=”ala2…an”(n>0)

它是编程语言中表示文本的数据类型。

python的字串列表有2种取值顺序:

从左到右索引默认0开始的,最大范围是字符串长度少1

从右到左索引默认-1开始的,最大范围是字符串开头

如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。

头下表不输入时输出前(尾下标)的字符串

尾下标不输入时输出从(头下标)到结尾的字符串

比如:

s = 'abcdef'

print s[1:5]

此语句输出  bcde

注意:

当使用以冒号分隔的字符串,python 返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。上面的结果包含了 s[1] 的值 b,而取到的最大范围不包括尾下标,就是 s[5] 的值 f

 

加号(+)是字符串连接运算符,星号(*)是重复操作

str = 'Hello World!'

print str           # 输出完整字符串

print str[0]        # 输出字符串中的第一个字符

print str[2:5]      # 输出字符串中第三个至第六个之间的字符串

print str[2:]       # 输出从第三个字符开始的字符串

print str * 2       # 输出字符串两次

print str + "TEST"  # 输出连接的字符串执行结果:Hello World!TEST

 

python列表

列表可以完成大多数集合类的数据结构实现。它支持字符、数字、字符串甚至可以包含列表(嵌套)。

列表用[]标识,是python最通用的复合类型数据类型。

列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

加号(+)是字符串连接运算符,星号(*)是重复操作

列表输出时两端由[    ]隔开

python列表截取可以接受第三个参数,此参数作用是截取的步长(步长是隔多少个数输出一个)例子如下

list=[0,1,2,3,4]

print list[0:4:2]

输出结果:[0,2]

 

python 元组

元组是另一个数据类型,类似于 List(列表)。

元组用 (  ) 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

列表可以更新,元组无法更新

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]

tuple[2] = 1000    # 元组中是非法应用

list[2] = 1000     # 列表中是合法应用

 

python字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{  }"标识。字典由索引(key)和它对应的值value组成。

{key1:value1,key2:value2….}

dict = {}

dict['one'] = "This is one"

dict[2] = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

 

 

print dict['one']          # 输出键为'one' 的值

print dict[2]              # 输出键为 2 的值

print tinydict             # 输出完整的字典

print tinydict.keys()      # 输出所有键

print tinydict.values()    # 输出所有值

 

This is one

This is two

{'dept': 'sales', 'code': 6734, 'name': 'john'}

['dept', 'code', 'name']  #从后向前输出

['sales', 6734, 'john'] #从后向前输出

 

小结:

字符串:” ”标识

列表:列表用[  ]标识

元组:元组用 (  ) 标识

字典:字典用{  }标识

三者均可使用

加号(+)是字符串连接运算符,星号(*)是重复操作

 

python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。

函数                       描述

int(x [,base])          x转换为一个整数

long(x [,base] )        x转换为一个长整数

float(x) x转换到一个浮点数

complex(real [,imag]) 创建一个复数

str(x) 将对象 x 转换为字符串

repr(x) 将对象 x 转换为表达式字符串

eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s) 将序列 s 转换为一个元组

list(s) 将序列 s 转换为一个列表

set(s) 转换为可变集合

dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s) 转换为不可变集合

chr(x) 将一个整数转换为一个字符

unichr(x) 将一个整数转换为Unicode字符

ord(x) 将一个字符转换为它的整数值

hex(x) 将一个整数转换为一个十六进制字符串

oct(x) 将一个整数转换为一个八进制字符串

python运算符

python算术运算

+-*/,四则基本运算

% 取模 即取余

** ab次方

// 取整除(向下取整) 9//2 4    -9//2   -5

注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。如

1/2

0

1.0/2

0.5

1/float(2)

0.5

 

python比较运算符

==!=>=<=><基本运算同c/c++语言

python2.X中存在 <> 类似于!=

返回值是false 或者 true

 

python赋值运算符

=+=-=*=/=%=**=//=

均是a=a运算符b

a%=b   相当于a=a%b

a**=b   相当于 a=a**b   a=ab次方

a//=b   想当于 a=a//b   a=ab取整除(向下取整)

 

python位于运算符(二进制运算下)

& 按位与 两者有一个为0就为0,否则为1

| 按位或 两者有一个为1就为1,否则为0

^ 按位异或 两者不同时为1否则为0

~ 按位取反 把每一位取反即可

<< 左移运算 相当于10进制*2

>> 右移运算 相当于10进制/2

 

python逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 10, b20:

and 布尔与 xfalsex and y 返回 false,否则它返回y的计算值

or 布尔或 x为非0,它返回x的值,否则返回y的计算值

not 布尔非 xtrue,返回false。否则相反

(a and b)返回20

(a or b)返回 10

not(a and b) 返回 False

 

python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

in 如果在指定的序列中找到值返回 True,否则返回 False,如果 x y 序列中返回 True

not in 如果在指定的序列中没有找到值返回 True,否则返回 False,如果 x 不在 y 序列中返回 True

 

Python身份运算符

身份运算符用于比较两个对象的存储单元

is是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False

is not是判断两个标识符是不是引用自不同对象 x is not y,类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False

注意:id() 函数用于获取对象内存地址

is==的区别

is 用于判断两个变量引用对象是否为同一个(同一块内存空间)== 用于判断引用变量的值是否相等。

示例

a=[1,2,3]

b=a

此时ba是同一个地址

b=a[:]

此时b是新的地址,ba不是同一个地址只是数值相等

 

python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符 描述

** 指数 (最高优先级)

~ + -   按位翻转, 一元加号和减号 (最后两个的方法名为 +@ -@)

* / % // 乘,除,取模和取整除

+ -   加法减法

>> << 右移,左移运算符

&    'AND'

^ |   位运算符

<= < > >= 比较运算符

<> == != 等于运算符

= %= /= //= -= += *= **= 赋值运算符

is is not 身份运算符

in not in 成员运算符

not and or 逻辑运算符

 

python条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

条件语句基本形式:

if 判断条件:

执行语句

else

    执行语句

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。

当判断条件为多个值时,可以使用以下形式:

if 判断条件1:

    执行语句1……

elif 判断条件2:

    执行语句2……

elif 判断条件3:

    执行语句3……

else:

    执行语句4……

python不支持switch语句

num = 9

if num >= 0 and num <= 10:    # 判断值是否在0~10之间

    print 'hello'

# 输出结果: hello

num = 10

if num < 0 or num > 10:    # 判断值是否在小于0或大于10

    print 'hello'

else:

    print 'undefine'

# 输出结果: undefine

num = 8

# 判断值是否在0~5或者10~15之间

if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    

    print 'hello'

else:

    print 'undefine'

# 输出结果: undefine

if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

 

Python循环语句

三种循环类型:while循环,for循环,嵌套循环。

三种循环控制语句:breakcontinuepass

 

python  while循环语句

形式:

while 判断条件(condition)

执行语句(statements)…

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true

当判断条件假 false 时,循环结束。

while 语句时还有另外两个重要的命令 continuebreak 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

i = 1

while i < 10:   

    i += 1

    if i%2 > 0:     # 非双数时跳过输出

        continue  (跳出当前小循环)

    print i         # 输出双数246810

i = 1

while 1:            # 循环条件为1必定成立

    print i         # 输出1~10

    i += 1

    if i > 10:     # i大于10时跳出循环

        break (跳出大循环)

 

循环使用else语句

python 中,while else 在循环条件为 false 时执行 else 语句块:

count=0

while count < 5:

   print count, " is  less than 5"

   count = count + 1

else:

   print count, " is not less than 5"

 

python for循环语句

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

格式:

for iterating_var in sequence:

   statements(s)

示例

# -*- coding: UTF-8 -*-

for letter in 'Python':     # 第一个实例

   print '当前字母 :', letter

fruits = ['banana', 'apple', 'mango']

for fruit in fruits:        # 第二个实例

   print '当前水果 :', fruit

 print "Good bye!"

 

通过序列索引迭代

# -*- coding: UTF-8 -*-

fruits = ['banana', 'apple',  'mango']

for index in range(len(fruits)):

   print '当前水果 :', fruits[index]

print "Good bye!"

以上实例我们使用了内置函数 len() range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

 

循环使用else语句

python 中,for else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while else 也是一样。示例

# -*- coding: UTF-8 -*-

for num in range(10,20):  # 迭代 10 20 之间的数字

   for i in range(2,num): # 根据因子迭代

      if num%i == 0:      # 确定第一个因子

         j=num/i          # 计算第二个因子

         print '%d 等于 %d * %d' % (num,i,j)

         break            # 跳出当前循环

   else:                  # 循环的 else 部分

      print num, '是一个质数'

 

python嵌套循环

python for循环嵌套语法

for iterating_var in sequence:

   for iterating_var in sequence:

      statements(s)

   statements(s)

python while循环嵌套

while expression:

   while expression:

      statement(s)

   statement(s)

你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。

 

Python break语句

打破最小的for while 循环

 

python continue语句

continue跳出本次循环,break跳出整个循环

 

python pass语句

pass是空语句,为了保持程序结构的完整性

pass不作任何作用,一般用作占位语句

 

python number(数字)

存在一个del语句,此语句可以删除数字

python math模块、cmath模块

cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算。

要使用 math cmath 函数必须先导入:

import math

 

python数学函数

函数 返回值 ( 描述 )

abs(x) 返回数字的绝对值,如abs(-10) 返回 10

ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5

cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

exp(x) 返回ex次幂(ex),math.exp(1) 返回2.718281828459045

fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0

floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4

log(x) math.log(math.e)返回1.0,math.log(100,10)返回2.0

log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0

max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。

min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。

modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。

pow(x, y) x**y 运算后的值。

round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。

sqrt(x) 返回数字x的平方根

 

python随机数函数

函数 描述

choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从09中随机挑选一个整数。

randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1

random() 随机生成下一个实数,它在[0,1]范围内。

seed([x]) 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seedPython会帮你选择seed

shuffle(lst) 将序列的所有元素随机排序

uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。

 

Python三角函数

函数 描述

acos(x) 返回x的反余弦弧度值。

asin(x) 返回x的反正弦弧度值。

atan(x) 返回x的反正切弧度值。

atan2(y, x) 返回给定的 X Y 坐标值的反正切值。

cos(x) 返回x的弧度的余弦值。

hypot(x, y) 返回欧几里德范数 sqrt(x*x + y*y)

sin(x) 返回的x弧度的正弦值。

tan(x) 返回x弧度的正切值。

degrees(x) 将弧度转换为角度,degrees(math.pi/2) , 返回90.0

radians(x) 将角度转换为弧度

 

python字符串

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

 

Python转义字符

\(在行尾时) 续行符

\\ 反斜杠符号

\' 单引号

\" 双引号

\a 响铃

\b 退格(Backspace)

\e 转义

\000 空

\n 换行

\v 纵向制表符

\t 横向制表符

\r 回车

\f 换页

\oyy 八进制数,yy代表的字符,例如:\o12代表换行

\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行

\other 其它的字符以普通格式输出

 

python字符串运算

r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

print r’\n’    结果是   \n

print R’\n’   结果是   \n

 

字符串格式化

%c  格式化字符及其ASCII

      %s  格式化字符串

      %d  格式化整数

      %u  格式化无符号整型

      %o  格式化无符号八进制数

      %x  格式化无符号十六进制数

      %X  格式化无符号十六进制数(大写)

      %f  格式化浮点数字,可指定小数点后的精度

      %e  用科学计数法格式化浮点数

      %E  作用同%e,用科学计数法格式化浮点数

      %g  %f%e的简写

      %G  %F %E 的简写

%p  用十六进制数格式化变量的地址

 

python列表

 

posted on 2019-11-03 20:09  千丶颜  阅读(174)  评论(0编辑  收藏  举报