zoukankan      html  css  js  c++  java
  • python的一点点学习笔记

    自学语言,比较艰难,希望能坚持下去。


    字符串处理函数

    len(x)	返回x的长度
    str(x)	与eval函数相反 在两侧加引号
    chr(u) 	通过Unicode编码u返回对应的字符
    ord(x)	返回字符x对应的Unicode编码
    

    字符串处理方法

    str.lower()/str.upper()  将全部字符小写/大写
    str.split(sep=None)  返回一个列表,由str根据sep被分割的部分组成,默认为所有的空字符,包括空格、换行(
    )、制表符(	)等
    str.count(sub)  返回子串sub在str中出现次数
    str.replace(old,new)  将str中所有old字串替换为new
    str.center(width[,fillchar]) 字符串str根据宽度width居中,fillchar作为填充字符
    str.join(iter) 在iter变量除最后元素外每个元素后加一个str
    ",".join("12345") 结果为 "1,2,3,4,5" 主要用于字符串分割
    

    字符串格式化

    image-20210126172520810

    需要注意的是,如果要输出的位数超过了规定的宽度,则以实际输出位数为准

    需要重点理解的是,format的槽机制,槽中可以嵌套槽,用来表示宽度、填充等含义。比如这道题

    image-20210126172852447

    n = eval(input())
    for i in range(1, n+1, 2):
        print("{0:^{1}}".format('*'*i, n))
    

    这里就是槽中又嵌套了一个槽,很灵活


    循环的高级用法

    for ...:
        ...
        break
    else:
    	...
    

    else可以跟在for/while后面用,表示如果没有在循环中执行break,那么执行else中的语句

    随机数函数

    random() 生成[0,1)随机小数
    seed(x) 以x为种子
    randint(a,b) 生成[a,b]随机整数
    randrange(m,n[,k]) 生成[m,n)以k为步长的随机整数
    uniform(a,b) 生成[a,b]随机小数(16位)
    choice(seq) 从序列seq中随机选择一个元素
    shuffle(seq) 将序列seq中元素随机排列
    

    以字符串形式调用函数的方法

    print(eval("calc({})".format(input())))
    

    很巧妙,{}完全被输入的内容替代,再用eval去掉引号,相当于实现了print(calc(input()))print(calc(eval(input())))

    但是为什么不能像上述这样实现呢

    比如输入是1,2,3,4,那么input()返回的实际上是“1,2,3,4”这一整个字符串,不能被正常传参传进calc里,又或者eval之后这个输入的1,2,3,4自动变成了元组(1,2,3,4),也是无法传参的

    因此这个以字符串形式调用函数的方法十分巧妙,即先用引号括住,这样就保证了输入的内容可以无损粘贴到calc()的括号中去

    当你走进这欢乐场
  • 相关阅读:
    JSP内置/隐式对象(9个)
    会话技术——Cookie&Session
    Head First Java——读书笔记(一)
    并发和并行
    HotSpot
    域对象的比较
    书籍——Java
    润乾报表基础知识
    Android引导页过多导致OOM内存泄漏
    AngularJS 之1-初识
  • 原文地址:https://www.cnblogs.com/YoungNeal/p/14331799.html
Copyright © 2011-2022 走看看