zoukankan      html  css  js  c++  java
  • python基础语法3 整形(进制转换),浮点,字符串,列表

    整形:

    ========================基本方法===========================
    用途: 一般用于定义整数:年龄、身份证号、qq号
    定义方式:
    age = 18 # age = int(18)

    进制之间的转换:
    其他进制转10进制

    二进制转十进制:0,1

    110 1 * (2**2) + 1 * (2**1) + 0 * (2**0) = 4 + 2 + 0 = 6

    八进制转十进制:0-7

    123 1 * (8**2) + 2 * (8**1) + 3 * (8**0) = 64 + 16 + 3 = 83

    十六进制转十进制:0-9 a-f

    321 3 * (16 ** 2) + 2 * (16 ** 1) + 1 * (16**0) = 768 + 32 + 1 = 801

    print(int("110",2))      #二进制转十进制      
    print(int("123",8))      #八进制转十进制  
    print(int("321",16))     #十六进制转十进制  

    result:

      6
      83
      801

    10进制转其他进制: 0-9

    # 十进制转二进制:
    print(bin(108))  # 0b 1101100
    
    # 十进制转八进制:
    print(oct(83))   # 0o 123
    
    # 十进制转十六进制:
    print(hex(1000))  # 0x 3e8

    =========================类型总结==========================
    1.有序or无序    (有索引的类型都是有序的)     无序
    2.可变or不可变     int整型是不可变类型

    值变id不变就是可变类型
    值变id也变就是不可变类型

    3.存一个值or存多个值  存一个值

    浮点型:

    ========================基本方法===========================
    用途:用于记录小数,身高,体重,薪资
    定义方式: height = 1.0 # height = float(1.0)

    =========================类型总结==========================
    有序or无序    无序
    可变or不可变   不可变
    存一个值or存多个值   存一个值

    字符串:

    ========================基本方法===========================
    用途: 用于存储一些描述性信息,名字。。
    定义方式:

    第一种:s1 = '大象'
    第二种:s2 = "大象2"
    第三种:s3 = '''大象3''' 或 s4 = """大象4"""

    以上三种方式没有任何区别,但是不能混用

    s5 = '你今天"吃饭"了吗'  #混用时引号注意区分

    补充:字符串前面加一个小写的r,代表转义

    常用方法:

    优先掌握知识点
    1、索引取值(正向取、反向取),只能取不能存

    s1 = 'hello world'
    
    print(s1[4]) # 正向取
    print(s1[-7]) # 反向取

    2、索引切片 : 截取字符串中的一小段字符串

    print(s1[2:5])    #llo
    print(s1[4:])     #o world
    print(s1[:5])     #hello
    print(s1[0:-2:2]) #hlowr     步长为2
    print(s1[::-1])   #dlrow olleh   

    3、成员运算:in not in

    print("o" not in s1)   #False

    4、strip :去除字符串左右两边的空格,中间不算

    input无论接受的是什么类型,一定返回的是字符串

    name = input(">>:").strip()   #默认去除左右两边空格
    print(len(name))
    
    a1 = '$$$$sean$$$'
    print(a1.strip("$"))     #去除左右两边$

    5、split : 切分: 对字符串进行切分,可以指定切分的分隔符,返回是一个列表

    a1 = 'sean 18 male'
    print(a1.split())  #默认为按照空格分割,可以填入字符,按照字符分割
    #['sean', '18', 'male']

    6、len() :获取当前数据中的元素的个数

    a1 = 'hello'
    print(len(a1))   #5

    7、for语句

    a1 = 'hello'
    for i in a1:
        print(i)

    需要掌握知识点:

    strip,rstrip,lstrip

    a='***asb***'
    inp = a.lstrip("*")   #去除左面的*
    print(inp)    #asb***

    lowerupper

    s1 = 'Hello world'
    #转换为大小写
    print(s1.upper())   #HELLO WORLD
    print(s1.lower())    #hello world

    startswithendswith  : 判断当前字符串是否以。。。开头,或者以。。结尾,返回的一定是布尔值

    print(s1.startswith("He"))   #True
    print(s1.endswith('lK'))       #False

    .format

    print("你的名字是:",name,"你的年龄是,",age)
    print("你的名字是:{},你的年龄是:{}".format(name,age))
    print("你的名字是:{1},你的年龄是:{0}".format(name,age))
    print("你的名字是:{name},你的年龄是:{age},{gender}".format(age=age,name=name,gender='male'))

    f-string:通过大括号接收变量,在字符串前面一定要加一个小写f,,,,在python3.6以后才有

    print(f"你的名字是:{name},你的年龄是:{age}")

    split split

    s1 = "name,age,gender"
    print(s1.rsplit(",",1))  # 从右切割,指定切分的次数为1
    #['name,age', 'gender']

    join : 将(列表)中每个元素按照前面字符串中的分隔符进行拼接

    l1 = ['sean','18','male']
    print("|".join(l1))   #sean|18|male

    replace:将字符串中的元素进行替换,参数,先老值,再新值

    s1 = 'sean,18'
    print(s1.replace("sean",'大象'))   #大象,18

    isdigit() : 判断当前字符串中的数据,是否是一个数字,返回布尔值

    score = input("please input your score:")
    
    if score.isdigit():
        score = int(score)
        if score >= 90:
            print('优秀')
    else:
        print("你tmd能不能好好输")

    =========================类型总结==========================
    1.有序or无序 : 有序
    2.可变or不可变 :不可变类型
    值变id不变就是可变类型
    值变id也变就是不可变类型
    3.存一个值or存多个值 : 存一个值

    字符串要了解的知识点:

    find findindex indexcount

    find # 查找当前字符串中某个元素的位置,返回索引,找不到返回-1

    s1 = '你今天吃饭吃了吗?'
    print(s1.find(""))    #8

    index  # 查找当前字符串中某个元素的位置,返回索引,找不到返回异常

    print(s1.index(""))     #8

    count  # 统计当前字符串中某一个元素的个数

    print(s1.count(""))     #2

    centerljust justzfill      #用zifu

    print("欢迎光临".center(10,"-"))    #---欢迎光临---
    print("欢迎光临".ljust(10,"-"))     #欢迎光临------
    print("欢迎光临".rjust(10,"-"))     #------欢迎光临
    print("欢迎光临".zfill(10))         #000000欢迎光临

    expandtabs()  #设置表格举例参数    为绘制表格

    s1 = """
    sean	18	male	
    """
    print(s1.expandtabs(20))

    is系列

    isnumeric()
    True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
    False: 无
    Error: byte数字(单字节)
    isdigit()
    True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
    False: 汉字数字
    Error: 无
    a = b'10'
    b = '10'
    c = ''
    d = ''
    print(type(a))          #<class 'bytes'>
    print(b.isnumeric())    #True
    print(c.isnumeric())    #True
    print(d.isnumeric())    #True
    

    #isdigit: unicode,bytes print('--------') print(a.isdigit()) #True print(b.isdigit()) #True result: <class 'bytes'> True True True -------- True True

    列表:

    ========================list基本方法===========================
    用途: 用于存一个或者多个不同类型的值
    定义方式: 通过中括号存值,每个值之间通过逗号进行分隔
    常用方法:

    优先掌握的知识点

    1、索引取值(正反都可以),不仅可以取还可以存

    l1 = [1, 2, 3, 4,5]
    print(l1[2])
    l1[2] = 222
    print(l1)

    2、索引切片

    print(l1[1:4])

    3、append() : 追加值。只能添加到列表的最后一位,一次性只能添加一个值

    l1.append(10000)  
    print(l1)
    l1.append([9,0])    
    print(l1)

    4、insert() : 插入值,通过索引指定插入的位置

    l1.insert(3,999)     #在索引3的位置插入999
    print(l1)

    5、extend()  #只能传入一个迭代器类元素,相当于把其中所有元素全部加入列表

    l1.extend([6,7,8])
    print(l1)

    6:remove : 指定值删除,比较彻底(从左到右,删除第一个指定元素)

    l1.remove(1)
    print(l1)

    7、pop() : 不传值,默认从最后开始删,指定索引删值,pop是有返回值的

    l1 = [1, 2, 3, 4,5]
    
    val = l1.pop(2)
    print(l1)       #[1, 2, 4, 5]
    print(val)      #3
    l1.pop()        #删除最后一个元素
    print(l1)    #[1, 2, 4]
    l1.pop()
    print(l1)
    l1.pop()
    print(l1)

    8、万能删: del

    del l1[0]    #删除l1列表第一个元素
    del l1       #删除l1列表

    9、count:统计当前列表内指定元素的个数

    l1=[1,2,3,4,1]
    print(l1.count(1))      #2

    10、index : 获取当前指定元素的索引值,还可以指定指定查找范围

    l1 = ['sean', 'egon', 'tank', 'sean']
    print(l1.index('sean',1,4))             #起始位索引1,终止位索引4
    #3

    11、sort:排序,在原列表上进行排序操作

    l2 = [2, 1, 4, 6, 8, 3, 5, 6]
    l2.sort(reverse=True)   #倒叙
    print(l2)       #[8, 6, 6, 5, 4, 3, 2, 1]
    l2.sort()
    print(l2)       #[1, 2, 3, 4, 5, 6, 6, 8]

    12、sorted   python的内置函数,在排序时生成了一个新列表,原数据不变

    l3 = sorted(l2)  # python的内置函数,在排序时生成了一个新列表,原数据不变
    print(l3)    #[1, 2, 3, 4, 5, 6, 6, 8]

    13、clear()   清空

    l2.clear()
    print(l2)   #[]

    列表中有队列和堆栈两种

    队列:先进先出

    l1 = []
    l1.append(1)
    l1.append(2)
    l1.append(3)
    print(l1)     #[1, 2, 3]
    l1.pop(0)
    print(l1)     #[2, 3]
    l1.pop(0)
    l1.pop(0)
    print(l1)     #[]

    堆栈:先进后出

    l1 = []
    l1.append(1)
    l1.append(2)
    l1.append(3)
    print(l1)       #[1, 2, 3]
    l1.pop()
    print(l1)       #[1, 2]
    l1.pop()
    print(l1)       #[1]
    l1.pop()
    print(l1)       #[]

    =========================类型总结==========================
    有序or无序      有序
    可变or不可变      可变
    存一个值or存多个值      存多个值

  • 相关阅读:
    BZOJ3631 [JLOI2014] 松鼠的新家
    HDU
    HDU
    HDU
    二分图求最大独立集模板
    HDU
    HDU
    HDU
    Codeforces 1197F Coloring Game 矩阵快速幂 (看题解)
    HDU
  • 原文地址:https://www.cnblogs.com/ludingchao/p/11799889.html
Copyright © 2011-2022 走看看