zoukankan      html  css  js  c++  java
  • python class 2

    本节内容

    1. 推荐美剧
    2. 数据类型(部分内容)
    3. 数据运算
    4. 字符串操作
    5. 列表
    6. for
    7. while

    一、推荐美剧

    1、冰与火之歌    2、亡命之徒 3、西部世界


    二、数据类型

    1、数字

    定义:a=1

    特性:

    1.只能存放一个值

    2.一经定义,不可更改

    3.直接访问

    分类:整型,长整型,布尔,浮点,复数

    1.1、 int 整型

    >>> 10
    10         --------->默认十进制
    >>> oct(10)
    '012'      --------->八进制表示整数时,数值前面要加上一个前缀“0”
    >>> hex(10)
    '0xa'      --------->十六进制表示整数时,数字前面要加上前缀0X或0x

    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

    在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

    1.2、 long 长整型

    python2.*:a = 9223372036854775808L 注意,自从Python2起,如果发生溢出,Python会自动将整型数据转换为长整型,
    所以如今在长整型数据后面不加字母L也不会导致严重后果了。
    python3.*:长整型,整型统一归为整型

    1.3、 bool 布尔值

    True 和False
    1和0

    1.4、 float 浮点数

    浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号

    1.5、 复数

    不重要

    2、字符串

    定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串

    ‘hello world’

    2.1、 字符串常用操作

    移除空白          

    msg15 = ' Aelx  '
    print(msg15.strip())  

    分割         

    msg20 = 'nihao 123'
    print(msg20[0:3])  #分割切片
    
    print(msg20.split())  #字符串切分成列表

    长度        

    print(len(msg20))  #查字符长度


    索引

    print(msg.index("e"))       #所在位置
    
    print(msg[2])  #索引

    切片

    msg20 = 'nihao 123'
    print(msg20[0:3])  #切片
    print(msg20[0:])  #到结尾
    print(msg20[:])  #到结尾
    print(msg20[0:-1])  #到最后一个元素
    print(msg20[2:7:2])  #加步长

    3、 列表

    定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
    特性:
    1.可存放多个值
    2.可修改指定索引位置对应的值,可变
    3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

    names = ["zhangsan","wangxu","5","asdf",'www',"3","lisi","lisi","123",""]

    3.1 常用操作

    切片

    追加

    插入

    修改

    删除

    扩展

    拷贝

    统计

    排序&反转

    获取下标


    三、数据运算

    算术运算

    比较运算

    赋值运算

    逻辑运算

    成员运算

    身份运算

    位运算


    四、字符串操作

    1、基本操作

    #去除空格
    msg19 = '123ad asdf\n'
    print(msg19.strip())  #移除左右空格
    print(msg19.lstrip())  #移除左空格
    print(msg19.rstrip())  #移除右空格
    
    #切片
    msg20 = 'nihao 123'
    print(msg20[0:3])  #切片
    print(msg20[0:])  #到结尾
    print(msg20[:])  #到结尾
    print(msg20[0:-1])  #到最后一个元素
    print(msg20[2:7:2])  #加步长
    
    #长度
    print(len(msg20))  #查字符长度
    
    #索引
    print(msg20[2])  
    
    #分割
    print(msg20.split())   #以空格分割
    print(msg20.split('l'))   #以"l"分割

    2、有可能用到的操作

    msg = "hello world"
    print(msg.capitalize())  #首字母大写
    
    print(msg.center(20))   #居中显示
    print(msg.center(20,'*'))   #填充‘*’,居中显示
    
    print(msg.count('l'))       #统计‘l’数量
    print(msg.count('l',4,10))  #统计4-10‘l’数量
    print(msg.count('l',4,-1))  #统计4-结尾‘l’数量
    
    print(msg.find("d"))    #是否存在,所在位置
    print(msg.index("e"))       #所在位置,不存在报错
    
    print("{0} {1} {0}".format('name',"age"))
    print("{}{}".format('name',"age","alex"))
    print("{name}".format(name='alex'))
    
    msg3 = '123aaa'
    print(msg3.isalnum())   #判断是否是字母或数字
    print(msg3.isalpha())   #判断是否是字母
    print(msg3.isdigit())   #判断是否是Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
    
    msg9 = "aA"
    print(msg9.islower())  #是否都为小写
    print(msg9.isupper())  #是否都为大写
    
    msg13 = 'abc'
    print(msg13.ljust(10,"*"))  #左对齐
    print(msg13.rjust(10,"*"))  #右对齐
    
    msg14 = 'Aelx'
    print(msg14.lower())    #都转成小写
    print(msg14.upper())    #都转成大写

    3、那些我都想不到怎能用的操作

    msg16 = 'my name is abcd  '
    table=str.maketrans("abcd","alex")
    print(msg16.translate(table))     #加密
    
    
    msg17 = 'my name is abcd  '
    print(msg17.zfill(20))      #不到20填充0
    
    msg11 = " "
    print(msg11.isspace())  #是否为空格
    
    msg8 = "if "
    print(msg8.isidentifier())  #是否包含关键字
    
    msg1 = 'a\tb'
    print(msg1.expandtabs(11))      #设定tab的数量
    
    print(msg.endswith("d"))        #判断结尾是否为d

    五、列表操作

    names = ["zhangsan","wangxu","5","asdf",'www',"3","lisi","lisi","123",""]
    
    
    #
    names.append("zhangZhenxing")       #在后面增加
    names.insert(2,"刘思佳")               #从第二个加入
    names.insert(1,"sunhaitao")
    
    #
    names.remove("www")
    del names[3]
    names.pop(6)   #删除并返回
    names.pop()   #删除最后一个
    
    
    #
    names[1] = "王旭"
    
    
    #
    print(names[-2])        #取倒数第二个
    print(names[0::2])
    print(names[-3:])       #取最后三个
    print(names[:3])       #取前三个
    print(names.index("5"))   #如果有返回下标
    print(names.count("alex"))   #查查有多少个
    
    
    #两个列表的合并
    n2 = ["jack","rain",1,3,2,3,"*"]
    names.extend(n2)    #不能放到print内执行
    print(names)
    
    
    #反转
    names.reverse()    #不能放到print内执行
    print(names)
    
    #排序
    #names.sort()
    #print(names)     #py3不支持字符,数字混排
    
    n5 = [1,2,34,4,54,6,76]
    n5.sort()   #不能放到print内执行
    print(n5)
    
    
    #copy   
    n3 = names.copy()    #不能放到print内执行
    n4 = names
    print(n3,id(names),id(n3))
    print(n4,id(names),id(n4))
    
    
    #统计
    names.count(3)

    六、for循环

    猜名字之for循环

    oldboy_age = 56
    
    for i in range(3):
        input_age = int(input("pls input age:"))
        if input_age == oldboy_age:
            print("your right!")
            break
        elif input_age >  oldboy_age:
            print("bigger!")
        else:
            print("smaller!")
    else:
        print("gun!")

    七、while 循环

    猜名字之while循环

    age_of_oldboy = 56
    
    count = 0
    while count < 3:
        input_age = input("input oldboy age:")
    
        if input_age.isdigit():        #判断是否为数字
            input_age = int(input_age)
        else:
            print("pls digit!!!")
            continue
    
        if input_age == age_of_oldboy:     #判断是否正确
            print("right,you get it")
            break
        elif input_age > age_of_oldboy:
            print("wrong,think smaller")
        else:
            print("wrong.think bigger")
    
        count +=1
    else:
        print("you have tried too many times..fuck off")
  • 相关阅读:
    查询剩余存储空间
    1090. Highest Price in Supply Chain (25) -计层的BFS改进
    1079. Total Sales of Supply Chain (25) -记录层的BFS改进
    1076. Forwards on Weibo (30)
    1098. Insertion or Heap Sort (25)
    1077. Kuchiguse (20)
    (一二四)tableView的多组数据展示和手动排序
    1096. Consecutive Factors (20)
    (一二三)基于GCD的dispatch_once实现单例设计
    1084. Broken Keyboard (20)
  • 原文地址:https://www.cnblogs.com/fengdao/p/5970451.html
Copyright © 2011-2022 走看看