python基础数据类型----整数 ,字符串【常用操作方法】,布尔值,for循环

Python基础数据类型(4.29)

  • bool str int 三者之间的转换
  • str索引切片,常用操作方法
  • for循环(大量的练习题)

1.基础数类型总览

  • 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set).

    • 10203 123 3340 int 主要用于计算+- * / 等等
    • ‘今天吃了没?‘ str 存储少量的数据,并进行相应的操作。str1 + str2, str *int , 索引,切片, 其他操作方法
    • True False bool 判断真假
    • [12, True, ‘alex‘, [1,2,3 ]] list 存储大量有序数据。列表内部数据可任意改动
    • (12, True, ‘alex‘, [1,2,3 ]) tuple 存储大量的数据,元组不可改变里面的元素。只读,不能更改。
    • {‘name‘: ‘太白金星‘} dict 字典存储大量的关联性比较强的数据,查询速度非常快。
    • set 集合

2.数字int

  • 十进制二进制转换
    
    #二进制转换成十进制
    0001 1010     ------>   26
    
    b = 1 * 2**4 + 1 * 2**3 + 0 * 2**2 + 1 * 2**1 + 0 * 2**0
    print(b)  # 26
    
    #十进制整数转换成二进制整数
    42  -----> 0010 1010    除2取余,逆序排列
    
    #十进制小数转换成二进制小数
    乘2取整,顺序排列:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。
    0.625 = (0.101)B
    0.625 * 2 = 1.25 ---->1
    0.25 * 2 =0.5    ---->0
    0.50 * 2 =1.0    ---->1
    
  • bit_lenth 十进制转化成二进制的有效长度【bit_length()计算整数在内存中占用的二进制码的长度.】
    # bit_lenth 有效的二进制的长度
    i = 4
    print(i.bit_length())  # 3
    i = 5
    print(i.bit_length())  # 3
    i = 42
    print(i.bit_length())  # 4

3.布尔值bool:True False

  • bool str int 三者之间的转换

    数据类型之间的转换:
    ##### bool  <---> int #######
    #bool-->int  :True    1   False     0
    print(int(True))  # 1
    print(int(False))  # 0   
    
    #int-->bool  :非零即True ,0 为 False
    i = 0
    print(bool(i))
    
    【重点】##### str   <--->   int  #####
    # str ---> int  : 只能是纯数字组成的字符串可以转化成数字类型
    s1 = '1088'
    print(int(s1))  # 字符串引号内必须是数字组成
    # int ----> str  所有数字都能转化成字符串
    i = 100
    print(str(i),type(str(i)))
    
    【重点】###### str <---> bool #####
    # str--->bool :非空即True
    s1 = ' '  #空格,不是空
    print(bool(s1))  #True
    
    s1 = ''  # 空字符串,为False
    print(bool(s1))   #False
    
    # bool  ---> str  无意义
    print(str(True), type(str(True)))  # 运行结果:True <class 'str'>
    
    • 应用:
    s = input('输入内容')   #input输入的为字符串类型
    if s:                #(字符串作为布尔值进行判断)
        print('有内容')
    else:
        print('没有输入任何内容')
    #直接回车,显示“没有输入任何内容”
    #先空格,再回车,显示“有内容”

4.字符串str(重点)

  • Python中凡是用引号引起来的数据可以称为字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号起来就是字符串。
  • 索引:索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推
  • 切片:切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串
  • 对字符串进行索引和切片,出来的数据都是字符串类型
  • 常用操作方法:字符串的常用操作方法,不会对原字符串进行任何操作,都是产生一个新的字符串
    • 索引切片步长
    #字符从左至右有顺序,依次为0,1,2....。从右往左以次为-1,-2,-3,....
    s1 = 'python全栈22期'
    
    # 按照索引取值,每次取一个字符。索引即下标index
    s2 = s1[0]
    print(s2)          #p
    print(s2,type(s2)) #p <class 'str'>
    s3 = s1[2]
    print(s3)          #t
    s4 = s1[-1]
    print(s4)          #期
    
    # 按照切片取值。按照切片取值,原则:顾头不顾腚
    s5 = s1[0:6]
    s5 = s1[:6]  #从开头开始取,0可以默认不写
    print(s5)   #python
    s6 = s1[6:]
    print(s6)   #全栈22期
    print(s1[:-1] #python全栈22
                   #-1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到'期'元素
    
    # 切片步长
    s7 = s1[:5:2]  #加步长
    print(s7)     #pto
    print(s1[:])  ##开头到最后,python全栈22期
    
    # 倒序:
    s8 = s1[-1:-6:-1]  ##反向加步长
    print(s8)     #期22栈全
    
    # 倒序全部取出来
    s9 = s1[-1::-1]
    print(s9)    #期22栈全nohtyp
    
    s9 = s1[::-1]
    print(s9)    #期22栈全nohtyp
    
    s9 = s1[-1:0:-1]  #错误
    print(s9)    #期22栈全nohty  没有字母p 
    
     按索引:s1[index]   注释:index下标
     按照切片取值: s1[start_index: end_index+1]
     按照切片步长取值: s1[start_index: end_index+1: step]
     反向按照切片步长取值: s1[start_index: end_index后延一位: step]
    
    
  • 练习题
    '''
    有字符串s = "123a4b5c"
    通过对s切片形成新的字符串s1,s1 = "123"
    通过对s切片形成新的字符串s2,s2 = "a4b"
    通过对s切片形成新的字符串s3,s3 = "1345"
    通过对s切片形成字符串s4,s4 = "2ab"
    通过对s切片形成字符串s5,s5 = "c"
    通过对s切片形成字符串s6,s6 = "ba2"
    '''
    
    s = "123a4b5c"
    s1 = s[0:3]
    s1 = s[:3]
    print(s1)
    s2 = s[3:6]
    s2 = s[-5:-2]
    print(s2)
    s3 = s[0:-1:2]
    print(s3)
    s4 = s[1:6:2]
    print(s4)
    s5 = s[-1]
    print(s5)
    s6 = s[-3:0:-2]
    print(s6)
    
    • 常用操作方法【重点】
    字符串的常用操作方法,不会对原字符串进行任何操作,都是产生一个新的字符串
    
    upper lower
    #例
    s = 'taiBAifdsa'
    s1 = s.upper()   #字符串s中字符全部大写(不会对原字符串进行任何操作,都是产生一个新的字符串
    print(s1,type(s1))  #TAIBAICBR
    s2 = s.lower()    #字符串s中字符全部小写
    print(s2,type(s2))   #taibaicbr
    
    # 应用:
    username = input('用户名')
    password = input('密码')
    code = 'QweA'
    print(code)
    your_code = input('请输入验证码:不区分大小写')
    if your_code.upper() == code.upper():
        if username == '太白' and password == '123':
            print('登录成功')
        else:
            print('用户名密码错误')
    else:
        print('验证码错误')
    
    startswith    endswith
    #startswith 判断是否以...开头
    s = 'taiBAifdsa'
    print(s.startswith('t'))        #True ***【重点】 判断是否以单个字符开头
    print(s.startswith('taiBAi'))   #True ***【重点】 判断是否以多个字符开头
    print(s.startswith(' '))        #False 判断是否以空格开头
    
    #endswith 判断是否以...结尾
    s = 'taiBAIcBr'
    s1 = s.endswith('t')
    print(s1)  #False,返回的是布尔值
    s2 = s.endswith('Br')
    print(s2)  #True
    
    # 了解
    s = 'taiBAifdsa'
    print(s.startswith('B',3,6))   #True   括号内的字符串必须加引号'B'
                                   #切片,顾头不顾腚。判断'BAi'是否以B开头。下标3,6,不包括6对应的f。
    s = 'taiBAifdsa'
    print(s.endswith('f',3,6))    #False
    
    replace(old,new,count)
    #讲
    msg = 'alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅'
    msg1 = msg.replace('alex','太白')  # 默认全部替换,用'太白'替换'alex'
    msg1 = msg.replace('alex','太白',2)   #用'太白'替换'alex',2表示只替换前两个字符串
    print(msg)  #alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅
    print(msg1) #太白 很nb,太白是老男孩教育的创始人之一,alex长得很帅
    
    #自
    msg = '小明生病了,小明没去上学,小明在家休息'
    msg1 = msg.replace('小明','小红')
    print(msg1)  #小红生病了,小红没去上学,小红在家休息
    msg2 = msg.replace('小明','小红',2)
    print(msg2)  #小红生病了,小红没去上学,小明在家休息
    
    #自:比如某个字母小写变大写,大写边小写
    s = ' qw sertyu eqtrti '
    s1 = s.replace('t','T',2)
    print(s1)# qw serTyu eqTrti
    
    strip:去除空白,如空格,\t制表符, \n换行符。
    # \n(换行符-将光标移动到下一行的开头)
    # \t(水平制表符-将光标向右移动一个制表符位)
    
    #默认去除字符串两边的空格,换行符,制表符
    s4 = '  \n太白\t'
    print(s4)
    s5 = s4.strip()
    print(s5)
    #修改测试
    s4 = '  \n太 白 tai \tbai\t'
    print(s4)
    s5 = s4.strip()
    print(s5)#太 白 tai     bai   #只能去掉两边的空白,内部的去不掉
    
    name='*barr*y**'
    print(name.strip('*'))  # barry
    print(name.lstrip('*'))  # barry**
    print(name.rstrip('*'))  # *barry
    #修改测试
    name='*barr*y**'
    print(name.strip('*'))  # barr*y   #只把两边的*去掉了,内部的*去不了。
    print(name.lstrip('*'))  # barr*y**
    print(name.rstrip('*'))  # *barr*y
    
    # 了解:可以去除指定的字符
    s4 = 'rre太r白qsd'
    s5 = s4.strip('qrsed')  #括号内字符串加引号,字符顺序无所谓
    print(s5)  #太r白     #只能去两头的对应字符
    
    split  【非常重要】以什么分割,最终形成一个列表,此列表不含有这个分割的元素。
    # str ---> list  字符串类型转换为列表类型,- 默认按照空格分隔,可以指定分隔符。
    
    # 默认按照空格分隔,返回一个列表
    s6 = '太白 女神 吴超'
    l = s6.split()
    print(l)  #['太白', '女神', '吴超']
    
    # 指定分隔符
    s6 = '太白:女神:吴超'
    l = s6.split(':')   #  :作为分隔符
    print(l)  #['太白', '女神', '吴超']
    
    ret9 = 'title,Tilte,atre,'.split('t')  # t作为分隔符
    print(ret9)  #['', 'i', 'le,Til', 'e,a', 're,']  ''空字符
    
    # 了解:
    s6 = ':barry:nvshen:wu'
    print(s6.split(':'))    #['', 'barry', 'nvshen', 'wu']  注:''空字符串
    print(s6.split(":",2))  #['', 'barry', 'nvshen:wu']  #2表示前两个:有效
    
    #自-实验
    s1 = ' .haha.heihei.hehe.123'
    s2 = s1.split('.')   # .作为分隔符
    s3 = s1.split('.',3)
    print(s2)  #[' ', 'haha', 'heihei', 'hehe', '123']  注:' ' 引号内为空格
    print(s3)  #[' ', 'haha', 'heihei', 'hehe.123']
    
    join(iterable):联合,连接,可以操作任何可迭代对象(可迭代:这个数据由多个元素组成,如字符串,列表),     
    
    s1 = 'alex'
    s2 = '+'.join(s1)   #'设置连接符'.join(iterable)  iterable可迭代  用+作为连接符
    print(s2)   #   a+l+e+x(字符串类型)
    print(s2,type(s2))  # a+l+e+x <class 'str'>
    
    #list ---> str  前提:列表里面的元素必须都是str类型才行
    l1 = ['太白', '女神', '吴超']
    s3 = ':'.join(l1)   #用:作为连接符
    print(s3)   #  太白:女神:吴超(字符串类型)
    print(s3,type(s3)) #太白:女神:吴超 <class 'str'>
    
    count
    #count数出字符串中的元素出现的个数。
    s8 = 'sdfsdagsfdagfdhgfhgfhfghfdagsaa'
    print(s8.count('a'))  #5,5是数字类型
    s9 = s8.count("a",0,11) # 可切片,索引0,11不包含11
    print(s9)             #2
    
    format: 格式化输出
    # 第一种用法:
    msg = '我叫{}今年{}性别{}'.format('大壮',25,'男')
    # 第二种用法:
    msg = '我叫{0}今年{1}性别{2}我依然叫{0}'.format('大壮', 25,'男')
    print(msg)
    # 第三种用法:
    a = 100
    msg = '我叫{name}今年{age}性别{sex}'.format(age=a,sex='男',name='大壮')  #此处format()内可以不按顺序
    print(msg)
    
    is 系列: 返回布尔值
    name = 'taibai123'
    name = '100①'
    print(name.isalnum()) #字符串由字母或数字组成
    print(name.isalpha()) #字符串只由字母组成
    print(name.isdecimal()) #字符串只由十进制组成
    
    #应用
    s1 = input('请输入您的金额:')
    if s1.isdecimal():
         print(int(s1))
    else:
         print('输入有误')
    
    补充:
    #寻找字符串中的元素是否存在
    a4 = "dkfjdkfasf54"
    ret1 = a4.find("fjdk",1,6)
    print(ret1)  #2 返回的找到的元素的索引,如果找不到返回-1
    ret2 = a4.index("fjdk",2,6)
    print(ret2) #2 返回的找到的元素的索引,找不到报错。
    ret2 = a4.index("fjdk",4,6)
    print(ret2)#报错
    
    #captalize,swapcase,title
    name='taiBAIhi123'
    print(name.capitalize()) #Taibaihi123   首字母大写
    print(name.swapcase()) #TAIbaiHI123     大小写翻转
    msg='taibai say hi'
    print(msg.title()) #Taibai Say Hi  每个单词的首字母大写
    
    # 内同居中,总长度,空白处填充
    ret3 = a4.center(22,"*")
    print(ret3)#*****dkfjdkfasf54*****
    
    

5.for循环:有限循环

s1 = '老男孩edu'
print('老' in s1)   #True   成员运算符
print('老男' in s1)   #True
print('老ed' in s1)   #False
print('老ed' not in s1)  #True

s1 = '老男孩教育最好的讲师:太白'

输出:
'''
老      s1[0]
男      s1[1]
孩      s1[2]
教      s1[3]
育      ....
最
...
'''

s1 = '老男孩教育最好的讲师:太白'
print(len(s1))   #13

#while循环代码(利用while循环打印可迭代对象的每个元素)
s1 = '老男孩教育最好的讲师:太白'
index = 0
while index < len(s1):   # len() :获取可迭代对象的元素总个数,是内置函数。不是字符串专用的
     print(s1[index])
     index += 1

# for 循环

'''
有限循环
for 变量 in iterable:
    pass
'''

#for循环代码
s1 = '老男孩教育最好的讲师:太白'
for i in s1:
     print(i)

        #
for i in s1:
    print(i)
    if i == '好':
        break

# break continue
# for else: while else:用法一样。

原文地址:https://www.cnblogs.com/xiaomage666/p/10806730.html

时间: 2024-10-12 14:13:36

python基础数据类型----整数 ,字符串【常用操作方法】,布尔值,for循环的相关文章

Python基础数据类型之字符串

Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >>> str1 = 'hello' >>> str2 = "hello" >>> str3 = '''hello''' >>> str4 = """hello""" &g

Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)

一.字符串常用操作 #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格) name='*egon**' print(name.strip('*'))#移除 name 变量对应的值两边的*,并输出处理结果 print(name.lstrip('*'))#移除 name 变量左边的*,并输出处理结果 print(name.rstrip('*'))#移除 name 变量右边的*,并输出处理结果 #startswith,endswith name='alex_SB' print

python中的整数、浮点数和布尔值

整数和浮点数有那个四则运算: 两种类型的数可以直接进行加减,当整数和浮点数进行加减的时候,结果会自动的变为浮点数,其中除法运算是“/”来表示的, 而余数的算术符号是“%”来表示的. 在布尔值的判断中我们拥有三种运算:与运算,非运算和或运算. 在Python中它把None,0和' '看成false,其他的数值和非字符串都看成true

python 基础数据类型之字符串02

1.字符串去除空格 # # strip(self, chars=None) #去除字符串两端空格 # lstrip(self, chars=None) #去除字符串左端空格 # rstrip(self, chars=None) #去除字符串右端空格 程序: str1 = "  hello world!  " print str1.strip() print str1.lstrip() print str1.rstrip() 运行结果: hello world! hello world!

python字符串常用操作方法

python字符串常用操作方法 python字符串操作常用操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下. 1.去除空格str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格 1 >>> a=' hello ' 2 >>> b=a.strip() 3 >>> print(b) 4 hello str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认为空格 1 >

python基础数据类型补充以及编码的进阶

一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住. #captalize :首字母大写 #swapcase :大小写翻转 #title :每个单词的首字母大写 #center :内同居中,总长度,空白处填充 #寻找字符串中的元素是否存在 #find :返回的找到的元素的索引,如果找不到返回-1 #index :返回的找到的元素的索引,找不到报错. #captalize

Python基础数据类型考试题

# Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意组成 # 2.不能以数字开头 # 3.不能使用python关键字 # 4.变量要具有可描述性 # 5.变量不能是中文 # 5.官网推荐骆峰体和下划线,这里推荐下划线 # 2,字节和位的关系.(2分) # 1字节 = 8位 # 3,'太白'使用utf-8编码时,占的位数和字节数,是多少?使用gbk编码时,占

2 Python基础数据类型

Python基础数据类型 # 数据类型分为可变数据类型和不可变数据类型 # 可变数据类型:list.set.dict 不可哈希 # 不可变数据类型:str.int.bool.tuple(元祖) 可哈希 基本类型和数据集 基本类型 int 数字型:int 1,2,3,56 取值范围为:-2\*\*31~2**31-1 可以进行的运算:+ - * / **(幂次方) %(取余) type() 查看数据类型 str 字符串:str python中只要是用引号引起来的全是字符串 字符串转化成数字的条件:

Python基础数据类型题

Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是python中的关键字 4.变量不能是中文 5.变量不能过长 6, 变量要具有可描述性 2,字节和位的关系.(2分)8位等于1个字节3,'A太白'使用utf-8编码时,占的位数和字节数,是多少?使用gbk编码时,占的位数和字节数,是多少.(2分)'A太白'使用utf-8编码时,占56位和7个字节,使用gbk编