一、基本数据类型

python中的基本数据类型有以下几种:

int   --  整数     python3中默认整数都是int型,python2中int的范围为-231~232-1(32位系统中)/-263~263-1,超过此范围的为long int型

str  --  字符串      python中没有字符型,都是字符串

bool  --  布尔型     True or  False(注意大小写)

list -- 列表     [1, 2, 3, '啦啦啦', [1, 2, 3]]

tuple -- 元祖    不可变的列表

dict -- 字典    {'name': '糖糖', 'age': 18, hobbies:['玩', '好好玩', '愉快的玩']},键不能为可变元素

  dict的第一个特点是查找速度快,而且查找的速度与元素的个数无关,而list的查找速度是随着元素的增加而逐渐下降的;第二个特点是存储的key-value序对是没有顺序的;第三个特点是作为key的元素是不可变的,所以list不能作为key。

  dict的缺点是占用内存大,还会浪费很多内容。

set -- 集合    无序不重复的列表,{1, 2, 3, '啦啦啦'},不能存可变元素

  set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”

注:

1、str不能直接与int相加,但可以相乘,如“su”*3=“sususu”

2、类型转换可直接用int()、str()、bool()等进行转换,很方便,对字符串→整数,int()会自动去除字符串左右的空格

3、字符串想保留原格式,用‘’‘内容‘’‘

4、list、tuple、dict、set详细内容见day04

二、int、bool、str常用方法

基本数据类型的常用方法都可以在builtins.py中找到详细注释,可作参考(pycharm中按ctrl+左键进入源码)

1、int

int(object)

  将object转为int

bit_length()

  获取int转成二进制后的最小表示位数

2、bool

bool()

  int中0→False,str中“”→False,所以判断时类似js可以用【if s:】做判断

ps:在平常使用时,写死循环【while 1:】比【while True:】效率要高(只是在py2中)

3、str

3.1 字符串的索引与切片

  索引:字符串可以使用索引(即下标)表示字符串中的某一元素,例:

s = 'ABCDEFG'
print(s[0])
print(s[1])
print(s[-1])
print(s[-2])

  结果:

  切片:字符串切片指利用索引选取字符串中某部分元素,例:

# s[首:尾:步长] 步长默认为1,可省略
s = 'ABCDEFG'
print(s[0:3])
print(s[0:-1])
print(s[:])
print(s[0:0])
print(s[0:6:2])
print(s[0:5:-1]) #0-5,取步长-1反向是没有结果的
print(s[::-1])
print(s[5::-2])

  结果:

3.2 字符串常用方法

s.capitalize()  首字母大写

s.upper()  全大写

s.lower()  全小写

s.swapcase()  大小写反转

s.title()  标题格式化,以非英文字符隔开的英文首字母大写,例:

s = 'alif颜pkweo12 lei及feer)lie=miov'
print(s.title())

结果:

s.center(self, width, fillchar=None)  将字符串居中,两端以fillchar填充,至width长度

s.expandtabls(tabsize)  tabsize默认为8,从头开始数,数到第一个\t正好为tabsize个字符,不足则补空格,如果还有\t,接着从第一个\t数到第二个\t仍然为tabsize个字符,以此类推直到最后一个\t结束。例:

s = 'ahi\tji1234\t哈哈呀\t'
print(s.expandtabs())
print(s.expandtabs(12))

结果:

s.startswith()/s.endswith()  判断以什么字符串开头或结尾

s.find()  查找字符串中是否包含某元素,并返回下标,找不到返回-1

s.index()  同s.find()类似,但找不到会报错

s.strip(self, chars)  去除字符串前后chars,chars默认为空格,chars可为多个字符。例:

s = '1**-11fea112+发窘3=3ip11-111+=='
print(s.strip('1+=*-'))

结果:

s.lstrip()/s.rsrip()  去除左边或右边chars

s,split( sep=None, maxsplit=-1 )  将字符串以sep分隔成字符串,默认为None则以所有空白字符分隔,maxsplit表示分隔几次,默认-1即全部分隔。源代码注释:

Return a list of the words in S, using sep as the
delimiter string. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified or is None, any
whitespace string is a separator and empty strings are
removed from the result.

s.replace(self, old, new, count)  替换,count表示每处替换几个new

s.isalnum()  字母和数字

s.isalpha()

s.isdigit()

s.format()  格式化输出,例:

# format的三种用法
name = '糖糖'
age = ''
interest = '敲代码'
s1 = '你好,我叫{},我今年{},我喜欢{},希望你们喜欢{}'.format(name, age, interest, name)
s2 = '你好,我叫{0},我今年{1},我喜欢{2},希望你们喜欢{0}'.format(name, age, interest)
s3 = '你好,我叫{name},我今年{age},我喜欢{interest},希望你们喜欢{name}'.format(name=name, age=age, interest=interest)
print(s1)
print(s2)
print(s3)

结果:

 注意:字符串的操作都不会影响原变量的值,可将返回值赋值给新的变量

四、公共方法

len()   求字符串、list、tuple、dict、set的长度,注意:求得的字符串长度是字符数量

count(self, value)  查询字符串、list、tuple、dict、set中有多少个value

in  判断某元素是否在其中,not in 判断是否不在其中。例:

list = ['', 2, [3, 4]]
print(1 in list)
print('' not in list)
print([3, 4] in list) tuple = (1, 2, '', '')
print(1 in tuple)
print('' not in tuple) set = {1, 2, '', ''}
print(1 in set)
print('' not in set)
print(3 in set) dict = {'': 1, 'lll': 2, 'aaa': 3, 123: 4}
print('' not in dict)
print(3 in dict)

结果:

for in循环   例:

s = 'ao23jm再见2'
for i in s:
print(i)

结果:

list、tuple、dict、set同理

对于dict,大部分操作只针对键

Python学习 day03的更多相关文章

  1. Python学习 day03打卡

    今天学习的主要内容: ppython的基本数据类型: 1. python基本数据类型回顾 2.int---数字类型 4.str---字符串类型 一.python基本数据类型 1. int==>整 ...

  2. Python学习day03 - Python基础(1)

    1. 执行Python程序的两种方式 (1)交互式(Jupyter) 优点:运行一句执行一句 缺点:关闭即消失# (2)命令行式(pycharm) 优点:可以一直保存 缺点:全部写完才能调试bug虽然 ...

  3. python学习-day03:整形、字符串常用方法:

    一.数字,int 1.1: a.int(object)转化数字类型: a=' b=int(a) b=b+1000 print(b) 223 <class 'int'> 答案 b.转化二进制 ...

  4. python学习Day03

    [主要内容] 1. 编码 1. 最早的计算机编码是ASCII. 美国人创建的. 包含了英文字母(大写字母, 小写字母). 数字, 标点等特殊字符!@#$% 128个码位 2**7 在此基础上加了一位 ...

  5. python学习之旅

    python学习分类 python基础    +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...

  6. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  7. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  8. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  9. Python学习路径及练手项目合集

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

随机推荐

  1. UML类之间的关系

    原文:http://www.cnblogs.com/me115/p/4092632.html 下面详细介绍这六种关系: 类之间的关系 泛化关系(generalization) 类的继承结构表现在UML ...

  2. K860i的109升级需要的PinyinIME.apk和QuickSearchBox.apk两个文件

    联想K860i的109版本终于可以正常更新了,感谢下乐Phone之家的蚊子咬(http://bbs.lephone.cc/space-uid-6410.html)提供了关键的两个文件:PinyinIM ...

  3. Linq to SQL Like Operator

    As a response for customer's question, I decided to write about using Like Operator in Linq to SQL q ...

  4. WEB缓存初探

    WEB缓存初探 概念理解 缓存--缓存就是数据交换的缓冲区(称作Cache) 缓存 的作用说白了就是用来就近获取东西,比如我们会把已经拿到的常用的东西放在手边(与自己相对较近的地方),方便下次需要时去 ...

  5. BZOJ3223 文艺平衡树(splay)

    题目背景 这是一道经典的Splay模板题——文艺平衡树. 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1, ...

  6. 用原生css实现高斯模糊、黑白等滤镜效果

    —引导— 在CSS3中,有一个强大的属性,那就是filter属性,filter顾名思义就是“滤镜”的意思,用filter属性可以让图片无需PS处理就达到一些简单的显示效果. —定义和使用— filte ...

  7. 做ETL的时候用到的数据同步更新代码

    这里是用的从一个库同步到另一个库,代码如下 private void IncrementalSyncUpdate(string fromConn, string toConn, Dictionary& ...

  8. iOS应用打包完后再在开发者网站添加应用测试ID能够加入测试吗

    1.明确指出 不行: 1.打包测试包前一定要先添加测试设备的UDID 2.添加测试的设备UDID一定要先于打包测试包,否则设备无法参加测试 3.使用蒲公英分享测试包,查看可参加测试的设备UDID 2. ...

  9. 使用django进行发送 邮件

    我们来看一下 django发送 邮件的整个流程 第一步:例先去 网易163注册账号并激活发邮件功能 把授权码进行 开启 来到我们的项目setting中进行 一个配置: # 邮箱的配置信息 EMAIL_ ...

  10. Scrapy爬虫入门Request和Response(请求和响应)

    开发环境:Python 3.6.0 版本 (当前最新)Scrapy 1.3.2 版本 (当前最新) 请求和响应 Scrapy的Request和Response对象用于爬网网站. 通常,Request对 ...