02-python基本数据类型
python的变量不需要声明, 但变量使用前必须复制, 因为python中所有的内容全部是对象
变量是没有类型的, 有类型的是指向内存对象的类型
a = '123' a = 123 是合法的
此外, python还可以进行多变量的连续赋值
a = b = c = 1 a, b, c = 1, 'qwe', 'c'
1, Number类型
1、Python可以同时为多个变量赋值,如a, b = 1, 2。 2、一个变量可以通过赋值指向不同类型的对象。 3、数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。 4、在混合计算时,Python会把整型转换成为浮点数。
python的math函数
函数 返回值 ( 描述 ) 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
2, str类型
msg = "What's Is Your Name?" #find, 查找子串位置, 可指定从哪开始查找 index = msg.find('Name', 1, 34) print (index) # rfind, 反向查找 index = msg.rfind('Name', 1, 20) print(index) # 与list之间的转换 msg_list = msg.split(' ') join_msg = ' '.join(msg_list) print (msg_list) print(join_msg) # 使用[:]进行截取 print(msg[3: 8])
另外: 字符串的运算有:
+ | 字符串连接 |
>>>a + b 'HelloPython'
|
* | 重复输出字符串 |
>>>a * 2 'HelloHello'
|
[] | 通过索引获取字符串中字符 |
>>>a[1] 'e'
|
[ : ] | 截取字符串中的一部分 |
>>>a[1:4] 'ell'
|
in | 成员运算符 - 如果字符串中包含给定的字符返回 True |
>>>"H" in a True
|
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True |
>>>"M" not in a True
|
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 |
>>>print r'\n' \n >>> print R'\n' \n
|
格式化输出;
类c: %s, %d, %c, %f
format: '{0}, {1}'.format(str0, str1)
3, list类型 [value, value2, value3]
# list 的常用操作 # 列表有序 msg_list = [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4] msg_list.append(5) msg_list.reverse() msg_list.remove(5) msg_list.index(3) msg_list.insert(2, 'a') # 插入 list2 = ['a', 'b'] msg_list.extend(list2) # 列表相加 # 切片 new_list = msg_list[2:4] # 包左不包右 msg_list[-5: ] # 从倒数第五位开始切 print (msg_list) print (new_list) print (msg_list) # 求2 出现的位置 first_position = 0 for i in range(msg_list.count(2)) : new_position = msg_list.index(2) + 1 msg_list = msg_list[first_position:] first_position += new_position print first_position # 或者使用index # for i in range(msg_list.count(2)): # if first_position == 0 : # first_position = msg_list.index(2) # else: # first_position = msg_list.index(2, first_position + 1) # print first_position
list中 [::] 的使用
list = range(1, 10) print(list[::2]) # 从第一个开始, 隔2个取一个 print(list[2::]) # 从index=2 开始取, 到最后 print(list[::-1]) # 跟reverse一样, 倒叙 print(list[::-2]) # 倒序, 隔2个取一个
4, 元组
元组和list的区别是, 元组的数据不可变, 需要写在() 里面的, 用都好隔开
其他方法和list同
5, sets
sets 是无序不重复的序列, 功能是进行成员关系的测试和删除重复元素
创建空集合需要用set(), 因为{} 是用来创建空的dict
主要用来进行集合运算
#!/usr/bin/python3 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} print(student) # 输出集合,重复的元素被自动去掉 # 成员测试 if('Rose' in student) : print('Rose 在集合中') else : print('Rose 不在集合中') # set可以进行集合运算 a = set('abracadabra') b = set('alacazam') print(a) print(a - b) # a和b的差集 print(a | b) # a和b的并集 print(a & b) # a和b的交集 print(a ^ b) # a和b中不同时存在的元素
6, dict
字典是类型java map的一种集合, 存放的key-value的形式的值
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} # 访问字典中的值, 没有则报错 print "dict['Name']: ", dict['Name']; print "dict['Age']: ", dict['Age']; # 修改字典 dict['Age'] = 8; # update existing entry dict['School'] = "DPS School"; # Add new entry # 删除字典 del dict['Name']; # 删除键是'Name'的条目 dict.clear(); # 清空词典所有条目 del dict ; # 删除词典
字典的值可以是任意python对象,键不可改变且不可重复, 所以键只能是数字, 字符串或者元组类型