zoukankan      html  css  js  c++  java
  • python中的关键字---1(基础数据类)

    变量命名规则:

    1.变量由字母数字下划线组成
    2.变量不能以数字开头
    3.禁止使用python中关键字
    4.禁止使用中文和拼音
    5.变量名要区分大小写
    6.变量名要有意义
    7.推荐写法.
    驼峰体.
    大驼峰.AgeOfOldboy
    小驼峰.ageOfOldboy
    下划线.age_of_oldboy

    字符串规则:

    字符串拼接,
    字符串只能和字符串相加
    字符串不能减法
    字符串只能和数字相乘
    字符串不能进行相除

    基础数据类型

    int,整形,用于计算和比较
    str字符串,字符串只能和字符串相加,字符串只能和数字相乘
    bool布尔值,True,False

    程序交互(input)
    type查看数据类型,
    注意:input获取到的内容都是字符串
    int("6")将字符串转换成数字
    str(6)将数字转换成字符串"6"

    密码加密:
    import getpass
    user = input("请输入用户名:")
    pwd = getpass.getpass("请输入密码:"
    print(user,pwd)

    格式化输出:
    name = input("请输入姓名")
    age = input("请输入年龄")
    job = input("请输入职业")
    hobbie = input("请输入爱好")
    print('''
    name : %s
    age : %s
    job : %s
    '''%(name,age,job,hobbie)


    """
    print(f'''
    name : {name}
    age : {age}
    job : {job}
    hobbie : {hobbie}
    """


    运算符

    算数运算符

    print(a + b)加
    print(b - a)减
    print(b * a) 乘
    print(b / a)除(有小数点)
    print(b % a) 取膜
    print(b ** a)幂 (几次方)
    print(b // a)整除(没有小数点)

    比较运算符

    print(b > a)大于
    print(b < a)小于
    print(b >= a)大于等于
    print(b <= a)小于等于
    print(b == a)等于
    print(b != a)不等于

    赋值运算符

    a +=10
    a -= 10
    a *= 10
    a /= 10

    () > not > and > or
    and两边的条件都为真的时候才是真,and前后的数字不为0的时候,取and后边的数字,否则取0
    or两边的条件只要有一个为真就是真,or前后的数字不为0的时候取or前面的数字,否则有0的时候取非0
    not只要碰到真的就是假的,碰到假的就是真的


    字符串详解:

    title每个单词首字母大写
    capitalize首字大写
    lower全部小写
    upper全部大写
    strip脱,默认脱头尾的空格
    find索引(通过下标查找)不存在返回 -1
    index索引(通过下标查找)不存在报错
    切片:[起始位置:终止位置:步长(方向)]
    count统计(计数)
    center居中
    format % f格式化输出
    isalnum判断是不是数字和字母
    isalpha判断是不是纯字母
    isdigit判断是不是纯数字
    split分割
    join插入,拼接
    startswith以什么开始,获取的结果是布尔值
    endswith以什么结尾,获取的结果是布尔值


    列表


    append在后面添加
    insert按照下标添加
    extend迭代添加


    remove移除指定元素
    pop弹出(默认删除组字后一个),通过下标删除对应元素
    clear清空列表
    del删除列表,通过下标删除对应元素


    lst[1]通过下标修改对应元素
    lst[0:5]通过下标范围修改


    lst[2]通过下标查找对应元素


    字典{'key':1}

    不可变:(可哈希): 数字 字符串 元组 布尔值
    可变: (不可哈希) 列表 字典

    字典里的键必须保证唯一(不能重复)
    python36 有顺序打印
    python35及以下无序打印


    dic['3'] = '小奶狗的芭比',如果这个键不在字典中就是添加,存在就是修改
    dic.setdefault(' 隔壁老王','男人不在就上'),存在就不进行添加,不存在就添加
    setdefault中第一个参数是键,第二参数是值,如果不写值就默认为None


    dic.pop('3'),参数是要删除的键
    pop,返回的是被删除的值
    dic.popitem(),随机删除,在python36中删除最后一个,python35及以下随机删除
    popitem,返回的是被删除的键值对以元组的形式显示
    del dic,删除整个字典
    del dic['3'],通过dic['键']删除
    dic.clear(),清空


    dic[1] = 78,如果这个键在字典中就是修改,不存在就是添加
    dic1.update(dic)


    dic.get(4),不存在不报错,默认返回None,可以自己定义返回值
    dic[4]不存在就报错
    print(dic.keys()) ,高仿列表A货
    print(dic.values()),高仿列表A货
    print(dic.items()),以元组形式将键值对放在一个高仿列表里


    编码

    ascii  # 不支持中文
    unicode 万国码 中文4个字节 英文 2个
    utf-8 最少使用1个字节 欧洲 2 亚洲 3
    gbk 中文 2 英 1
    windows 默认编码GBK

    a = '你好黑'
    a1 = 'abc'

    a2 = a.encode('utf-8') #编码
    print(a)
    print(a2)
    a3 = a2.decode('utf-8') #解码
    print(a3)
    bytes字节 用于传输和存储

    a = '你好黑'
    a1 = 'abc'
    a2 = a.encode('gbk') #编码
    a3 = a.encode('utf-8') # 最长用
    print(a2)
    print(a3)
    a4 = a2.decode('gbk') #解码
    a5 = a3.decode('utf-8')
    print(a4,a5)

    set 集合  {}  无序

    s = {1,2,3,4,5}

    s = {}
    print(type(s)) # 空{}就是字典

    s = {1,2,3,4,5}
    s = {1,2,3,'22','ss',False,(3,4)}
    列表 和 字典 和 集合
    print(s)


    s.add(8)
    print(s)

    s.update('alex') # 迭代添加
    print(s)


    s = {1,2,3,'22','ss',(3,4)}

    s1 = s.pop() #随机删除
    print(s) #返回值 返回的被删除的元素
    print(s1)

    s.clear()
    print(s) #清空 set()

    s = {1,2,3,'22','ss',(3,4)}
    del s #删除整个集合
    print(s)

    s = {1,2,3,'22','ss',(3,4)}
    s.remove() #通过元素指定删除
    print(s)

    改:
    s = {1,2,3,'22','ss',(3,4)}
    s.remove(3)
    s.add(7)
    print(s)

    查:

    s = {1,2,3,'22','ss',(3,4)}
    for i in s:
    print(i)

    s = {1,2,3,4,33,21,4,1234,34,1234,5324,1234,12341,23,22,34112,2,21,23,34,123,4}
    集合天然去重
    print(s)


    面试题:
    lst = [1,2,3,42,3,45,67,534,2]
    print(list(set(lst)))

    s = set(lst)
    print(list(s))

    其他操作:

    s = {'黑哥'}
    s1 = {'虎哥','开哥','王哥','黑哥','wu哥'}

    print(s & s1) # 交集 俩个集合都有的才输出

    print(s | s1) # 并集 两个集合 合并到一起

    print(s1 - s) # 差集 前面减后边的集合前边集合中有的输出出来 自己总结

    print(s ^ s1) # 反交集 自己总结

    print(s < s1) # 子集
    print(s1 > s) # 超(父)集


    dic = {{1,2,3}:1}
    a = frozenset((1,2,3))
    dic ={a:1}
    print(dic)
    print(dic)

    深浅拷贝
    lst = [1,2,3,[4,5,6],7]
    lst1 = lst #赋值
    lst2 = lst[:] # 切片
    #
    lst.append(7)
    print(lst)
    print(lst2)

    import copy

    lst4 = copy.deepcopy(lst) # 深拷贝
    lst[-2].append(7)
    print(lst) #[1, 2, 3, [4, 5, 6,7], 7]
    print(lst4) #[1, 2, 3, [4, 5, 6], 7]

    浅拷贝:

    拷贝的是第一层元素

    深拷贝:

    拷贝所有元素开辟新的空间存放,完全没有关系

    lst = [1,2,3]
    lst1 = [1,2,3]

    print(id(lst))
    print(id(lst1))

    面试题
    a = [1, 2]
    a[1] = a # [1,[1,2]]
    print(a[1])

    答案:
    [1, [...]]


    lst = [1,3,[5,7],9]
    lst1 = lst
    lst2 = lst[:]
    print(id(lst))
    print(id(lst1))
    print(id(lst2))
    lst.append(9)
    print(lst)
    print(lst1)
    print(lst2)

    是不是一个东西 长的一不一样

    文件操作
    r 读
    w 写
    a 追加写

    f = open('s.txt',mode='r',encoding='utf-8')

    ff = f.readline() #读取时一行一行的时候末尾会跟着
    print(ff)
    ff = f.readline()
    print(ff)
    ff = f.readline()
    print(ff)


    ff = f.read(3)
    ff1 = f.read()
    print(ff)
    print(ff1)
    f.close()


    f = open('s.txt',mode='rb') # 使用b的时候不能加编码集 b是操作字节的
    ff = f.read()
    print(ff) # 是回车 是换行


    f = open('s.txt',mode='r',encoding='utf-8')
    ff = f.read()
    print(ff)

    for i in f:
    print(i)

    ff = f.read()
    print(ff)


    f = open('s.txt',mode='rb')
    ff = f.read(3)
    print(ff)



    总结:
    只读 r 正常文本
    只读 rb 字节
    read() 默认全读完 可以指定读几个
    readline 一行一行读




    f = open('s.txt',mode='w',encoding='utf-8')
    打开 mode 是对文件操作的模式

    w模式会自动创建文件 w会覆盖 先清空后写入
    f.write('黑哥真黑,黑哥都自己黑感冒了')
    f.close()


    f1 = open('s.txt',mode='w',encoding='utf-8')
    f1.write('艺术哥,爱吃六味地黄丸')
    f1.close()

    总结:
    w只能覆盖的写
    w模式会自动创建文件
    w模式下写的时候首先清空文件的内容,然后在写


    f = open('s.txt',mode='a',encoding='utf-8')
    追加写

    f.write('赵湿熊')
    f.write('金阳')
    f.write('宝宝')


    总结:

    a 追加 在文件文本末尾添加内容
    print(f.read())

    f = open('文件夹/s.txt',mode='r+',encoding='utf-8') #r+ 读写

    ff = f.read()
    print(ff)
    f.write('你好黑')

    f.write('你好黑') # r模式 光标在最开头
    ff = f.read()
    print(ff)

    ########坑########## r+ 是咱们最常用的


    f = open('文件夹/s.txt',mode='w+',encoding='utf-8') # w+ 写读
    f.write('你好黑')
    f.flush() # 刷新
    f.seek(3) # 调整光标位置到文件最开头

    seek(0) 调整到开头
    seek(3) 单个参数是字节数 0除外 0就是表示调整光标到开头

    seek(0,1) 两个参数的时候就是表示光标调整到当前位置
    seek(0,0) 两个参数的时候就是表示光标调整到开始位置
    seek(0,2) 两个参数的时候就是表示光标调整到末尾位置

    ff = f.read()
    print(ff)
    f.close() 关闭文件
    
    
    
  • 相关阅读:
    C# 委托事件
    用netstat查看网络状态详解
    详解TCP建立连接全过程
    Amazon SNS移动推送更新——新增百度云推送和Windows平台支持
    UE-9260使用说明2
    简单理解javascript中的原型对象,实现对之间共享属性和行为
    RxJava
    链式存储(头插法、尾插法)
    Codeforces 569 B. Inventory
    CentOS 6.4安装Puppet
  • 原文地址:https://www.cnblogs.com/Godisgirl/p/10012225.html
Copyright © 2011-2022 走看看