学习Python笔记
一变量
Python中可以对变量直接赋值,不用声明变量的类型。可以同时对多个变量进行赋不同类型的值。如a,b,c = 1,4,'ab'
1.整数
Python可以计算整数,且
整数的计算是精确的。不像java是取整数。
>>> 4/3
1.3333333333333333
2.浮点数
浮点数就是指小数, 之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10
^9和12.3x10
^8是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x10
^9就是
1.23e9,或者
12.3e8,0.000012可以写成
1.2e-5,等等。
Python和java在浮点型运算时都是选用精确性最高的数作为结果。 浮点数运算则可能会有四舍五入的误差
3.数字
包括整数、浮点数,删除数字用del
数字类型转换
int(x [,base]) 将x转换为一个整数
float(x ) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象x转换为字符串
repr(x) 将对象x转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列s转换为一个元组
list(s) 将序列s转换为一个列表
chr(x) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串
数学函数
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) 返回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的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j
4.字符串
Python可以用“”或者‘’表示字符串,也可以用'''表示多行的字符串。java中只能用‘’表示字符,用""表示字符串。
5.布尔型
Python中可以直接使用True/False表示布尔值(
注意大小写),也可以通过布尔运算计算出来,布尔值可以用and/or/not运算。
Python对大小写敏感。
6.空值
空值是Python里一个特殊的值,用None表示。
7.列表
类似于java中的数组,不过
python中的同一个列表中可以存储不同类型的变量。如 list=['physics', 'chemistry', 1997, 2000];
举个栗子: nums=[1, 3, 5, 7, 8, 13, 20];
'''nums[0]: 1'''
nums[0]获取下标为0的元素
print "nums[0]:", nums[0]
'''nums[2:5]: [5, 7, 8]
nums[2:5]从下标为2的元素切割到下标为5的元素,但不包含下标为5的元素
print "nums[2:5]:", nums[2:5]
'''nums[1:]: [3, 5, 7, 8, 13, 20]
nums[1:]从下标为1切割到最后一个元素
print "nums[1:]:", nums[1:]
'''nums[:-3]: [1, 3, 5, 7]
num[:-3]从最开始的元素一直切割到倒数第3个元素,但不包含倒数第三个元素
print "nums[:-3]:", nums[:-3]
'''nums[:]: [1, 3, 5, 7, 8, 13, 20]
nums[:]返回所有元素
print "nums[:]:", nums[:]
nums[
0]=
"
ljq
";
nums[0]='ljq'更新下标为0的元素的值
print nums[
0];
del nums[
0
];
del nums[0]删除下标为0的元素
'''
nums[:]: [3, 5, 7, 8, 13, 20]
'''
print
"
nums[:]:
", nums[:];
列表对+和*的操作符与字符串相似。+号用于组合列表,*号用于重复列表,例如:
print len([
1,
2,
3]); #
3
print [ 1, 2, 3] + [ 4, 5, 6]; #[ 1, 2, 3, 4, 5, 6 ]
print [ ' Hi! '] * 4; #[ ' Hi! ', ' Hi! ', ' Hi! ', ' Hi! ' ]
print 3 in [ 1, 2, 3 ] #True
print [ 1, 2, 3] + [ 4, 5, 6]; #[ 1, 2, 3, 4, 5, 6 ]
print [ ' Hi! '] * 4; #[ ' Hi! ', ' Hi! ', ' Hi! ', ' Hi! ' ]
print 3 in [ 1, 2, 3 ] #True
for x
in [
1,
2,
3]: print x, #
1
2
3
L=[
'
spam
',
'
Spam
',
'
SPAM!
'
];
print L[ 2]; # ' SPAM! '
print L[- 2]; # ' Spam ' 是访问倒数第二个元素
print L[ 2]; # ' SPAM! '
print L[- 2]; # ' Spam ' 是访问倒数第二个元素
print L[
1:]; #[
'
Spam
',
'
SPAM!
']
list.append(obj) 在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置,索引从0开始
list.insert(index, obj) 将对象插入列表
list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素,倒转
list.sort([func]) 对原列表进行排序
join(list(nums)) 只能利用join函数将列表转换为字符串
8.元组(tuple)
Python的元组与列表类似,不同之处在于元组的元素不能修改;元组使用小括号(),列表使用方括号[];元组创建很简单,只需要在括号中添加元素,并使 用括号(,)隔开即可,例如:
tup1 = (
'
physics
',
'
chemistry
',
1997,
2000
);
tup2 = ( 1, 2, 3, 4, 5 );
tup2 = ( 1, 2, 3, 4, 5 );
tup3 =
"
a
",
"
b
",
"
c
",
"
d
";
元组中元素的访问和列表相同,但是元组不能对元素进行修改(包括删除)所以需要删除的时候应该使用del语句对整个元组进行删除。同样可以使用+号来进行元组的连接组合。
与字符串一样,元组之间可以使用+号和*号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
除此之外,元组中内置一些简单的函数,如:
cmp(tuple1, tuple2) 比较两个元组元素。
len(tuple) 计算元组元素个数。
max(tuple) 返回元组中元素最大值。
min(tuple) 返回元组中元素最小值。
len(tuple) 计算元组元素个数。
max(tuple) 返回元组中元素最大值。
min(tuple) 返回元组中元素最小值。
tuple(seq) 将列表转换为元组。
join(tuple(tup1)) 只能利用join函数将元祖转换为字符串
9.字典
字典(dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典由键和对应的值组成。字典也被称作关联数组或哈希表。基本语法如下:
dict = {
'
Alice
':
'
2341
',
'
Beth
':
'
9102
',
'
Cecil
':
'
3258
'};
也可如此创建字典:
dict1 = {
'
abc
':
456 };
dict2 = {
'
abc
':
123,
98.6:
37 };
每个键与值必须用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必;
值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。
10.日期和时间