python数据类型及其操作
一、数字
常用类型:int,float
age = 10 # int型
salary = 3000.5 # float型
进制:
二进制:
11 = 1*21 + 1*20 = 3
八进制:
11 = 1*81 + 1*80 = 9
十进制:
11 = 1*101 + 1*100 = 11
十六进制:
11 = 1*161 + 1*160 = 17
进制转换:
十进制转为二进制:
age = 10
print(bin(age)) => 0b1010
二进制转为十进制:
1010 = 1*23 + 0*22 + 1*21 + 0*20 = 10
十进制转为八进制:
print(oct(age)) => 0o12
十进制转为十六进制:
print(hex(age)) => 0xa
二、字符串
创建字符串:
>>> name = 'johnny' # name = str('johnny')
>>> print(type(name))
str
>>> print(name[0])
j
基本操作:
移除空白
>>> name = input('username:')
>>> print(name)
username: johnny
johnny
>>> name = name.strip()
>>> print(name)
username: johnny
johnny
或
>>> name = input('username').strip()
>>> print(name)
>>> name = '***johnny*****'
>>> print(name.strip('*'))
johnny
>>> print(name.lstrip('*'))
johnny*****
>>> print(name.rstrip('*'))
***johnny
切分
>>> user_info = 'root:x:0:0::/root:/bin/bash'
>>> print(user_info.split(':'))
['root','x','','','','/root','/bin/bash']
>>> print(user_info.split(':')[5])
/root
>>> msg = 'name johnny age 10'
>>> print(msg.split())
['name','johnny','age','10']
统计长度
>>> name = 'johnny'
>>> print(len(name)) #相当于 name.__len__()
6
切片
>>> name = 'hello world'
>>> print(name[1:3])
el
>>> print(name[1])
e
>>> print(name[1:9:2])
el o
其它操作
#startswith,endwith
>>> name = 'johhny_dd'
>>> print(name.endswith('dd'))
True
>>> print(name.startswith('j'))
True #replace
>>> name = ' Today is a good day,choose you like'
>>> print(name.replace('Today','Tomorrow'))
Tomorrow is a good day,choose you like #format
>>> print('{} {} {}'.format('johnny',18,'male'))
johnny 18 male
>>> print('{0} {1} {0}'.format('johnny',18,'male'))
johnny 18 johnny
>>> print('{name} {age} {sex}'.format(name='johnny',age=18,sex='male'))
johnny 18 male
>>> print('NAME:{name} AGE:{age} SEX:{sex}'.format(name='johnny',age=18,sex='male'))
NAME:johnny AGE:18 SEX:male #isdigit
>>> num = ''
>>> print(num.isdigit())
True who_age = 10
whileTrue:
age = input('>>:').strip()
if len(age) == 0:continue
if age.isdigit():
age = int(age)
print(age,type(age))
#find,index,count
>>> name = 'johnny'
>>> print(name.find('o'))
1
>>> print(name.find('x'))
-1
>>> print(name.index('o'))
1
>>> print(name.find('x'))
报错
>>> name = 'johnny hello'
>>> print(name.find('o',2,4))
-1
>>> print(name.count('o'))
2
>>> print(name.count('o',0,3))
1 #join 都必须是字符串
>>> l = ['johnny','say','hello','world']
>>> print(':'.join(l))
johnny:say:hello:world
>>> l1 = ['johnny',11]
>>> print(';',join(l1))
报错
#center,ljust,rjust,zfill
>>> name = 'johnny'
>>> print(name.center(30,'*'))
************johnny************
>>> print(name.ljust(30,'*'))
johnny************************
>>> print(name.rjust(30,'*'))
************************johnny
>>> print(name.zfill(30))
000000000000000johnny #lower,upper
>>> name = 'JOHNNY'
>>> print(name.lower())
johnny
>>> name = 'johnny'
>>> print(name.upper())
JOHNNY #capitalize,title
>>> msg = 'johnny say ji'
>>> print(msg.capitalize())
Johnny say hi
>>> print(msg.title)
>>> Johnny Say Hi #isalnum,isalpha
>>> name = 'johnny123'
>>> print(name.isalnum())
True
>>> print(name.isalpha())
False #in
>>> msg = 'my name is johnny'
>>> print('johnny' in msg)
>>> msg = 'hello'
>>> a,b,c,d,e = msg
>>> print(a,b,c,d,e)
h e l l o
三、列表
创建列表:
name = ['unknown','working','safe']
或
name = list(['unknown','working','safe'])
基本操作:
索引
>>> name = ['unknown','working','safe',4,6,1]
>>> print(name[1])
working
切片
>>> print(name[1:3]) ['working','safe']
追加,一次只能追加一个值
>>> name.append('hobby')
>>> print(name)
['unknown','working','safe',4,6,1,'hobby']
插入
>>> name = ['ruwee','johnny','ruwee','nihao','hello','world']
>>> name.insert(2,'mo')
>>> print(name)
['ruwee','johnny','mo','ruwee','nihao','hello','world']
删除 pop
>>> name.pop() #默认从后面删除,按照索引进行删除
['unknown','working','safe',4,6,1]
>>> name.pop(0)
['working','safe',4,6,1,'hobby']
删除 remove 按照值进行删除
>>> name.remove('working')
['safe',4,6,1,'hobby']
长度
>>> name = ['unknown','working','safe']
>>> print(len(name))
3
包含
>>> print('unknown' in name)
True
其它操作
>>> my_friends = ['ruwee','johnny','ruwee','nihao','hello','world']
>>> my_friends.clear() #清空所有
>>> l = my_friends.copy()
>>> print(l)
['ruwee','johnny','ruwee','nihao','hello','world']
>>> print(my_friends.count('ruwee'))
2
>>> print(my_friends.extend(['how','are','you'])) #一次性添加多个值
['ruwee','johnny','ruwee','nihao','hello','world','how','are','you']
>>> print(my_friends.index('how'))
6
>>> print(my_friends.reverse())
['you','are','how','world','hello','nihao','ruwee','johnny','ruwee']
>>> l = [4,6,1,-1]
>>> l.sort()
>>> print(l)
[-1,1,4,6]
>>> data = ['johnny',22,[23,1,2]]
>>> name,age,birth = data
>>> print(name)
'johnny'
>>> print(age)
22
>>> print(birth)
[23,1,2]
四、字典
创建字典:
person = {'tom':12,'jerry':15,'peter':20}
或
person = dict({'tom':'12','jerry':'15','peter':'20'})
基本操作:
索引
>>> print(person['tom'])
12
新增
>>> person['height'] = 1.8
>>> print(person)
{'tom':12,'jerry':15,'peter':20,'height':1.8}
>>> dic = {'a':1,'b':2}
>>> person.update(dic)
>>> print(person)
{'tom':12,'jerry':15,'peter':20,'height':1.8,'a':1,'b':2}
删除
>>> person.pop('tom')
>>> print(person)
{'jerry':15,'peter':20,'height':1.8}
>>> print(person.pop('sdfdsff',None))
None
获取值
>>> person = {'tom':12,'jerry':15,'peter':20}
>>> print(person.get('tom'))
12
>>> print(person.get('sdf'))
None
>>> print(person['dsf'])
报错
键值对
>>> print(person.keys())
dict_keys(['tom','jerry','peter'])
>>> print(person.values())
dict_values([12,15,20])
>>> print(person.items())
dict_items([('tom',12),('jerry',15),('peter',20)])
>>> d={}
>>> d['name']='tom'
>>> d['age']=12
>>> d['sex']='male'
>>> d.setdefault('hobby',['basketball','football','pingpang'])
['basketball', 'football', 'pingpang']
>>> d
{'name': 'tom', 'age': 12, 'sex': 'male', 'hobby': ['basketball', 'football', 'pingpang']}
循环
for key,value in person.items():
print(key,value)
五、集合
集合内可以有多个元素,但是每个元素都必须是不可变类型
集合内的元素唯一
集合是无序的
创建集合:
>>> s = {3,4,7,1}
或
>>>set__test = set('world')
>>>print(set_test)
{'w','d','l','o','r'}
>>> s1 = set('hello')
>>> print(s1)
{'o','e','l','h'}
基本操作:
in , not in
>>> pythons = {'hello','how','are','you','fine','thank'}
>>> print('hello' in pythons)
True
| 并集
>>> s1={1,10,11,22}
>>> s2 = {1,11,33}
>>> print(s1 | s2)
{1,33,10,11,22}
& 交集
>>> s1={1,10,11,22}
>>> s2 = {1,11,33}
>>> print(s1&s2)
{1,11}
- 差集
>>> s1={1,10,11,22}
>>> s2 = {1,11,33}
>>> print(s1 - s2)
{10,22}
^ 对称差集
>>> s1={1,10,11,22}
>>> s2 = {1,11,33}
>>> print(s1 ^ s2)
{33,22,10}
父集
>>> s1 = {1,2,3,4}
>>> s2 = {1,2}
>>> print(s1 >= s2)
True
子集
>>> print(s1 <= s2)
False
其它操作
>>> s = set([3,5,9,10])
>>> print(s.pop()) # 随机删值
>>> t = set('Hello')
>>> t.add('x')
>>> s.update([10,37,42])
>>> t.remove('H') # 删除不存在的会报错
>>> t.discard('dfsfsd') # 删除不存在的不会报错
>>> len(s)
>>> s=set() # 空集合
>>> y={} # 空字典
六、元组
元组不可变,主要用来读
创建元祖:
age = (32,12,54,25)
或
age = tuple((32,12,54,25))
基本操作:
索引
>>> age = (32,12,54,25)
>>> print(age[2])
54
切片
>>> print(age[0:3])
(32,12,54)
长度
>>> print(len(age))
4
包含
>>> print(12 in age)
True
其它操作
>>> printt(age.index(25))
3
>>> print(age.count(32))
1
七、补充
>>>res=input('>>: ')
123 #字符串类型
>>>l=eval(res) #把字符串中的命令拿出来执行一遍
>>>type(l)
<class 'list'>
>>>
>>>eval('print("ok")')
ok
八、文件处理
流程:
1.打开文件,得到句柄并且赋给一个变量
2.通过句柄进行文件操作
3.关闭文件
基本操作:
读取文件
f = open('a.txt','r',encoding='utf-8')
res = f.read()
print(res)
print(f.readline())
f.close()
with方式打开的文件在操作结束后可以自动关闭文件
with open('a.txt','r',encoding='utf-8') as f:
pass
写入文件
f=open('a.txt','w',encoding='utf-8')
f.write('11111\n')
f.writelines(['a\n','b\n','c\n'])
f.close()
替换文本中的内容
#old.txt
alex hahaha
woca le alex
alex qunimeide alex feile feile
import os
with open('old.txt','r',encoding='utf-8') as read_f,\
open('.old.txt.swap','w',encoding='utf-8') as write_f:
for line in read_f:
if 'SB' in line:
line=line.replace('SB','alex') # 目前改的还是内存级别的
write_f.write(line) # 刷回到硬盘
os.remove('old.txt')
os.rename('.old.txt.swap','old.txt')
python数据类型及其操作的更多相关文章
- Python数据类型和数据操作
python数据类型有:int,float,string,boolean类型.其中string类型是不可变变量,用string定义的变量称为不可变变量,该变量的值不能修改. 下面介绍python中的l ...
- 7.Python初窥门径(数据类型补充,操作及注意事项)
python(数据类型补充,转换及注意事项) 数据类型补充 str str.capitalize() 首字母大写 str.title() 每个单词首字母大写 str.count() 统计元素在str中 ...
- Python 数据类型及其用法
本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...
- python高级之操作数据库
python高级之操作数据库 本节内容 pymysql介绍及安装 使用pymysql执行sql 获取新建数据自增ID fetch数据类型设置 1.pymysql介绍及安装 在python2中连接数据库 ...
- Python字典增删操作技巧简述
Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些基础应用.比如今天我们为大家介绍的Python字典的相关操作,就是我们在学习过程中需要熟练掌握的技 ...
- !!Python字典增删操作技巧简述+Python字典嵌套字典与排序
http://developer.51cto.com/art/201003/186006.htm Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些 ...
- 第九篇:python高级之操作数据库
python高级之操作数据库 python高级之操作数据库 本节内容 pymysql介绍及安装 使用pymysql执行sql 获取新建数据自增ID fetch数据类型设置 1.pymysql介绍及 ...
- day01-day04总结- Python 数据类型及其用法
Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...
- python数据类型之元组、字典、集合
python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...
随机推荐
- 如何在Openwrt上,针对内核创建自定义Patch?
参考资料: 1.http://wiki.openwrt.org/doc/devel/patches?s[]=quilt --- 官方对于如何打Patch的说明 2.http://blog.csdn ...
- iOS学习笔记9 - 组件库介绍1
总算成功开发完了第一个较大的功能(即时通信).毕竟不可能什么东西都从轮子开始造,于是用到了一些组件,这里简单列举一下吧. 1. FMDB 作为一种文件型的数据存储方式,SQLite在iOS开发中自然也 ...
- OkHttp+Stetho+Chrome调试android网络部分(原创)
android网络调试一直是一个比较麻烦的部分,因为在不同序列的请求中,返回的数据会有不同的变化,如果能像web开发一样使用调试功能查看页面的访问数据该是多么美好的事情! 很幸运的是,现在Androi ...
- cocos2dx3.1 win7安装步骤及编译到安桌
1. 下载及安装好工具 python2.7 ndk sdk ant cocos2dx3.1 eclipse 这些工具和曾经一样下载好放到同一文件夹下 加入环境变量 将python2.7的安装路径加入 ...
- 差异:git clone , git fetch, git pull和git rebase
随笔 - 96 文章 - 1 评论 - 6 Git Pull据我所知,当你使用git pull时,它将会获取远程服务器(你请求的,无论什么分支)上的代码,并且立即合并到你的本地厂库,Pull是 ...
- C++ 类的多态四(虚析构函数的重要性)
//虚析构函数的重要性 #include<iostream> using namespace std; /* 虚析构函数 主要用在多态中,用来释放子类对象内存空间,如果不使用虚析构函数, ...
- Unity3D GUI图形用户界面系统
1.skin变量 using UnityEngine; using System.Collections; public class Skin : MonoBehaviour { public GUI ...
- HP proliant服务器从usb启动
1,开机出现自检画面开始按F9进入设置,进入BIOS 选择standard boot order(rpl),把usb driver放在第一位,保存好 2,按F1开始启动. (注:我使用ubuntu14 ...
- Laravel的学习网站推荐
Laravel官网 网址是:https://www.laravel.com,里面有优质的教程和文档 只不过是英文的. Laravel学院 网址是:http://laravelacademy.org/, ...
- Android中使用OnClickListener接口实现button点击的低级失误
今天写了几行极为简单的代码,就是想implements View.OnCLickListener.然后实现按钮点击操作.可是按钮却没有反应.找了五分钟还是没有结果. 下面是我的代码,希望大家不要嘲笑 ...