zoukankan      html  css  js  c++  java
  • python基础

    Python数据类型


    数据类型 字符串(string) 整数(int) 小数(float)
    例:
    name="小黑",age=18,score=98.5

    字符串中包含’可用”括起来 同样的 如果是包含” 可用’括起来 如果同时包含’”可用’’’括起来

    例:
    words="let's go"
    words2='you are very "high"'
    words3='''let's go,you are very "high"'''
    words4="""xxxx"""

    input

    name=input("请输入你的名字:") #input接收到的都是string类型  py2 raw_input()

    注释
    #、ctrl +? 注释、批量注释''' '''


    快速复制 ctrl +d


    字符串格式化

    import datetime
    today=datetime.datetime.today()
    words5="欢迎登陆,"+name+",今天的日期是"+str(today)
    words6="欢迎登陆,%s,今天的日期是%s"%(name,today)
    print(words5)

    #变量

    age=0
    age2=int(input())
    age3=age + age2

    print("age2的类型",type(age2))  #type是看变量的数据类型

    # %s %d %f
    print("新的年龄是 %s" %age3)
    print("新的年龄是 %.5f" %age3)

    字符串格式化:

                %s 什么类型都可以

                %d 只能是数值型的,它不保留小数,只取整数,如果写了字符串会报错

                %f 只能是数值型的,保留小数,如果写了字符串会报错


    #运算符

    age=5
    sum=age+1
    number=age-1
    number2=age*3
    number4=age/4 #正常 在python2里面它就是地板除 如果要变成正常的除法 那么除数或者被除数要有一个是小数类型
    number5=age//4 #地板除
    number6=2**3 #取N次方的
    number7=10 % 3 #取余 取模

    布尔类型

    布尔 True False #真 假


    print("男" in "男女")
    print(3<2)
    print(len("男")==1 and "男" in "男女")

    and
    True True -->true
    Flase False -->false
    True False -->false

    or
    True True -->true
    Flase False -->false
    True False -->true

    判断

    if xxx:
         xxx
     else:
         xxx

     username="admin"
     password="123456"
     username2="xiaohei"
    
    
     u=input("用户名:")
     p=input("密码:")
     if u==username:
         print("你是admin用户")
     elif u==username2:
         print("你是普通用户")
     else:
         print("用户名不正确")
     if u==username or u==username2 and p == password:
         print("欢迎%s登录"%u)
     else:
         print("用户名或者密码错误")
     if u==username or u==username2:
         if p==password:
             print("登录成功")
         else:
             print("密码错误")
     else:
         print("账号不存在")

     

    sex=input()
    print(len(sex)) #取长度
    sex_str='男女'
     if sex in sex_str and len(sex)==1:
         print('合法')
     else:
         print('非法')
    
     if sex not in sex_str:
         print('非法')
     elif len(sex)!=1:
         print('非法')
     else:
         print('合法')



    #比较运算符
     ==、 >、 <、>=、<=、!=、并且  and or、in 在xxx里面、not in不在里面

    循环

     

    循环 迭代 遍历
    for while

    循环:

    continue #如果在循环里面遇到continue,那么结束本次循环,立马进行下一次循环

    break  #如果在循环里面遇到break,循环立即结束,不管还有多少次没有循环

           while 循环,使用循环的话需要定义一个计数器,用来控制循环次数

           对应的else,如果循环是正常结束的,那么会执行else里面的代码,如果循环是被break结束的,不会执行


    while,计数器

     count=0
     while count <10:
         print("创建文件夹,文件夹名字是%s" %count)
         count=count+1
         break
     else: #如果循环正常结束的 那么会执行else里面的代码
         print("循环结束")
     import random
     number=random.randint(1,100)
     count=0
     while count<7:
         guess=int(input())
         count+=1
         if guess==number:
             print("pass")
             break
         elif guess<number:
             print("small")
             continue
         elif guess>number:
             print("big")
             continue


     += -= /= *=

    names=["aa","bb","cc","dd"]
     for name in names:
         if name=="aa":
             continue
         print("给发%s500钱"%name)
    
     import random
     number=random.randint(1,100)
     count=7
     while count>0:
         guess=int(input())
         count-=1
         if guess==number:
             print("恭喜猜对了,数字式%s" %number)
             break
         elif guess<number:
             print("small,剩余%s次"%count)
             continue
         elif guess>number:
             print("big,剩余%s次"%count)
             continue
     else:
         print("次数用完了")

    for循环
     for i in range(7):
         print(i)
     else:
         print("循环结束")

     import random
     number=random.randint(1,100)
     for i in range(7):
         guess=int(input())
         if guess==number:
             print("pass")
             break
         elif guess<number:
             print("small")
             continue
         elif guess>number:
             print("big")
             continue

    元祖

    # tuple 不能修改

    t=(1,2,3)
    print(t[0])
    for i in t:
        print(i)
    info=("118.23.3.40","root","123456","3306")
    
    print(info.count("root"))
    print(info.index("root"))

    数组

    #str int float bool list

    students="aa,bb,cc"
    #数组 列表
    stus=["cc","bb","cc","cc"]
           0     1     2
    下标 角标 索引

    取元素
    print(stus[2])#从0开始
    print(stus[-1])

    新增

     stus.append("dd")
     stus.append("ee")
     stus.insert(0,"ff")

    #修改

    stus[2]="python"
    stu=111
     if stu in stus:
         index=stus.index("stu") #如果查找不存在的元素 会报错
         print(index)
         stus[index]="gg"
         print(stus)

    #删除

     stus.pop() #删除末尾的元素
     stus.pop(0)#删除指定下标的
     stus.remove("cc")#删除指定的元素 只删除第一个
     del stus[0]
     print(stus)
    stus.count("aa") #查找元素出现的次数


     sort方法没有返回值

    stus.sort() 排序 默认是升序
    stus.sort(reverse=True) 排序 默认是升序 它只是排序
    print(stus)

    stus.reverse() #反转list,会改变原来list的值
    print(stus)
    stus.clear() #清空list
    print(stus)

    nums=[1,2,3]
    stus.extend(nums) #合并列表
    print(stus)

    多维数组

    l=['aa','bb','cc','dd',[1,2,3]] #2维数组
    l1=['aa','bb','cc','dd',[1,2,[4,5]]] #3维数组
    print(l[-1][1])
    print(l1[-1][-1][0])

    List循环

    import os
    l=['aa','bb','cc','dd']
    # 麻烦的方法 计算下标去取值

    count=0
    while count<len(l):
         name=l[count]
         os.mkdir(name)
         count=count+1
    for index in range(len(l)):
         print(l[index])

    一般用底下这种

     for name in l: #执行循环list 就是取list里面的每个元素
         print(name)
         os.mkdir(name)

    List练习

    students=[]
    while True:
        name=input("请输入学生名称:")
        if name=="quit":
            print("程序退出 现在的学生名单是",students)
            break
        elif name not in students:
            students.append(name)
            print("添加成功 现在的学生名单是",students)
            continue
        else:
            print("学生已存在,请重新输入")
            continue

    字典

    #字典

    student_info={
        "name":"aa",
        "age":11,
        "high":180,
        "dsd":"ddd"
    }
    aaa={"aa":1,"bb":2,"cc":3}

    增加

    student_info["money"]=30000
    student_info.setdefault("name","bmw")

    如果是已经存在的key setdefault不会修改已有的值

    修改

    student_info["name"]=30000

    取值

    print(student_info["name1"])
    print(student_info.get("name1"))

    # 取不存在的值 []方法报错 get方法返回None

    删除

    student_info.pop("name1")
    del student_info["age"]
    aaa.popitem() #随机删除一个元素 一般删除末尾对

    #其他的方法

    student_info.clear() #清空
    d={"aa":1,"bb":2}
    student_info.update(d) #合并两个字典

    print(student_info.values())
    print(student_info.keys())
    print(student_info.items())


    print("name" in student_info.keys())
    print("name" in student_info) #直接用in判断的话 就判断这个key是否存在
    student_info.has_key("name") python2里面有 python3没有

    for key in student_info: #直接循环字典,每次取的是字典的key,比较高效的方式
         value=student_info[key]
         value2=student_info.get(key)
         print("%s -> %s" %(key,value))
         print("%s -> %s" % (key, value2))


     print(student_info.items())

     for key,value in student_info.items():
         print("%s=>%s"%(key,value))

    字典嵌套

    info = {
        'lgy':{
            'age':18,
            'addr':'beijing',
            'cars':['bmw','ben-z','audi']
        },
        'fd':{
            'house':{
                'bj':['海淀区','昌平区','朝阳区','西城区'],
                'sh':['静安区','闸北区']
            },
            'money':5000
        }
    }
     info["lay"]["cars"].append("tesla")
    
     index=info["fd"]["house"]["bj"].index("海淀区")
     info["fd"]["house"]["bj"].pop(index)
     info["fd"]["house"]["bj"].remove("海淀区")
     info["fd"]["money"]+=5000000
     print(info)
  • 相关阅读:
    WebRTC视频采集中的约束有哪些和具体的使用方法
    解决WebRTC中不同的浏览器之间适配的问题
    WebRTC如何获取音频视频设备
    用C#调用外部DLL
    null值与非null只比较大小时,只会返回false
    jsonp实现js跨域请求
    同一域名的ASP.NET网站实现Session共享
    machinekey相关信息
    从bbs.3dmgame.com与qq的登录解析oauth2.0协议
    asp.net使用wsdl文件调用接口,以及调用SSL接口报错“根据验证过程 远程证书无效”的处理
  • 原文地址:https://www.cnblogs.com/muxia/p/14672568.html
Copyright © 2011-2022 走看看