zoukankan      html  css  js  c++  java
  • int,str,bool,for循环

    今日内容:

    一、基本数据类型:

    1.int

    数字操作只有+-*/,//,%,**

    bit_length()   #查询二进制长度

    2.str的相关操作: 

    str可以把任何类型的数据(字典,元组,列表,集合)强行转换成字符串给引起来,这样就方便了文件的写入.(写入一个文本,必须是字符串类型!),但是反过来就不行.只能用eval()函数.注意eval()函数,有返回值,改的谁,谁来接收.

    #str没有clear(),remove(),pop()方法,字符串不能被修改,但是字符串的变量名可以重新赋值,所以replace()方法修改字符串只是把字符串的变量名从新赋值了,字符串其实没有变.

    content="123"
    print(id(content))
    content[0].replace("1","haha")
    print(content[0])
    print(id(content))

     format() 函数可以接受不限参数,位置可以不按顺序

    "{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
    输出结果为:'hello world'
     
     "{0} {1}".format("hello", "world")  # 设置指定位置
    输出结果为:'hello world'
     
     "{1} {0} {1}".format("hello", "world")  # 设置指定位置
    输出结果为:'world hello world'

     一:切片(顾头不顾尾),被'或者"或者"""括起来的内容

    s[start:end:step]
    start:开始
    end: 结束  #顾头不顾尾
    step: 步长, 控制方向. 每xx个取一个
    View Code

     二:索引(这个题比较经典)

    s = "默念哥没吃饭哥不说话"
    print(s[3::-3])    #end参数默认是0,全部,但是没有指向那个方向.所以注意step方向!
    输出结果为:没默
    View Code

    upper()       #全部改大写   之"输入验证码"

    verifyCode = "aEmn"
    veri = input("请输入验证码(%s)"%verifyCode)
    if veri.upper() ==verifyCode.upper():
        print("验证码正确")
    else:
        print("验证码错误")
    View Code

    count()       #计数

    lower()       #全部改小写,不支持部分特殊字符

    capitalize()     #开头改大写

    center()       #居中

    casefold()      #全部改小写,支持特殊字符

    s = "alex"
    s6 = s.center(10,"_")#长度,用_填充
    print(s6)

    strip(x)  #去两端空白      (包括空格,, , ),中间的内容不会动,可指定要删除的左右两边的内容.应用场景,防止出现商业纠纷.由于用户输正确账号密码后输空格会出现登陆错误,就会找你的问题,不太好看出BUG在哪里.这个方法就防止了问题的发生.

    uname = input("请输入你的用户名:").strip()#干掉用户的空格
    upws = input("请输入你的密码:").strip()#干掉用户的空格
    if uname =="alex" and upws == "123":
        print("登陆成功")
    else:
        print("登陆失败")

    replace(old,new)  #替换  有返回值,需要接收,返回类型为原类型

    s = "good alex good hello"
    s1 = s.replace("good","will")
    print(s1)

    split()#字符串切割,有返回值,需要接收,返回类型为列表

    s = "哈哈哈哈"
    s2 = s.split("哈")  #切出来的结果会放到一个列表中
    print(s2)
    结果是:['', '', '', '']

    starswith()#判断字符串是否以什么开头

    s = "python,哈哈,六六六"
    print(s.startswith("python"))
    输出结果为:True

    endswith()   #以什么结尾

    find(str,beg,end)和index()的使用  #查找某个元素的下标,  find方法找不到会返回-1;而index会报错

    s = "滋滋冒油的猪蹄子"
    #print(s.find("冒油"))
    #输出结果为:-1
    print(s.index("哈哈"))
    输出结果为:报错
    View Code

    isalpha()判断是否全部由字母组成,不包括数字,空格,但包括中文.

    s = "alexwusir"
    print(s.isalpha())
    View Code

    isdigit()和isnumeric()  #是否都是数字组成.前者识别阿拉伯数字,后者还能识别中文的阿拉伯数字

    s = "123456"
    print(s.isdigit())
    输出结果为:True
    s = "123一二仟"
    print(s.isnumeric())
    输出结果为:True
    View Code

    3.bool

    print(bool("哈哈"))#True
    print(bool(" ")) #空格是True
    print(bool(""))#字符串是False
    结论为:所有的空都可以表示False
    print(bool([]))#False 空列表
    print(bool({})#False 空字典
    print(bool(set()))#False 空集合
    View Code

    4.list

    5.tuple

    6.dict

    7.set

    8.bytes

    =========================

    #补充

    for循环.

    for 变量 in 可迭代对象:
    
      缩进+循环体
    
    for c in s:  #用变量 c 遍历(迭代)字符串 s
      print(c) 
    View Code

    #for循环有一个先决条件,就是in后面必须是可迭代对象,(数字不可迭代)

    for :不确定范围时,(str,list,dic,tuple,set)

    for 循环里不要做删除,因为会错位,出现意外,但是可以做替换replace()

    lst = ["ni hao","wo hao","ta hao"]
    for i in range(len(lst)): 
        if lst[i] =="ni hao":
            lst[i] = lst[i].replace("ni hao","123")
    print(lst)

    如何用for循环方法删除:迭代新列表,删除就列表

    a = []
    b = ["你好,我好,他也好","好的,真好","这些话都是真的啊?"]
    for i in b:
        a.append(i)
    print(a)  #现在里面内容跟b一致
    
    for c in a:
        if c=="好的,真好":
            b.remove(c)
    print(b)

     for 循环中允许使用continue()

    lis = ["nihao","wohao","tayehao"]
    for i in lis:
        if i=="wohao":
            continue
        else:
            print(i)
    输出为:nihao
    tayehao

    while:不确定循环次数

    ------------------------------------------------------------------------------------

    关于python中各类方法有没有返回值的问题:

    简单的来说除了count、index、copy、pop、sedefault外其他的方法都没有返回值,而且特别强调的是,copy返回的是该列表的值(若将该返回值复制给另外一个变量,则效果是对原列表的一个浅复制,即新的变量完成了对原列表的引用。python3中已经列表和字典的copy方法已经不存在浅复制的问题了,通过实践验证,采用copy得到的副本和原件之间不存在相互影响的问题),pop则是唯一的一个既原地修改原列表又能返回值的方法。
    ---------------------

  • 相关阅读:
    C#选择文件、选择文件夹、打开文件
    如何去掉数据库重复记录并且只保留一条记录
    SQL总结——存储过程
    SQL Server中的标识列
    c# 获取键盘的输入
    C# 中BindingSource 的用法
    WinForm timer 控件
    C#获得窗口控件句柄
    checkedListBox的使用
    c++从文件中读取特定字符串问题的总结
  • 原文地址:https://www.cnblogs.com/lgw1171435560/p/10033992.html
Copyright © 2011-2022 走看看