一、变量
变量:就是给数据起一个名字。
变量命名:
字母、数字、下划线。不能以数字开头。不可使用关键字。
建议变量使用相关单词,尽量让其有意义。
设置变量并赋值:变量=值。例: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() #返回键值对元组的列表