python的基本数据类型知识点整理

基本数据类型分类

不可变数据:Number、 String 、Tuple(元组)
可变数据:List、Dictionary(字典)、Set(集合)

Number

每个数字再python中都是一个对象,每个对象在内存中都有自己的地址,这就是它的身份。

id(3)
140574842

id(3.222222)
140612356

id(3.0)
140612356

在编程中,经常要用到“变量”和“数”建立起对应关系,对象是有类型的,变量无类型

x=5
x
5

x=6
x
6

简单的四则运算
在数学中,整数是可以无限大的,但是在计算机中整数是不可以无限大的

4+2
6

4.0+2
6.0

4.0+2.0
6.0

整数溢出问题
python支持“无限精度”的整数,所以不用考虑整数溢出问题,Int类型与任意精度的long整数类可以无缝转化

除法
1.整数与整数相除

5 / 2
2

7 / 2
3

8 / 2
4

2.浮点数与整数相除
不管是被除数还是除数,只要有一个是浮点数,结果就是浮点数

9.0 / 2
4.5

9 / 2.0
4.5

9.0/2.0
4.5

8.0 / 2
4.0

引用模块解决除法问题
python之所以受人欢迎,一个很重要的原因就是轮子多,正是因为轮子多,我们可以选择的多,就可以有各种不同的速度享受了,这里的轮子在python中叫“模块”,有的还叫“库”、“类”
具体用法如下:
1.import module-name.
2.from module1 import module11
引用了模块之后再做除法,不管什么情况,都能得到浮点数的结果

from_future_import division
5 / 2
2.5

9 / 2
4.5

9.0 / 2
4.5

9 / 2.0
4.5

常用的数学函数

abs(x)          #返回数字的绝对值,如abs(-10) 返回 10
math.fabs(x)    #返回数字的绝对值,如math.fabs(-10) 返回10.0
exp(x)          #返回e的x次幂(e^x),如math.exp(1) 返回2.718281828459045
math.log(x)     #返回x的对数如math.log(math.e)返回1.0,math.log(100,10)返回2.0
math.log10(x)   #返回以10为基数的x的对数,如math.log10(100)返回 2.0
math.modf(x)    #返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示
pow(x)          #返回x**y 运算后的值
math.sqrt(x)    #返回数字x的平方根
round(x,[n])    #返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数
math.sin(x)     #返回的x弧度的正弦值

String

字符串:由零个或多个字符组成的有限串行
字符串是对象类型,用str表示

“I Love Python.”
‘I Love Python’

‘I Love PYTHON’
‘I Love PYTHON’

变量和字符串
通过赋值语句,对对象与某个变量关联起来

b=“hello world”
b
‘hello world’

print b
hello world

type(b)
<type ‘str’>

连接字符串
用“+”把两给字符串相加,就相当于把两个字符串连接起来
注:拼接起来的两个字符串必须是同一类型的

a=1989
b=“free”
print b+str(a) //也可以用repr(a)
free1989

raw_input 和 print

raw_input(“input your name:”)
input your name:python
‘python’

type(name)
<type ‘str’>

age=raw_input(“how old are you”)
how old are you 10

age
‘10’

type(age)
<type ‘str’>

索引和切片`

str = 'Runoob'
 
print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次
print (str + "TEST") # 连接字符串
#输出
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST

List

列表切片索引

list.append(obj)          #在列表末尾添加新的对象
list.count(obj)           #统计某个元素在列表中出现的次数
list.extend(seq)          #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)           #从列表中找出某个值第一个匹配项的索引位置
list.pop([index=-1])      #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)          #移除列表中某个值的第一个匹配项
list.reverse()            #反向列表中元素
list.sort( key=None, reverse=False)    #对原列表进行排序,True 降序,False 升序(默认)
list.clear()              #清空列表
list.copy()               #复制列表

Dictionary

字典是另一种可变容器模型,且可存储任意类型对象,这一章节主要需要学习遍历字典中的数据,存储字典的列表,存储列表的字典和存储字典的字典

一:学会创建一个空字典并修改字典中的值

alien_0={}

alien_0['color']='green'
alien_0['points']=5
print ("the alien is now"+ alien_0['color']+".")
alien_0[color]='yellow'
print("the alien is now"+alien_0[color]+".")

二:字典中的基本操作

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
'''
del dict['Name']     # 删除键 'Name'
dict.clear()         # 清空字典
del dict             # 删除字典
'''
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
#输出
dict['Name']:  Runoob
dict['Age']:  7

三:遍历字典
(1)遍历所有键—值对(利用for 循环)

favorite_languages={
‘jen’:‘python’,
‘sarah’:‘c’,
‘edward’:‘ruby’,
‘phil’:‘python’,}
for name,language in favorite language.items():
print(name.title() +’’ 's favorite language is "+language.title() + “.”)

(2)遍历字典中的所有键:在不需要字典中的值的时候,利用方法keys()

favorite_languages={
‘jen’:‘python’,
‘sarah’:‘c’,
‘edward’:‘ruby’,
‘phil’:‘python’,}
for name in favorite_languages.keys():
print (name.title())

输出的结果为(如下):

jen
sarah
phil

(3)按顺序遍历字典中的所有键( 借助sorted()函数 )

favorite_languages={
‘jen’:‘python’,
‘sarah’:‘c’,
‘edward’:‘ruby’,
‘phil’:‘python’,}
for name inn sorted (favorite_languages.keys()):
print (name.title()+",thank you for taking the poll.")

输出的结果为

jen,thank you for taking the poll.
phil,thank you for taking the poll.
sarah,thank you for taking the poll.

(4)遍历字典中的所有值( 使用方法values() 其中还使用了…in set…作用是排除重复的值)

favorite_languages={
‘jen’:‘python’,
‘sarah’:‘c’,
‘edward’:‘ruby’,
‘phil’:‘python’,}
print(“the following languages have been mentioned”)
for language in set favorite_languages.values():
print(language.title())

输出

python
c
ruby

四:字典列表

#创建一个空列表
aliens=[]
#创建30个绿色的外星人
for alien_number in range(30):
new_alien={‘color’ : ‘green’ ,‘points’ : 5 , ‘speed’: ‘slow’ }
aliens.append(new_alien)
#显示前五个外星人
for alien in aliens[:5]:
print(alien)
print("…")
#显示创建了多少个外星人
print(“total number of aliens :” +str(len(aliens)))

五;在字典中的存储字典

users={
‘aeinstein’:{
‘first’:‘albert’,
‘last’:‘einstein’,
‘location’:‘princeton’,
},
‘mcurie’:{
‘first’:‘marie’,
‘last’:‘curie’,
‘location’:‘Paris’,
},
}
for username,user_info in users.items():
print("\nUsername:" + username)
full_name=user_info[‘first’]+" “+user_info[‘last’]
location=user_info[‘location’]
print(”\tFull name:" + full_name.title())
print("\tLocation:" +location.title())

输出

Username:aeinstein
Full name:Albert Einstein
Location:princeton
Username:mcurie
Full name:Marie Curie
Location:Paris

Set

集合是一个无序的不重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)                      # 去重功能
#输出
{'orange', 'banana', 'pear', 'apple'}

'orange' in basket                 # 快速判断元素是否在集合内
#输出
True

'crabgrass' in basket
#输出
False
 
# 下面展示两个集合间的运算
a = set('abracadabra')
b = set('alacazam')
print(a)
#输出                                  
{'a', 'r', 'b', 'c', 'd'}

print(a - b)                              # 集合a中包含而集合b中不包含的元素
#输出
{'d', 'b', 'r'}

print(a | b)                              # 集合a或b中包含的所有元素
#输出
{'c', 'b', 'r', 'z', 'l', 'm', 'a', 'd'}

print(a & b)                              # 集合a和b中都包含了的元素
#输出
{'a', 'c'}

print(a ^ b)                              # 不同时包含于a和b的元素
#输出
{'l', 'b', 'z', 'r', 'm', 'd'}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值