Python基本数据类型
一、整数
int(整形)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**1-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
def bit_length(self):
'''表示返回该数字的二进制占用的最小位数'''
int.bit_length()-> int
案例:
int_bit = 37
ret = int_bit.bit_length()
print(ret)
答案:6
(解释过程){
>>> bin(37)
'0b100101'
>>> (37).bit_length()
6
"""
}
二、字符串的参数(常用功能:移除,分割,长度,索引,切片)
1、def capitalize(self):
'''首字母大写'''
acc = “alex”
ret = acc.capitalize()
print(ret)
2、def center(self,width,fillchar=None):
'''内容居中,width:总长度;filchar:空白处填充内容,默认无 '''
S.center(width[,fillchar]) -> string
案例一:
al = "acc"
ret = al.center(20)
print(ret)
结果默认是空格
acc
案例二:
al = "acc"
ret = al.center(20,"_")
print(ret)
结果:________acc_________
3、def count(self,sub,start=None,end=None):
'''子序列个数'''
s.count(sub[,start[,end]]) -> int
acc = "alexadal"
ret = acc.count("al")
re = acc.count("al",2,10)
print(ret)
print(re)
答案:2 1
4、def decode(self,encoding=None,errors=None):
"""解码"""
s.decode([encoding[,errors]]) -> object
案例:
temp = “李杰”
temp_unicode = temp.decode(‘utf-8’)
意思是把utf-8解码成unicode
5、def encode(self, encoding=None, errors=None):
"""编码,针对unicode """
S.encode([encoding[,errors]])-> object
案例:
temp.gpk = temp.unicode(‘gbk’)
意思是把unicode在编码成gbk格式
6、def endswith(self,suffix,start=None,end=None):
"""是否以xxx结束"""
s.endswith(suffix[,start[,end]]) ->bool
案例:
name_a = "accp"
ret = name_a.endswith("ac",0,2)
print(ret)
结果:True
7、def expandtabs(self,tabsize=None):
"""将tab转换成空格,默认一个tab转换成8个空格"""
s.expandgtabs([tabsize]) -> string
案例:
name_b = "this is a \tasdf"
ret = name_b.expandtabs()
ac = name_b.expandtabs(tabsize=10)
print(ret)
print(ac)
结果:
this is a asdf
this is a asdf
8、def find(self,sub,start=None,end=None):
"""寻找子序列位置,如果没有找到,返回 -1"""
s.find(sub[,start[,end]]) -> int
· str -- 查找的字符串
· beg -- 开始查找的位置,默认为0
· end -- 结束查找位置,默认为字符串的长度
案例:
str1 = "this is a string example ... wow"
str2 = "exam"
print(str1.find(str2))
print(str1.find(str2,10))
print(str1.find(str2,40))
答案:17
17
-1 ----错误了find参数用-1表示,而index是报错
str = "this is really a string example....wow!!!";
str1 = "is";
print str.rfind(str1, 0, 10);
9、def index(self,sub,start=None,end=None):
"""子序列位置,如果没找到,报错"""
s.index(sub[,start[,end]]) ->int
案例:
str1 = "this is a string example ... wow"
str2 = "exam"
ret = str1.index("strin",3)
print(ret)
print(str1.index(str2,10))
答案:10
17
和find一样,相对应的也有rindex
#!/usr/bin/python3
str1 = "this is really a string example....wow!!!"
str2 = "is" print (str1.rindex(str2))
print (str1.rindex(str2,10))
------------------------------------------
5
Traceback (most recent call last):
File "test.py", line 6, in <module>
print (str1.rindex(str2,10))
ValueError: substring not found
10、def format(*args,**kwargs):
"""字符串格式化,动态参数,将函数式编程时细说"""
s.format(*args,**kwargs)-> string
案例:
s = "hello {0},world(1)"
print(s)
new1 = s.format("alex",19)
print(new1)
答案:hello {0},world(1)
hello alex,world(1)
案例二、
{name}:将被format()方法中关键字参数name代替
>>> print '{c} {b} {a}'.format(a = 'efhdn', b = 123, c = 8.3 )
8.3 123 efhdn
• {或}:要输出一个{或},必须使用{{或}}格式
>>> print '{{中国}} 你好!'.format()
{中国} 你好!
11、def isalnum(slef):
"""是否是字母和数字"""
s.isalnum() ->bool
案例:
str = "this2009"; # No space in this string
print str.isalnum(); str = "this is string example....wow!!!";
print str.isalnum();
答案:
True
False
12、def isalpha(self):
"""是否是字母"""
s.isalpha()-> bool
13、def isdigit(self):
"""是否是数字"""
s.isdigit() -> bool
14、def islower(self):
"""是否小写"""
s.islower()-> bool
15、def isspace(self):
"""是否只包含空格"""
s.isapce() -> bool
案例:
str = " ";
print str.isspace(); str = "This is string example....wow!!!";
print str.isspace();
16、def istitle(self):
"""检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写返回True,否则为False"""
a = “This Is A Sjsd”
a.istitle() à bool
17、def isupper(self):
"""检测字符串是否为大写"""
s.isupper() -> bool
18、def join(self,itearble):
"""连接"""
s.join(iterable) -> string
案例:
str1 = "_*"
str2 = ("a","b","c")
ret = str1.join(str2)
print(ret)
答案:a_*b_*c
19、def ljust(self,width,fillchar=None):
"""内容左对齐,右侧填充"""
s.ljust(width[,fillchar]) -> string
width ----指定字符串长度
fillchar----填充字符,默认为空格
案例:
str = “this is sting exaple…wow”
ret = str.ljust(30,’*’) #注意这个的fillchar要加引号,引起来
print(ret)
答案:
this is sting exaple…wow*******
相对应的有函数rjust(右对齐,左填充),方法一样
zfill也一样
def zfill(self, width):
"""方法返回指定长度的字符串,原字符串右对齐,前面填充0。""" S.zfill(width) -> string
20、def lower(self):
"""变小写"""
s.lower() -> string
案例:
str_name1 = "MY NAME IS damon"
print(str_name1.lower())
答案:
my name is damon
相对应的是upper““变大写”
up = "this is string example ...wow"
ret = up.upper()
print(ret)
答案
THIS IS STRING EXAMPLE ...WOW
21、def partitiong(self,sep):
”””分割,前,中,后三部分”""
s.partition(sep) -> (head,sep,tail)
案例:
str_name1 = "MY NAME IS domen"
ret = str_name1.partition("IS")
print(ret)
答案:
('MY NAME ', 'IS', ' domen')
22、def lstrip(self,chars=None):
“””移除左侧空白”””
s.lstrip([chars]) -> string or unicode
chars 表示指定截取的字符
案例:
str_name2 = " this is a string wow ...."
print(str_name2.lstrip())
str_name3 = "88888this is a string wow ... 888"
print(str_name3.lstrip("88888this"))
答案:
this is a string wow ....
is a string wow ... 888
23、def replace(self,old,new,coubt=None):
“”””替换””
s.replace(old,new[,count]) -> int
s.replace(old,new[,count]) -> int
s.replace(old,new[,count]) -> int
old 将被替换的子字符串
new 新字符串,用于替换old子字符串
max 可选字符串,替换不超过max次
案例:
str_name3 = "this is a example wow,this is a really example,is"
ret = str_name3.replace("is","si",2)
print(ret)
答案:
thsi si a example wow,this is a really example,is
24、def split(self,sep=None,maxsplit=None): _—————与join相反(join是连接)
“””分割,maxsplit最多分割几次”””
s.split([sep[,maxsplit]]) -> list of strings
str – 分隔符,默认为空格
num – 分割次数
案例:
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print(str.split( ))
print(str.split(' ', 1 ))
print(str)
答案:
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
Line1-abcdef
Line2-abc
Line4-abcd
25、def splitlines(self,keepends=False):
“””根据换行分割”””
S.splitlines(keepends=False) -> list of strings
案例:
str_name5 = "this is a example wow \n yes,zhis is \n\n\n\n i don't"
print(str_name5.splitlines(3))
答案:
['this is a example wow \n', ' yes,zhis is \n', '\n', '\n', '\n', " i don't"]
26、def startswith(self,prefix,start=None,end=None):
“””是否起始”””
S.startswith(prefix[,start[,end]]) -> bool
案例:
str = "i like you "
ret = str.startswith("i",0,4)
print(ret)
答案:True
27、def strip(self,chars=None):
“””移除两段空白”””
S.strip([chars]) -> string or unicode
案例:
str = "*****this is string example....wow!!!*****"
print (str.strip( '*' ))
答案:
this is string example....wow!!!
28、def swapcase(self):
“”大写变小写,小写变大写””
S.swapcase() -> string
案例:
bxx = "THIS IS A EXSMPLE.."
ret = bxx.swapcase()
print(ret)
答案:
this is a exsmple..
29、def title(self):
“””开头首字母变大写”””
S.title() -> string
案例:
tit = "THIS IS A EXSMPLE.."
ret = tit.title()
print(ret)
答案:
This Is A Exsmple..
30、def translate(self,table,deletachars=None):--3.0没有deletachars这个参数了
“转换需要先做一个对应表,最后一个表示删除字符集合”
- table -- 翻译表,翻译表是通过maketrans方法转换而来。
- deletechars -- 字符串中要过滤的字符列表。
S.translate(table[,deletechars]) -> string
案例:
intab = "aeiou"
outab = ""
transtab = str.maketrans(intab,outab)
str = "this is a string example ... wow"
ret = str.translate(transtab)
print(ret)
答案:
th3s 3s 1 str3ng 2x1mpl2 ... w4w
知识小点:
maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
注:两个字符串的长度必须相同,为一一对应的关系。
maketrans用法
str.maketrans(intab,outab)
参数:
intab – 字符串中药代替的字符组合的字符串
outab – 相应的映射字符的字符串
三、列表(基本操作:索引,切片,追加,删除,长度,切片,循环,包含)
创建列表:name_list = [‘alex’,’serven’,’eric’]
或 name_list = list([‘alex’,’serven’,’eric’])
1、 def append(self,p_object):
“”末尾添加””
语法:L.append(object) -----obj—添加到列表末尾的对象
案例:
list1 = ['google','baidu','nunoob']
list2= list1.append('tengxun')
print("更新后的列表 ",list1)#注:list2已经执行添加到了列表,打印出来肯定为空
答案:
更新后的列表 ['google', 'baidu', 'nunoob', 'tengxun']
2、def count(self,value):
“”统计某个元素在列表中出现的次数””
语法:list.count(obj) ---obj—列表中统计的对象
案例:
alist = [123,'xyz','zara','abc']
print('次数',alist.count(123))
print('次数:',alist.count('xyz'))
答案:
次数 1
次数: 1
3、def extend(self,iterable): 新单词extend(扩展)
“””用于在列表末尾一次性追加另一个列表中的多个值(用新列表扩展原来的列表)”””
语法:list.extend(seq---元素列表)
案例:
list1 = ['google','runoob','taobao']
list2 = list(range(5))
list1.extend(list2)
print('扩展后的列表:',list1)
答案:
扩展后的列表: ['google', 'runoob', 'taobao', 0, 1, 2, 3, 4]
4、def index(self):
“””用于从列表中找出某个值第一个匹配项的索引位置”””
语法:list.index(obj—查找的对象)
案例:
alist = [123,'xyz','zara','abc']
print("Index for xyz:",alist.index('xyz'))
print('Index for zara',alist.index('zara'))
答案:
Index for xyz: 1
Index for zara: 2
5、def insert(self,index,p_object):
“””函数将用于指定对象charu 列表”””
语法:list.insert(index,obj)
index,对象obj需要插入的索引位置
obj,要出入列表中的对象
案例:
list1 = ['google','baidu','ali']
list1.insert(1,'lol')
print('列表插入元素后:',list1)
答案:
列表插入元素后: ['google', 'lol', 'baidu', 'ali']
6、def pop(self,index=None):
“””用于移除列表中的一个元素(默认最后一个元素)”””
语法:list.pop(obj=list[-1])
案例:
list1 = ['google','baidu','ali']
list1.pop()
print(list1)
list1.pop(-1)
print(list1)
答案:
list1 = ['google','baidu','ali']
list1.pop()
print(list1)
list1.pop(-1)
print(list1)
7、def remove(self,value)
“””用于移除列表中的某个值的第一个匹配项”””
语法:list.remove(obj)
案例:
list_rm = ['google','baidu','ali']
list_rm.remove('google')
print(list_rm)
8、def reverse(self):
“””用于反向列表中的元素”””
语法:list.reverse()
案例:
list1 = ['baidu','google','ali','tengx']
list1.reverse()
print('见证奇迹的时刻:',list1)
9、def sort(self,cmp=None,key=None,reverse=False):
“””用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数”””
语法:list.sort([func])
func ---可选参数,如果指定了该参数会使用该参数的方法进行排序
案例:
list1 = ['ali','Ali','Google','BAIDU','']
list1.sort()
print(list1)
结果:
四、元组(tuple)
基本操作:索引、切片、循环、长度、包含
创建元组:
ages = (11,22,33,44,55)
或
ages = tuple((11,22,33,44,55))
内置函数:count和index
案例:
tup_1 = (11,22,33)
print(tup_1.count(33))
print(tup_1.index(22))
答案:1 1
五、字典
1、clear
“”“用于删除字典内的所有元素”“”
语法:dict.clear()
案例:
dict = {'name':'zara','age':7}
print('start len:%d' % len(dict))
dict.clear()
print('start len :%d' % len(dict))
答案:
start len:2
start len :0
2、get
“”“函数返回指定键的值,如果值不在字典中返回默认值”“”
语法:dict.get(key,default=None)
参数:key ---字典中要查找的键
default – 如果指定键的值不存在时,返回该默认值
案例:
dict = {'google':'am','baidu':'chi','ali':'chi'}
print("值为:%s" % dict.get('google'))
print("值为:%s" % dict.get('yutube','em'))---如果字典中没有则添加
答案:值为:am
值为:em
3、in
“in操作符用于判断是否存在于字典中,如果键在字典dict里返回True,否则返回False”
语法:key in dict
案例:
dict = {'name':'alex','age':''}
ke = 'age'
kee = 'max'
if ke in dict:
print("age的值存在")
else:
print("age的值不存在")
if max in dict:
print('max的值存在')
else:
print('max的值不存在')
答案: age的值存在
max的值不存在
4、keys
”“”python字典keys()方法以列表返回一个字典所有的键“”“
语法:dict.keys()
dict ={'name':'runoob','age':''}
dict2 = dict.keys()
print(dict2)
答案:
dict_keys(['name', 'age'])
5、pop
“”“同list一样,删除”“
dict = {'name':'runoob','age':''}
dict2 = dict.pop('age')
print(dict2)
print(dict)
答案:3
{'name': 'runoob'}
7、uptade
”“”函数把字典dict2的键/值对更新到dict里(前面)“”“
语法:dict.update(dict2)
案例:
dict = {'name':'alex','age':''}
dict2 = {'max':'man'}
dict.update(dict2)
print('更新后的字典:',dict)
答案:
{'max': 'man', 'name': 'alex', 'age': ''}
Python基本数据类型的更多相关文章
- python 基本数据类型分析
在python中,一切都是对象!对象由类创建而来,对象所拥有的功能都来自于类.在本节中,我们了解一下python基本数据类型对象具有哪些功能,我们平常是怎么使用的. 对于python,一切事物都是对象 ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- 闲聊之Python的数据类型 - 零基础入门学习Python005
闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...
- python自学笔记(二)python基本数据类型之字符串处理
一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...
- Python入门-数据类型
一.变量 1)变量定义 name = 100(name是变量名 = 号是赋值号100是变量的值) 2)变量赋值 直接赋值 a=1 链式赋值 a=b=c=1 序列解包赋值 a,b,c = 1,2,3 ...
- Python基础:八、python基本数据类型
一.什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上来看又很傻,除非你明确告诉它,"1"是数字,"壹&quo ...
- python之数据类型详解
python之数据类型详解 二.列表list (可以存储多个值)(列表内数字不需要加引号) sort s1=[','!'] # s1.sort() # print(s1) -->['!', ' ...
- Python特色数据类型(列表)(上)
Python从零开始系列连载(9)——Python特色数据类型(列表)(上) 原创 2017-10-07 王大伟 Python爱好者社区 列表 列表,可以是这样的: 分享了一波我的网易云音乐列表 今天 ...
- 【Python】-NO.97.Note.2.Python -【Python 基本数据类型】
1.0.0 Summary Tittle:[Python]-NO.97.Note.2.Python -[Python 基本数据类型] Style:Python Series:Python Since: ...
- python基本数据类型之集合
python基本数据类型之集合 集合是一种容器,用来存放不同元素. 集合有3大特点: 集合的元素必须是不可变类型(字符串.数字.元组): 集合中的元素不能重复: 集合是无序的. 在集合中直接存入lis ...
随机推荐
- PAT 1040. 有几个PAT(25)
字符串APPAPT中包含了两个单词"PAT",其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问 ...
- ubuntu系统下,gsl 库链接问题 -undefined reference to `cblas_xxx`
今天在ubuntu系统下进行程序调试的时候出现以下错误信息: [ %] Linking CXX executable ../test_coco /usr/local/lib/libgsl.so: un ...
- js下关于onmouseout、事件冒泡的问题经验小结
问题是这样的:一个div元素要触发onmouseout事件,同时这个div内部还有子元素,于是当鼠标移动到该div的子元素上时,onmouseout事件也被触发了.在要做浮动层效果的时候会经常遇到这个 ...
- [CareerCup] 5.7 Find Missing Integer 查找丢失的数
5.7 An array A contains all the integers from 0 to n, except for one number which is missing. In thi ...
- duilib帮助
1.窗口基类:见介绍 顺便贴下出来,留底. .h class WindowImplBase : public CWindowWnd, public INotifyUI, public IMessage ...
- 【抓包工具】wireshark
wireshark下载地址:http://download.csdn.net/detail/victoria_vicky/8819777 一.wireshark优劣势 wireshark劣势:只能查看 ...
- 1122Shell脚本之利用mysqldump备份MySQL数据库
#!/bin/bash #Mysql 自动备份 压缩并上传到 指定ftp #设想每天凌晨3点备份mysql #编辑crontab配置文件 #00 03 * * * backupmysql.sh #压缩 ...
- jquery 将disabled的元素置为enabled的三种方法
转--http://www.jb51.net/article/19342.htm 在jquery中可以通过jqueryObj.attr("disabled","disab ...
- 【USACO 2.4】The Tamworth Two
题意:C代表cows,F代表farmer,一开始都向北,每分钟前进1步,如果前方不能走,则这分钟顺时针转90°,问多少步能相遇,或者是否不可能相遇,10*10的地图. 题解:dfs,记录状态,C和F的 ...
- [日常训练]yayamao的神题
Description $yayamao$是数学神犇,一天他在纸上计算起了$1/P$, 我们知道按照模拟除法可以得到准确解,例如$1/7=0.(142857),1/10=0.1(0)$.$yayama ...