zoukankan      html  css  js  c++  java
  • 全局变量、函数、文件基本操作、冒泡排序

    一、三元表达式

    #三元表达示
    a= 1
    sex = '男' if a ==1 else 'nv'
    # if a==1:
    # sex = '男'
    # else:
    # sex = '女'


    #列表生成式:按照某一个规则生成列表
    l = [1,5,6,7,44,54,67,346,8] #
    l2 = [str(i)+'km' for i in l ]#循环l2 ,list可以循环,循环后数据保存在listli
    l3 = [str(i)+'km' for i in l if i >= 30]#循环后把结果保存起来,可以加判断
    print(l3)


    全局变量、局部变量
    # def func():#有多个返回值,拿一个变量来接收放在一个元组里面,拿多个变量来接收,就不是元组
    # a =1
    # b =2
    # c =3
    # return a,b,c
    # result = func()
    #print(result)

    # #为什么可用多个变量来接收:→ 解包
    # info = ['xiaobai','beijing','haiding']
    # name,addr,e = info
    # print(name,addr,e) #把list里的值取出来

    #局部变量:在函数里面定义的变量都是局部变量(没有加global修饰 )
    #作用域在函数里面,出了函数就失效
    #全局变量:定义在函数外面,一般都是写在代码的最上面
    #作用域是全部的,大家都可以用
    name = 'caimingchang'
    def rename():#如果要修改全局变量的值,那么要声明一下
    global name #声明:修改的是全局变量,name caimingchang 改为cai
    name = 'cai'
    print('name1',name)

    def test():
    addr = 'beijing'#在函数里面定义的变量,如果不加global修饰的话,就是局部变量
    print('addr',addr)

    print('name2',name)
    rename()
    print('name2',name)
    #print(addr) #在函数里面定义的变量,如果不加global修饰的话,print不到

    #常量:一个不变的值
    IP = '192.168.3' #常量 用大写字母表示,基本不会变

    函数的参数:
    # def a():#必填参数,位置参数
    # pass
    # def b(name,age):
    # pass
    # b('xiaoming','age')#位置参数
    #
    # def op_file(file,content=None):#默认值参数
    # with open(file,'a+',encoding='utf-8') as f:
    # if content:
    # f.write(str(content))
    # else:
    # f.seek(0)
    # result = f.read()
    # return result

    #可变参数
    #关键字参数
    def send_sms(*args):#可变参数,传一个*号 ;不是必填,不限制参数传入的个数,放到元组里面
    print(args)
    send_sms(113,121,11)

    def t(**kwargs):#关键字参数,传入时,必须指定关键字
    print(kwargs)
    t(age=5,name='liu')#传入后 放入字典中

    def test(anme,phone,qq,addr,sex):#四种要是一起用,一定要按照这个顺序,如果有必填 必填一定在前面
    pass

    test('xiaoming','188','111','beijing','nv')
    test(age=18,addr='beijing',qq='11',name='liujie')
    test('xiaoing','13232',qq='334',sex= 'xx')

    文件的基本操作:
    #r    rb+ 可读,不可写  ,不加b ,读出来的类型,是字符串
    #w wb+ 可写,不可读
    #a ab+ 追加
    # f = open('users.txt','a+',encoding='utf_8')
    # l = ['a ','b ','c ']
    # for i in l:
    # f.write(i+' ')
    # f.writelines() #可以循环list;可以循环字符串,但是影响效率;

    #r+ 文件指针默认最前,读是没有问题,若写进几位数,会把原来的内容覆盖掉,但是不会报错
    #w+ 写新文件没问题,但是以前内容会被全部覆盖
    #a+ 文件指针在末尾,即可以读又可以写
    f = open('users.txt','a+',encoding='utf_8')#a模式追加,不会清空,文件指针在末尾,a模式不可读
    f.seek(0)
    f.truncate()#删除文件清空内容
    # f.write('~~~~~2')
    # print(f.read())
    f.close()

    #rb rb+ bytes二进制,写非字符串类的,图片视频等等,需要这种b模式,读其他类型
    #wb wb+ 不加b ,读出来的类型都是字符串
    #ab ab+

    冒泡排序:
    l = [5,2,45,7,3,67,47,37,2]#每个相邻的数字作比较
    count = 0
    for i in range(len(l)-1):#控制总共需要多少趟
    for j in range(len(l)-1-i):#控制相邻的交换
    if l[j] > l[j+1]:
    l[j],l[j+1] = l[j+1],l[j]
    count+=1
    print(l)
    print(count)






  • 相关阅读:
    CSS3中制作倒影box-reflect
    JS中==与===区别
    CSS3-Animation
    CSS3-transform
    CSS3-transition
    CSS盒模型-box-sizing
    css兼容处理-hack
    CSS3-rgba
    CSS3-文本-word-wrap,word-break,white-space
    CSS3-文本-text-shadow
  • 原文地址:https://www.cnblogs.com/liuxiaoxiao-liu/p/12896827.html
Copyright © 2011-2022 走看看