python全栈开发 * 03 基本数据类型 * 180601

python基本数据类型  ( int , bool , str )

一  python基本数据类型

   (一)int ==> 整数.进行数学运算

    (二)str ==> 字符串.可保留少量数据并进行相应操作

(三)bool ==> 判断真假.True,False

(四)list ==> 存储大量数据.用[ ]表示

(五)tuple==> 元组.不可以发生改变用()表示

(六)dict ==> 字典.保存键值对,一样可以保存大量数据

(七)set ==> 集合.保存大量数据.不可以重复,其实就是不保存value的dict

二  整数( int )

在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型. 在python3中不存在long类型

整数可以进行的操作:

bit_length().     计算整数在内存中占用的二进制码的长度

十进制:                        1  2    3    4       5      6       7       8

二进制:                        1 10  11  100  101  110   111  1000

长度bit_length():          1   2   2      3      3     3         3       4

三  布尔值( bool )

取值只有True, False. bool值没有操作.

转换问题:

str => int        int(str)

int => str        str(int)

int => bool     bool(int).     0是False 非0是True

bool=>int       int(bool)      True是1,  False是0

str => bool     bool(str)      空字符串是False, 不空是True

bool => str     str(bool)      把bool值转换成相应的"值"

四  字符串( str )  

     把字符连成串,在Python中用  ‘  ," ,‘‘‘ , """  引起来的内容被称为字符串.

  (一 )切片和索引

    1.索引. 索引就是下标.   注意  :  下标从 " 0 "开始.

#   0 1 2 3 4 5  6  7

s1 = "p y  t h o n 最 牛"

print(s1[0])    #   获取第  0 个      (  0,1,2,3,4,5,6,7 )  都可以获取.

print(s1[8])    #    没有8,获取不了,会报错

print(s1[-1])   #    -1  表示倒数

print(s1[-2])   #    -2  表示倒数第二个

     2.切片. 我们可以使用下标来截取部分字符串的内容

     语法 : str[start:end:step] (起始, 结束,步长)

规则 : 顾头不顾尾,从start开始截取.截取到end位置,但不包括end.

 #  0 1 2 3 4 5 6  78

s2 = "p  y    t  h  o n  最 牛B"

print(s2[0:3])     #   从 0 获取到 3 ,不包括3.==>  pyt

print(s2[6:9])     #   最大是8,但想要取到8必须给9.

print(s2[6:10])   #   如果右边已经过了最大值,相当于获取到最后.

print(s2[4:])       #   如果想获取到最后,最后一个值可以不给.

print(s2[-1:-5])   #    从 -1 取到 -5 ,这样是获取不到结果的,从-1向右数,数不到-5.

print(s2[-5:-1])   #   这样能取到数据

print(s2[-5:])      #   什么都不写就能取到最后一位

print(s2[:-1])      #    取到倒数第一个数

print(s2[:])         #    原样输出

  跳着截取

print(s2[1:5:2])   #   从第1个开始取,取到第5个,每2个取1个,结果:yh,1:5=>ytho=>yh.

[:5:2]   #  从头取到第5个,每两个取一个.

[4::2]   #   从第四个取到最后,每两个取一个.

[-5::2]  #   从-5取到最后,每两位取一个.

[-1:-5]  #   什么都没有,  (从左往右获取)

[-1:-5:-1]   #   步长是-1,这时就是从右往左取值了.

[-5::-3]   #   从第-5个开始,到最开始,每3个取1个,结果:oy

步长 :  

 如果是整数,则从左往右取,如果是负数,则从右往左取,默认是1.

  (二 )字符串的相关操作方法

切记 : 字符串是不可变的对象,所以任何操作对原字符串是不会有任何影响的

    1.大小写转来转去

s1.capitalize()

print(s1)   #  输出发现并并没有任何变化,因为字符串本身是不会发生变化的,需要重新获取.

ret1=s1.cpapitalize()      #    首字母变大

print(ret1)

ret2=s1lower()      #  全部换小写

print(ret2)

ret3=s1upper()     #  全部换大写

print(ret3)

应用大写:

verify_code="abDe"

user_verify_code=input("请输入验证码")

if verify_code.upper() == user_verify_code.upper():

print("验证成功")

else:

print("验证失败")

ret4=s1.swapcase()     #  大小写互相换

print(ret4)

ret5=s1.casefold()         #        转换成小写,与lower区别,后者对某些字符支持不够.casefold() 对所有字母都有效.

print(ret5)

s2="mary egg ,taibai*yinwang_麻花"

ret6=s2.title()     #    每个被特殊字符隔开的字母首字母大写.   中文也算特殊字符.

print(ret6)        #      Mary Egg,Taibai*Yinwang_麻花

    2.切来切去

ret7=s.center(10,"*")     #     拉长成10,把原字符串放中间,其余位置补*.

print(ret7)

ret8=s.expandtabs()       #    更改tab的长度,

s3="mary wusir\teggon"

print(s3.expandtabs())      #   可以改变\t的长度,默认长度更改为8

ret9=s.strip()      #    strip   去左右两边空格; lstrip   去左边的空格   ; rstrip   去右边的空格.print

应用用户登录.   也可去掉制定元素.("指定元素")

ret10=s.replace("i","s",2  )      #    把" i "换成 "  s " ,  "2"代表替换两个.

lst11=s.split(" ")            #     字符串切割,根据引号里的字符进行切割 ,如果切割符在左右两端,那么   一定会出现空字符串

print(lst)

    3.格式化输出

s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % (‘sylar‘, 18, ‘周杰伦‘)         # 之前的写法

print(s12)

s12 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发")     #      按位置格式化

print(s12)

s12 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28)      #      指定位置

print(s12)

s12 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28) # 指定关键字

print(s12)

    4.查找

s1 = "我叫sylar, 我喜欢python, java, c等编程语言."

ret1 = s1.startswith("sylar")       #    判断是否以sylar开头

print(ret1)

ret3 = s1.endswith("语言")        #     是否以‘语言‘结尾

print(ret3)

ret4 = s1.endswith("语言.")      #      是否以‘语言.‘结尾

print(ret4)

ret7 = s1.count("a")                 #       查找"a"出现的次数

print(ret7)

ret5 = s1.find("sylar")              #        查找‘sylar‘出现的位置

print(ret5)

ret6 = s13.find("tory")             #          查找‘tory‘的位置, 如果没有返回 " -1 "

print(ret6)

ret7 = s13.find("a", 8, 22)       #          切片找

print(ret7)

ret8 = s13.index("sylar")         #           求索引位置. 注意. 如果找不到索引. 程序会报错

print(ret8)

     5.条件判断

s1 = "123.16"

print(s1.isalnum())        #  是否由字母和数字组成

print(s1.isalpha())         #  是否由字母组成

print(s14.isdigit())        #  是否由阿拉伯数字

print(s14.isnumeric())   #   中文都识别.(一二 三;   壹贰; 123)

print(s14.isdecimal())

# 练习. 用算法判断某一个字符串是否是小数

s17 = "-123.12"

s17 = s17.replace("-", "")       #    替换掉负号

if s17.isdigit():

print("是整数")

else:

if s17.count(".") == 1 and nots17.startswith(".") and not s17.endswith("."):

print("是小数")

else:

print("不是小数)

6.计算字符串的长度

s18 = "我是你的眼, 我也是a"

ret = len(s18)         #    计算字符串的长度  是内置函数不需要加  " s."

print(ret)

注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就行了.

    7.迭代

        我们可以使用for循环来便利(获取)字符串中的每一个字符

语法:

for 变量 in 可迭代对象:

pass

可迭代对象: 可以一个一个往外取值的对象

应用

s19 = "大家好, 我是VUE, 前端的小朋友们. 你们好么?"

用while循环

index = 0

while index < len(s19):

print(s19[index]) # 利用索引切片来完成字符的查找

index = index + 1

for循环, 把s19中的每一个字符拿出来赋值给前面的c

for c in s19:

print(c)

print(‘VUE‘ in s19)

in有两种用法:

1. 在for中. 是把每一个元素获取到赋值给前面的变量.

2. 不在for中. 判断xxx是否出现在str中.

# 练习,

计算在字符串"I am sylar, I‘m 14 years old, I have 2 dogs!"

s20 = "I am sylar, I‘m 14 years old, I have 2 dogs!"

count = 0

for c in s20:

if c.isdigit():

count = count + 1

print(count)

 

原文地址:https://www.cnblogs.com/J-7-H-2-F-7/p/9130308.html

时间: 2024-08-26 17:27:38

python全栈开发 * 03 基本数据类型 * 180601的相关文章

Python全栈开发【第一篇】:初识Python

Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与while循环练习题 基本数据类型前引 Python 的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton Python的Java实现,Jython会将Pyth

Python全栈开发【基础二】

Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 编码与进制转换 Python 运算符 1.算术运算: 2.比较运算: 3.赋值运算: 4.逻辑运算:  5.成员运算: 基本数据类型 1.数字 int(整型) 1 class int(object): 2 """ 3 int(x=0) -> integer 4 int(x, base=10) -&g

python全栈开发目录

python全栈开发目录 linux命令 初识python python基础数据类型 函数编程.set.深浅拷贝 内置函数 文件操作 装饰器 迭代器和生成器 常用模块 初识类和对象 类和对象(进阶) 反射 异常处理 socket.IO多路复用 线程.进程.协程 HTML CSS JavaScript DOM文档操作 jQuery实例 web框架本质 Tornado mysql基础 mysql进阶 ..... 基本算法 递归--二分法查找 冒泡排序 更多 线程池

Python 全栈开发:python列表List

列表 列表是python中经常使用的数据类型,用于存放多个值. 表现形式:在[ ]内用逗号分隔,可以存放n个任意类型的值 eg: #单一类型 users=['yangli','yite','fixd'] #多类型,列表嵌套 users=['room01',['yangli',20,'音乐'],['yite',20,'篮球'],] 列表常用方法 和 函数 方法 函数 常用的操作 eg: len(list) #len(list) 计算列表的长度 ls = ['a','b','c','d'] leng

Python 全栈开发【第一篇】:目录

Python 全栈开发[第0篇]:目录 第一阶段:Python 开发入门 Python 全栈开发[第一篇]:计算机原理&Linux系统入门 Python 全栈开发[第二篇]:Python基础语法入门 Python 全栈开发[第三篇]:数据类型.字符编码.文件操作 第二阶段:函数编程&常用标准库 Python 全栈开发[第四篇]:函数.递归.生成器.迭代器 Pyhton 全栈开发[第五篇]:常用模块学习 第三阶段:面向对象编程&网络编程基础 Python 全栈开发[第六篇]:面向对象

python全栈开发学习目录

python全栈开发学习目录 第一章 计算机基础 第二章Python入门 第三章数据类型 第四章文件操作 第五章函数 第六章 模块 第七章 面向对象 第八章 网络编程 第九章 并发编程 第十章 数据库 第十一章 前端开发-html 第十一章 前端开发-css 附加:js特效 15个小demo 第十一章 前端开发-JavaScript 第十一章 前端开发-jQuery 第十一章 前端开发-bootstrap 第十二章 Django框架开发 ... 原文地址:https://www.cnblogs.

Python全栈开发【基础三】

Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 6 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 总结使用函数的好处: 1.减少代码重用 2.保持一致性,易维护

Python全栈开发

Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大,但是理解起来有些困难,因此我尽量用最简单的例子一步步的说明这个原理. 1.不带参数的装饰器 假设我定义了一个函数f,想要在不改变原来函数定义的情况下,在函数运行前打印出start,函数运行后打印出end,要实现这样一个功能该怎么实现?看下面如何用

Python全栈开发【基础四】

Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 匿名函数 lambda表达式:对于简单的函数,存在一种简便的表示方式,即lambda表达式 1 #这段代码 2 def calc(n): 3 return n**n 4 print(calc(10)) 5 6 #换成匿名函数 7 calc = lambda n:n**n 8 print(calc(10)) 匿名函数主要是和其它函数搭配使用 举例: 1 ########