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

    print输出
    print(char, end='
    ') #end表示以
    结尾,就是换行

    变量


    # 变量类型:字符串str 整数int 小数float
    # Python不需要在变量前加int,string,float
    # 一个引号,两个引号,3个引号都可以表示字符串
    1 name = "小黑"
    2 age = 18
    3 score = 98.5
    4 words = " let's go "
    5 words2 = 'you are very "high" '
    6 wrods3 = '''  let's go, you are very "high"  '''
    7 wrods4 = """ xxxx """
    # 用 = 赋值
    1 couter =100  # f赋值整型变量
    2 miles=1000.00  # 赋值浮点型变量
    3 name="John"  # 赋值字符串
    # 多个变量赋值
    1 a=b=c=1
    2 print(a)
    3 a,b,c=1,2.0,"name"
    4 print(a,b,c)
    # 字符串格式化  
    # %s 变量转为字符串
    # %d 变量转为整数
    # %f 变量转为小数
    1 today = datetime.datetime.today()
    2 words5 = "欢迎登陆," + name + ",今天的日期是" + str(today)
    3 words6 = "欢迎登陆,%s,今天的日期是%s" % (name,today)
    4 print(words5)
    5 print(words6)

      #变量交换

    a=1
    b=2
    1.引入第三方变量
    # c=a
    # a=b
    # b=c
    2.第二种方法
    # a,b=b,a
    3.第三种方法
    a=a+b
    b=a-b
    a=a-b

    运算符

    # python运算符
    # 算数运算符 = - * / % **(幂次方) //(取整除)
    age = 5
    sum = age + 1
    number = age - 1
    number2 = age * 3
    number4 = age / 4     # 正常,在python2里面它就是地板除,如果你要变成正常的除法,那么除数或者被除数要有一个是小数类型
    number5 = age // 4  # 地板除,只保留整数部分
    number6 = 2**3  # 取N次方的,2的3次方
    number7 = 10 % 3  # 取余,取模,取余数的意思
    # 比较运算符 == !=  > <  >=  <=
    print(a != b)
    print(a >= b)
    # 赋值运算符 = += -= *= /= %= **= //=
    a %= b
    print(a)
     
    # 位运算符   & | ^ ~
    # &:按位与运算符:参与运算的2个值,都为1,则结果为1,否则为0
    # |: 按位或运算符:参与运算的只要有1个1,则结果为1,否则为0
    # ^: 按位异或运算符:当两对应的二进位相异时,结果为1
    # ~:按位取反运算符:对数据的每个二进制位取反
    # <<:左移位运算符:运算数的个二进制位全部左移若干位
    # >>:右移位运算符:运算数的个二进制位全部右移若干位
    c=a<<2
    print(c)
    d=a>>2
    print(d)

    # 逻辑运算符
    1 print( "" in "男女" )
    2 print( 3 < 2)
    3 print( len("")==1 and "" in "男女")
    # and
    # True True -->true
    # Flase False -->false
    # True False -->fasle

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

    数据类型

    # 数据类型:数字、字符串、列表、元祖、字典
    # 数字类型分:int、long(3.x里用int代替)、float、complex(复数)
    # 字符串类型
    1 s='abcdefg'
    2 # python字符串的取值:从左到右索引默认从0开始;从右到左索引默认从-1开始
    3 a=s[0:4] # 获取从左到右第一个到第五个的值
    4 b=s[-3:-1] # 获取从右到左第一个到第三个的值
    5 print(a,b)
    6 print(s[1]) # 打印第2个字符
    7 print(s[1:]+'test') # 打印第2个字符后面的所有值
    8 print(s[0:4:3]) # 打印从第1个字符开始到第5个字符之间,长度为3
    # 列表【list】是Python中应用最多的数据类型
    
    
    1 print("-------列表------")
    2 list=['runoob',786,2.23,'john',70.3]
    3 tinylist=[123,'john']
    4 print(list)
    5 print (list[0:3]) #输出list列表中第1个到第4个的元素
    6 print(list[4:]+tinylist)
    
    
    # 列表是有序的对象集合,字典是无序的对象集合,字典当中的元素是通过键来存取的,而不是通过偏移
    # 字典是用{}来标识,由key和它对应的值value组成
     1 print("-------字典------")
     2 dict={}
     3 dict['one']="This is one"
     4 dict[2]="This is two"
     5 tinydict={'name':'zhengpei','age':'28','data':'1992'}
     6 print(dict)
     7 print(tinylist)
     8 print(tinydict['name'])
     9 print(tinydict.keys())  # 打印tinydict里面所有的keys值
    10 print(tinydict.values()) # 打印tinydict里面所有的values 值
    # tuple 元祖
    # 元祖用()表示
    1 list1 = [1, 2, 3]
    2 tuple1 = (1, 2, 3)
    3 print(t[0])
    # python数据类型置换
    1 a=int("123")
    2 print(a)

    字符串

    s="我的"
    # 找元素,找不到会报错
    print(s.index("b"))
    # 找元素,找b元素,指定从位置1到位置4找
    s.index("b",1,4)
    # 找元素,找不到返回-1
    print(s.find("e"))
    # 去空格,去掉左右两边空格和换行符,中间的去不掉
    print(s.strip())
    # 去空格,去掉左右两边指定的字符,中间的去不掉
    print(s.strip(".jpg"))
    # 去掉左边空格
    print(s.lstrip())
    # 去掉右边空格
    print(s.rstrip())
    # 全部变大写
    print(s.upper())
    # 全部变小写
    print(s.lower())
    # 统计字符出现的次数
    print(s.count("a"))
    # 判断字符串是否为整数
    print(s.isdigit())
    # 判断字符串是否全是字母和数字,如果有特殊字符,返回false
    print(s.isalnum())
    # 判断字符串是否都是字母和汉字,如果有其他的,返回false
    print(s.isalpha())
    # 是否以132开头
    print(s.startswith("132"))
    # 是否以.jpg结尾
    print(s.endswith(".jpg?@"))
    # 补0
    num="1"
    print(num.zfill(5)) #将字符串num补成长度为5位的,num前面补4个0
    # 替换字符串中的内容
    str1=" zhengpei , 你 好 "
    print(str1.replace("zhengpei", "duhao")) # 把zhengpei替换成duhao,不改变原str1的值,返回了一个新的字符串
    print(str1.replace(" ", "")) # 将字符串中的所有空格都改为空(去掉所有空格)
    print(str1.replace(" ", "",2)) # 将字符串中的空格替换掉2次

    # 分割字符串,可以用于将字符串转为list
    
    
    stu="zhengpei
    duhao  tengfei"
    print(stu.split(",")) # 用,来分割字符串,分割结果放到一个list里面
    print(stu.split())   # 不传值默认用空格和
    分割
    # 连接字符串
    stu_list=['zhengpei', 'duhao', 'tengfei']
    print(",".join(stu_list))  # 将stu_list中的每个元素用,链接
    name="pei"
    print("-".join(name))
    # 字符串里的每个字母串的首字母都改大写
    print(s.title())
    # 判断首字母是否是大写
    print(s.istitle())
    # 字符串里出现的第一个字母改大写
    print(s.capitalize())
    # 判断字符串是否都是空格
    print(s.isspace()) # 字符串是空格和空的字符串是不一样的
    # 把字符串放到中间
    print(s.center(50, "*")) # 字符串里的每个字符的首字母改大写
    # 判断字符串是否都是大写
    print(s.isupper())
    # 判断字符串是否都是小写
    print(s.islower())

    import string
    print(string.digits)#输出所有的整数
    print(string.ascii_lowercase)#输出所有的小写字母
    print(string.ascii_uppercase)#输出所有的大写字母
    print(string.ascii_letters)#输出所有的大写字母和小写字母
    print(string.punctuation)#输出所有的特殊符号



    # 字符串格式化方法
    # 第一种 用+号
    date="2020-1-20"
    print("登录的用户是:"+s+"日期是:"+date)
    # 第二种 %s 、%d、%f
    print("登录的用户是:%s,日期是:%s" %(s,date))
    # 第三种 fomat 和fromat_map
    msg="欢迎{name}登录,今天的日期是{date}"
    print(msg.format(name="zhengpei",date="2020-1-20"))
    msg1="欢迎{name}登录,今天的日期是{date}".format(name="zhengpei",date="2020-1-20")
    print(msg1)
    msg2="欢迎{}登录,今天的日期是{}".format("zhengpei","2020-1-20")
    print(msg2)
    # format_map和format的区别是:map传的是字典,format传的是字符串
    msg3="欢迎{name}登录,今天的日期是{date}".format_map({"name":"zhengpei","date":"2020-1-20"})
    print(msg3)
    # 第二种和第三种区别
    # insert into user values (%s,%s,%s,%s,%s)%(name,pwd,addr,telephone,email)
    # insert into user values ({name},{pwd},{addr}).format(name="xxx",pwd="xxx",addr="xxx")
    # 第四种 python3.6版本以上才有 f"{str}"
    print("您的账号是:{s}")







    数组(列表)

    1 stus = [ "曾若天","吴康飞","刘慧杰" ]
    # 取元素
    1 print(stus[0])
    2 print(stus[-1])  #取倒数第一个
    # 新增
    1 stus.append("candy")  # 在列表最后进行增加
    2 stus.append("李雪松")
    3 stus.insert(0,"赵莹莹") # 在指定位置新增
    4 stus.insert(2,"李兴培")
    # 修改
    stus[2] = "python"
    # 删除
    1 stus.pop()  # 删除末尾的元素
    2 stus.pop(0)  # 删除指定下标的
    3 stus.remove("candy")  # 删除指定的元素,如果有多个只删除第一个
    4 del stus[0]  # 删除第一个元素
    # 查找元素出现的次数
    print(  stus.count("candy") )
    # 排序
    1 nums = [82,23,235,236,121,1,0,3,25,26]
    2 nums.sort()  # 排序,默认是升序,会改变列表的值
    3 nums.sort(reverse=True)  # 降序排序
    4 print(nums)
    # 反转list 清空list  list1加入list2
    1 nums.reverse()  # 反转list,会改变原来list的值
    2 stus.clear()  # 清空list
    3 stus.extend(nums)  # 把另外一个list里面的元素都加入到一个list里面

     # 循环

    
    
    方法一
    for index in range(len(l)):
    print(l[index])
    方法二
    1
    # 直接循环list,就是取list里面的每个元素 2 for name in l: 3 print(name)
    多维数组
    1 list1 = [1,2,3,4,5,6,[7,8,9,10,11]]  # 2维数组
    2 list2 = [1,2,3,4,5,6,
    3       [  7,8,9,10,11,["zengruotian",'abc']
    4        ]
    5       ]  # 3维数组
    6 print(list1[-1][3])  # 输出最后一个元素里面的第3个元素
    7 print(list2[-1][-1][0])   # 输出最后一个元素里面的最后一个元素的第1个
    
    
    stdents = [
    ["曾若天","18","180","150","北京"],
    ["liuhuijie","18","180","150","北京"],
    ["candy","18","180","150","北京"],
    ["lixuesong","18","180","150","北京"],
    ]
    # 取值
    
    
    print(stdents[0][0])  # 输出第一个元素里面的第一个元素
    
    
    # 增加
    1 stdents.append(123)  # 在最后面增加元素123
    2 stdents.insert(1,111)  # 在index为1的位置增加元素111
    3 stdents.append([1,2,3])  # 在最后面增加list[1,2,3]
    4 stdents.insert(0,["xixixi","hahaha"])  # 在最前面增加list["xixixi","hahaha"]
    # 删除
    1 stdents.pop()  # 删除最后一个元素
    2 stdents.pop(0)  # 删除第一个元素
    3 stdents.remove(["liuhuijie","18","180","150","北京"])
    4 stdents[0].remove("18")  # 删除第一个元素里面是18的元素
    5 print(stdents)
    #修改
    
    
    1 stdents[0] = 123  # 修改第一个元素为123
    2 stdents[2][0]="zhengpei"  # 修改第2个元素的第1个元素为zhengpei
    3 print(stdents)
    
    
    # 遍历多维数组
    # 直接循环list,就是取list里面的每个元素
    
    
    1 for lis in stdents:
    2     print(lis)
    
    

     切片

    # 切片是list范围取值的一种方式,切片输出的结果是包括前面的参数不包含后面参数的

    li1=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    li1=list(range(0,10)) # 生成从0-9的list,py2.0中range()直接就是一个list,3.0中需要手动转成list
    print(li1)
    print(li1[0:10])  # 取li1坐标从0-9的元素
    print(li1[:10])  # 取坐标10前面的所有元素,不包括10的
    print(li1[1:])  # 取坐标1后面的所有元素,包括1的

    # li1[开始坐标:结束坐标:步数]
    # 步数如果是正数表示从做往右取,步数是负数表示从右往左取
    print(li1[0:10:2]) #取坐标0-9的元素,步数为2,隔2个取一次
    print(li1[-1:-5:-1]) #取坐标-1到-5的元素,隔一个取一次,-1表示从右往左取
    print(li1[::-1]) # 可以将list反转,相当于li1.reverse()

    # 切片也适用于字符串
    s="abcdefg"
    print(s[0:3])

    元祖
    # tuple 代表元祖
    # 元祖用()表示
    # Python的元组与列表类似,不同之处在于元组的元素不能修改。如果不希望内容被修改,就用元祖
    # 元组使用小括号,列表使用方括号。
    # 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
     1 list1 = [1,2,3]
     2 t = (1,2,3)
     3 print(t[0])
     4 for i in t: 
     5     print(i)
     6 info = ("118.23.3.40", "root",  "123456", "3306")
     7 print(info.count("root"))
     8 print(info.index("root"))
     9 info = ("118.23.3.40", "root1",  "123456", "3306")
    10 print(info)

    字典
    # 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
    # 字典中的key不能重复命名
    student_info = {
    "addr": "武汉",
    "name":"郑佩",
    "age":28,
    "high":154,
    "tizhong":105,
    }
    # 增
    
    
    student_info["local"]="wuhan"   # 如果值不存在,则新增,存在则修改
    student_info.setdefault("car1","honda")  # 如果值不存在,则新增,存在则不会修改已有的值
    
    
    # 修改
    student_info["age"] = 19
    # 取值
    # 两种方式区别是:直接用中括号取不存在的值会保持抛异常,如果用get取不存在的值,会返回KeyError
    
    
    print(student_info["name"])
    print(student_info["age"])
    print(student_info.get("addr"))
    print(student_info.get("tizhong"))
    
    
    # 删除
    student_info.pop("car1")
    del student_info["local"] #和上面的删除没有区别
    student_info.popitem() #删除最后一个元素
    # 其他的方法
    student_info.clear() #清空
    d = {"phone":110}
    student_info.update(d) #合并两个字典
    print(student_info.values())  # 输出字典的所有values值
    print(student_info.keys())  # 输出字典的所有key值
    print(student_info.items())  # 输出字典
    print("name" in student_info.keys()) # "name"这个值是否在字典的keys中
    print("name" in student_info) # 和上面那行一样,不加keys,默认就是判断keys
    print(18 in student_info.values())  # 18是否在字典的values中
    student_info.has_key("name")#判断是否存在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))
    
    for key,value in student_info.items():  #简单,但是运行效率没有上面那种好
        print("%s  %s" %(key,value))
    
    for key in student_info:
        print(key,student_info[key])

    字典嵌套
    info = {
    'lgy':{
    'age':18,
    'addr':'beijing',
    'cars':['bmw','ben-z','audi']
    },
    'fd':{
    'house':{
    'bj':['海淀区','昌平区','朝阳区','西城区'],
    'sh':['静安区','闸北区']
    },
    'money':5000
    }
    }
    # 增加
    info["lgy"]["cars"].append("tesla")
    #方丹 海淀区房卖了,卖了500w
    index = info["fd"]["house"]["bj"].index("海淀区")
    info["fd"]["house"]["bj"].pop(index)
    
    info["fd"]["house"]["bj"].remove("海淀区")
    info["fd"]["money"] = info["fd"]["money"]+500
    
    info["fd"]["money"]+=500
    print(info)

    判断
    if xxx:
    xxx
    elif xxx:
    xxx
    else:
    xxxx

    循环

    count = 0
    while count < 7:
        count = count + 1
    else:     #当while正常结束时,会执行else中的内容
        print("xxx")
    
    
    for i in range(7):
         print(i)
    else:     #当for循环正常结束时,会执行else中的内容
        pirnt("xxx")
     
  • 相关阅读:
    for循环计算
    使用for循环签到嵌套制作直角三角形
    使用if和switch制作简单的年龄生肖判断
    Echart设置x轴文字数据不隐藏
    前端可视化-表格-图形-工具
    Vue + Element 中的Echart单线图
    Vue + Element 实现多选框选项上限提示与限定
    前端网(http://www.qdfuns.com/)不能访问了
    JAVA 递归实现从n个数中选取m个数的所有组合
    前端知识点与小练习
  • 原文地址:https://www.cnblogs.com/zhengp/p/14691732.html
Copyright © 2011-2022 走看看