一、变量

变量:就是给数据起一个名字。

变量命名:
	字母、数字、下划线。不能以数字开头。不可使用关键字。
	建议变量使用相关单词,尽量让其有意义。
	设置变量并赋值:变量=值。例:a=1
	为多个变量赋值:变量=变量=变量=值。例:a=b=c=1
在python中,以存储数据为基准。查看方法:id(变量名)。可查看变量存储空间地址。
	a=123和a=456存储不一样的空间。
	a=123和b=123存储一样的空间。

二、运算符和表达式

赋值运算符:=、+=、-=、*=、/= 、%=(求余等于)

a=3**2      #即a=9。赋值运算符和算术运算符是有接口的

算术运算符:+、-、*、/、//、%、**

都是整数的除法:3/2=1.5
有小数的除法:3.0/2=1.5
地板除法:3.0//2=1.0
求余运算:17%6=5
次幂运算:3**2=9

关系运算符:<、>、<=、>=、!=、== ------------返回布尔类型
逻辑运算符:and、or、not --------------------------注意!不是C语言中的&&、||、!等
成员测试运算符:in、not in
同一性测试运算符:is、is not
运算符优先级:次幂运算 > 正负号 > 算术运算 > 关系运算 > 同一性测试 > 成员测试 > 逻辑运算

举例四则运算器脚本:

#! /usr/bin/python
# -*- coding:utf-8 -*-

#input从键盘获取数据,默认接收为字符串类型。而字符串不能进行算术运算,所以要改变它的数据类型。即前面强制转换为float型。

num1=float(input("输入第一个数:"))  
num2=float(input("输入第二个数:"))  

print ("相加结果:",num1+num2)                         
print ("相减结果:",num1-num2)                          
print ("相乘结果:",num1*num2)
print ("相除结果:",num1/num2)

三、数据类型。用type(要查看的值/变量)来判断

布尔型:只返回对或错。即"True"或"False"。

数字:整型:int、长整型:long、浮点型:float、复数类型:complex

int型范围:-2147483648~2147483647
long型范围:任意大的整数都可以
强制定义long型:c=3.14L
定义浮点型:c=3.14
定义复数类型:c=3.14j  或者  c=2+3.14j

常见的数学函数:

函数

返回值 ( 描述 )

abs(x)

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

ceil(x)

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

exp(x)

返回e的x次幂(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的平方根

字符串(string):需要引号引起来。定义字符串可以使用单引号、双引号、三引号

c="123"                         #定义一个字符串
	'''123123'''                    #多行注释
	c="let's go"                    #定义有单双引号的字符串
	c="let's \"go\""                #将双引号以普通字符显示,这叫转义字符
	c='tom: \n helo\n i am jack'    #\n代表换行
	c=''' tom: 回车换行 i am jack 回车换行 good bye'''  #直接按预定格式输出

单引号双引号无区别。如果双引号嵌套双引号,则中间的双引号需要转义\,即\"
	
	字符串索引取值:a='qwertyuiop'
	索引第一个:a[0]:q 
	索引前二个:a[0]+a[1]:qw           #注意+号拼接
	切片wer:a[1:4:1]。起始:结束:步长。
	切片wer:a[-9:-6]。包括左边,不包括右边
	切片rew:a[-7:-10:-1]。包括右边,不包括左边    #开始的一边算,结束的一边不算
	倒取用负数(步长若为负则倒算)
	如果不写步长,默认步长是1

转义字符:

转义字符

描述

\(在行尾时)

续行符

\\

反斜杠符号

\’

单引号

\"

双引号

\a

响铃

\b

退格(Backspace)

\e

转义

\000


\n

换行

\v

纵向制表符

\t

横向制表符

\r

回车

\f

换页

\oyy

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

\xyy

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

\other

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

序列:包括列表、元组、字符串。

len(str1):   求字符串str1的长度
	+:  字符串相加为拼接。str1+str2
	*:  字符串重复出现次数。str1*5 即:str1重复出现5次、'#'*5
	in:  判断某个元素是否在序列中。'x' in str1  即:如果在,返回布尔类型值
	max():  返回序列中的最大值。max(str2)  即:以ASCII码值排序提取
	min():  返回序列中的最小值。

元组(tuple):是不可改变的值

定义元组只能使用(),小括号。
	t=("mingzi",30,"nan")          #创建一般元组
	t=(1,)                         #创建有单个元素的元组,注意必须有逗号
	t=()                           #创建空元组
	t[0]                           #取它的名字(第一个数据)

元组的操作:只能存储,不能操作修改值
	name,age,xingbie=t             #接收元组t的值。之后name会输出值为mingzi,age会输出30
	a,b,c=(1,2,3)                  #元组也可以这样定义。A为1、b为2、c为3

列表(list):是可以改变的

定义: 用中括号,逗号隔开:list=['zhangsan','lisi','wangwu']
列表操作 ( 假设列表名为list ) :
	取值:
		切片和索引。               #操作和正常索引切片一样   
		list[0]                  #取列表第一个元素
	添加:
		list.append("121212")    #在列表list中添加数据"121212"
	删除:
		del(list[2])             #删除list列表的第3个值
		list.remove(list[2])     #删除list列表的第3个值
		list.remove(具体值)       #删除列表list的固定值,字母要加引号
	修改:
		list[0]='zhangsan'       #将列表list第一个值改为zhangsan
	查找:
		var in list              #查看var是否是list列表中的值,返回布尔型
	排序:
        list.sort()               #从小到达排序
        list.sort(reverse=True)   #从大到小排序
	反转:
        List.reverse()            #列表反转

字典(dict):是python中唯一的映射类型,存储的数据是无序的,可变的。

定义:用花括号{},逗号隔开。dic={键:值}       #假设字典名为"dic"
	普通创建字典:dic={'name':'zhangsan','age':18,'high':132}
	工厂方法生成字典:dic=dict((['x',1],['y',2]))            #后面dict为方法名,不可变。双括号。
	内建方法生成字典:dic={}.fromkeys(('x','y'),(-1,2))      #x和y都具有相同是值:(-1,2)

索引字典:
	定义变量:name='lisi'
	创建字典:dic={1:'123',name:'lisi','xx'=456}    #定义了数字型、变量型、字符型
	字典显示:{1: '123', 'lisi': 'lisi','xx'=456}
	字典索引:dic['键名']         #如:dic['name']

字典操作:
	更新:dic.update(dic2)      #将字典dic2中的键值对添加到字典dic中,重复不覆盖
	删除:del dic['x']           #删除dic字典中的X元素
	删除:del(dic['tel'])        #删除dic字典中的tel元素
	删除并返回:dic.pop('a')      #删除并返回键为'a'的元素
	删除所有元素:dic.clear()      #删除字典dic的所有元素
	删除字典:del dic             #删除整个字典
	删除字典:del(dic)            #删除整个字典
	增加:dic['新键']='新值'      #增加字典中的数据,且出现的位置不固定
	修改:dic['旧键']='新值'      #修改字典中的数据
	dic.keys()                   #返回字典中键的列表
	dic.values()                 #返回字典中所有值的列表
	dic.get(键,'None')           #字典取值。如果键不存在,返回None(自定义的)
	dic.items()                  #返回键值对元组的列表