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, 22、一个变量可以通过赋值指向不同类型的对象。
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对象,键不可改变且不可重复, 所以键只能是数字, 字符串或者元组类型

 

posted @ 2017-07-04 00:03  bronk  阅读(270)  评论(0编辑  收藏  举报