一:Python基础知识
1.1变量
python中的变量和java中的变量一样,
x=3 #(表示把3赋值给3)
1.2语句
输出语句Pyhon中的输出语句是print(),java中的输出语言是:System.out.print();
1.3获取用户输入:
Python中用input()函数和raw_input()来进行获取用户输入
1.4函数
Pyhton中有很多函数列如:
1.5 模块
模块可以想象成导入到Pyhton以增强其功能的扩展,需要使用特殊的命令import来导入模块
也可以使用from模块import函数,这种方式来导入具体需要使用的函数,sqrt函数用于计算一个数的平方根
1.6 字符串
单引号字符串和转义引号
单引号和双引号的输出Hello world! 是没有区别的,但是如果输出的是Let's go!就需要使用转义号来进行转义列如:
1.7
函数 | 描述 |
abs(number) |
返回数字的绝对值 |
cmath.sqrt |
返回平方根,也可以用于负数 |
float(object) |
将字符串和数字转换为浮点数 |
help() |
提供交互式帮助 |
input(prompt) |
获取用户输入 |
int(object) |
将字符串和数字转换为整数 |
long(object) |
将字符串和数字转换为长整数型 |
math.ceil(number) |
返回数的上入整数,返回值的类型为浮点数 |
math.ceil(number) |
返回数的下入整数,返回值的类型为浮点数 |
pow(x,y[,z]) |
返回x的y次幂(所得结果对z取模) |
math.sqrt(number) |
返回平方根,不适用与负数 |
raw_input(pormpt) |
获取用户输入,返回值的类型为字符串 |
repr(object) |
返回值的字符串表示形式 |
round(number[,ndigits]) |
根据给定的精度对数字进行四舍五入 |
二:列表和元组
数据结构:数据结构式通过某种方式(列如对元素进行标号)组织在一起的数据元素的集合,在python中最基本的数据结构式序列,序列中的每一个元素被分配一个序号-即元素的位置也称为索引
2.1 序列概览
python中包含6中内建序列,最常用的两种类型:列表和元组,其他的内建序列类型有字符串,Unicode字符串,buffer对象和Xrange对象
列表和元组的主要区别在于,列表可以修改,元组不能,
2.2 通用序列操作
所有序列类型都可以进行某些特定的操作,这些操作包括:索引(index),分片,加,乘以及检查某个元素是否属于序列的成员,python还有计算序列长度,找出最大元素和最小元素的内建函数
2.2.1 索引
序列中的所有元素都是有编号的-从0开始递增列如:
2.2.2 分片
与使用索引来访问单个元素类似,可以使用分片操作来访问一定范围内的元素,分片通过冒号相隔的两个索引来实现:
2.2.3 序列相加
通过使用加好可以进行序列的连接操作:
2.2.4 乘法
以数字x乘以一个序列会生成新的序列,二在新的序列中,原来的序列将被重复x次
2.2.5成员资格
为了检查一个元素是否在序列中,可以使用in运算符,列如:
2.2.6 长度,最小值,和最大值
2.3 列表
列表是可变的
2.3.1 list函数
2.3.2 基本的列表操作
列表可以使用序列的保准操作,索引,分片,连接和乘法,但由于列表是可变的,就会有单独用于列表的方法
1: 改变列表, 元素赋值
注意不能为一个位置不存在的元素进行赋值,列如:
2.删除元素
从列表中删除元素也很容易,使用del语句来实现
3.分片赋值
2.3.3 列表方法
方法是一个与某些对象有紧密关联的函数,对象可能是序列,数字,也可能是字符串或者其他类型的对象,方法可以这样进行调用:
对象,方法(参数)
列表提供的方法如下:
1.append(用于在列表末尾追加新的对象)
2.count用于统计某个元素在列表中出现的次数
3.extend 用于在列表末尾一次性追加另一个序列中的多个值
这个方法操作看起来很像连接操作,两者最主要区别在于:extend方法修改了被扩展的序列,而原始的连接操作则不然,它会返回一个全新的序列
4.index 方法用于从列表中找出都个值第一个匹配项的索引位置
5. insert 方法用于将对象插入到列表中:
6.pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值
使用pop方法可以实现一种常见的数据结构-栈,栈的原理就像是堆放盘子那样,只能在顶部放一个盘子,同样,也只能从顶部拿走一个盘子,最后被放入堆栈的最先被移除(这个原则称为LIFO,即后进先出)对于上述两个栈操作(放入和移除)他们被称为入栈和出栈,Python没有入栈方法,但可以使用append方法来代替,pop方法和append方法的操作结果恰好相反,如果入栈(或者追加)刚刚出栈的值,最后得到的结果还是原来的栈
7.remove方法用于移除列表中某个值的第一个匹配项
8.reverse方法将列表中的元素反向存放,该方法改变了列表但不返回值
9.sort方法用于在原位置对列表进行排序,在原位置排序意味着改变原来的列表,从而让其中的元素能按一定的顺序排列,而不是简单地返回衣蛾已排序的列表副本
10.高级排序
如果希望元素能够按照特定的方式进行排序(而不是sort函数默认的方式),那么可以通过compare(x,y)的形式自定义比较函数,compare(x,y)函数会在x<y时返回负数等,定义好该函数后,就可以提供给sort方法作为参数了,内建函数cmp提供了比较函数的默认实现方式:
sort方法有另外两个可选的参数----key和reverse,如果要使用它们,name就要通过名字来指定(这叫做关键字参数),参数key与参数cmp类似----必须提供一个在排序过程中使用的函数,然而,该函数并不是直接用来确定对象大小,而是为每个元素创建一个键,然后所有元素更加键来排序,因此,如果要根据元素的长度进行排序,那么可以使用len作为键函数
另一个关键字参数reverse是简单的布尔值,用来指明列表是否要进行反向排序
cmp,key,reverse参数都可以用于sorted函数,在多数情况下,为cmp或key提供自定义函数时非常有用的