美文网首页
python 第一周

python 第一周

作者: 云顶天宫写代码 | 来源:发表于2023-08-03 15:56 被阅读0次

    一、基础入门

    1. 计算机是什么
       计算机最底层是 电子电路. 只能识别两个数 0 1
    
    1. python的简介
       解释型语言. 弱类型语言
    
    1. 安装
    2. hello world
       print("你好啊. 我是周润发")
    
    1. 变量(命名规则)
       命名规则;
          1. 由数字, 字母, 下划线组成
          2. 不能数字开头. 更不能是纯数字
          3. 不能是关键字
          4. 不要太长
          5. 不要用中文
          6. 区分大小写
          7. 要有意义
          8. 驼峰和下划线命名 
       常量: 全部字母大写常量. 约定俗成
    
    1. 数据类型
       1. int整数. +-*/% //整除, > < >=  <= !=
       2. str字符串. 用',",''',""" 引起来的都是字符串  +字符串拼接  *重复次数 
       3. bool 布尔值. 只有True和False两个值
    
    1. 用户交互(input)
       变量=input("提示语")  变量是字符串类型,  字符串=> 数字使用 int(str)
    
    1. if判断
      最基本用法
       if 条件判断:
          代码块
       运行流程. 当条件是真. 执行代码块
       
       if 条件:
          代码块1
       else:
          代码块2
       执行流程: 当条件成立. 执行代码块1. 否则, 执行代码块2. 二选一
       
       if 条件1:
          代码块1
       elif 条件2:
          代码块2
       .....
       else:
          代码块n
       执行流程: 自行补全
    

    二、循环相关

    1. 循环. while循环
        while 条件:
            代码块(循环体)
        执行流程:
            1. 判断条件是否为真. 如果真. 执行代码块
            2. 再次判断条件是否为真......
            3. 当条件为假.执行else 跳出循环. 循环结束
    
    1. 格式化输出
        %s: 字符串的占位符, 可以放置任何内容(数字)
        %d: 数字的占位符
    
    1. 运算符
      逻辑运算:
        and  并且的意思. 左右两端的值必须都是真. 运算结果才是真
        or   或者的意思. 左右两端有一个是真的. 结果就是真. 全部是假. 结果才能是假
        not  非的意思. 原来是假. 现在是真.  非真即假, 非假既真
        break   结束循环. 停止当前本层循环
        continue  结束当前本次循环. 继续执行下一次循环
    

    三、字符串

    1. 编码
        1. 最早的计算机编码是ASCII. 美国人创建的. 包含了英文字母(大写字母, 小写字母). 数字, 标点等特殊字符!@#$%
            128个码位 2**7 在此基础上加了一位 2**8
            8位. 1个字节(byte)
        2. GBK 国标码 16位. 2个字节(双字节字符)
        3. unicode 万国码   32位, 4个字节
        4. utf-8:  英文  8 bit 1个字节
                欧洲文字 16bit 2个字节
                中文 24bit  3个字节
        8bit = 1 byte
        1024 byte =  1kb
        1024 kb = 1mb
        1024mb = 1gb
        1024gb = 1tb
    
    1. 基本数据类型的概述
        int 整数
        str 字符串, 存储少量的数据
        bool 布尔
        list 列表, ["周杰伦", "刘德华", ]
        tuple  元组. 只读列表, 不能改
        dict  字典; 一对一对的存储数据. key:value {"听妈妈的话":"周杰伦", '稻香':"周杰伦"}
        set 集合. 存储不重复的内容
    
    1. int, bool, str
      int 方法操作:
            bit_length() 求二进制长度
    
    bool: 类型转换
    
            1. 你想转换成什么. 就用什么把目标包裹起来
            2. 带空的是False, 不带空的True
    
    str
        1. str索引和切片:
    
                索引:起始下标是0(从左到右), (-1)从右到左
                切片: s[起始位置: 结束位置: 步长]
                    特点:顾头不顾尾
    
        2. 字符串的常用操作: 常用方法
    
                字符串不可变.
                1. upper() 转换成大写
                2. strip() 去掉空格
                3. replace() 替换
                4. split() 切割
                7. startswith() 判断是否以xxx开头
                8. find() 查找. 找不到返回-1
                9. len() 内置函数. 直接使用. 不用点操作 求字符串的长度
    
        3. 迭代字符串
    
                for 变量 in 可迭代对象:
                    循环体
                else:
    
        4. 字符串格式化
    
        # 模板语法定义 "%[+][-][width][.precison]type" % 待格式化数据
        # type 常用的类型  %s 字符串   %d或 %i 十进制整数   %f 浮点型
             print("|%+10d|" % 30)
              # |       +26| # 正整数右对齐,正数加正号
              print("|%-10d|" % 30)
              # |26        | # 正整数左对齐,正数无符号
              print("|% 10d|" % 30)
              # |        26| # 正整数右对齐,正数前加空格
              print("|%010d|" % 30)
    
              # 如未指定浮点数精度,默认保留6位小数,其余均用空格填充(如指定0则用0填充);若width小于浮点数的数位则width无效。
              print("|%+10f|" % 3.14)
              #| +3.140000| # 正浮点数加正号右对齐,小数部分以0填充
              print("|%-10f|" % 3.14)
              #|3.140000  | # 正浮点数左对齐,小数点后为空格
              print("|% 10f|" % 3.14)
              #|  3.140000| # 正浮点数右对齐,浮点数前为空格
              print("|%010f|" % 3.14)
              #|003.140000| # 正浮点数右对齐,小数点前以0填充
    
    

    4、列表

    1. list(增删改查)
        列表可以装大量的数据. 不限制数据类型. 表示方式:[] 方括号中的每一项用逗号隔开
        列表和字符串一样.也有索引和切片
        常用的功能:
            1. 增: append()  extend()  insert(索引位置,元素)
            2. 删:remove()  pop(索引位置)
            3. 改: 索引修改 
            4. 查: for循环   
        常用方法:
            1. len()
            2. count()
            3. sort() 排序
    
    1. list的嵌套
        [1, "周杰伦", True, False, ["可口可乐", "雪碧", "芬达"] ]
    
    1. range()
        数数
        有一个参数:结束为止
        两个参数: 1. 起始位置, 2.结束位置
        三个参数: 1. 起始位置, 2. 结束位置. 3.步长
    

    5、字典

    1. dict
        用大括号{} 括起来. 内部使用key:value的形式来保存数据
        {'jay':'周杰伦', "jj":'林俊杰'}
        注意:字典的key必须是可哈希的. 不可变的,元组、字符串、数字。 value 没有限制
    2. 增删改查
        1. dict[不存在的key] = value, setdefault()
        2. pop(key). del dict[key]. popitem(), clear()
        3. dict[存在的key] = 新值, d1.update(d2) 把d2的k-v更新到d1中
        4. get(key, 默认值), setdefault(), dict[key]
    3. 字典的常用方法
        1. keys() 返回所有字典的key的集合(高仿列表)
        2. values() 返回所有的value的集合
        3. items()  返回键值对. 元组
        解构:
            a, b = (1, 2)
    

    6、 浅拷贝、深拷贝

    # 深拷贝 和 浅拷贝
    # 浅拷贝 重新分配一块内存 新的对象是原对象中的子对象的引用
    # 深拷贝 重新分配一块内存 创建新的子对象拷贝到新对象。 新对象和源对象无关联
    old = [1,[1,2,3],3]
    new = old.copy()   # 或者  list(old)  old[:]
    
    new[0] = 3
    new[1][0] =3
    print('拷贝后:')
    print(old)
    print(new)
    # 结论 list 第一层实现了深拷贝 二层之后是不拷贝(对象引用)
    
    
    # is 和 == 的区别   is 身份运算符
    list1 = [1, 2, 3]
    list3 = list1
    list2 = list1[:] # 浅拷贝
    print(list2)
    print("list1 == list2 ?",list1 == list2)
    print("list1 is list2 ?",list1 is list2)
    
    print("list1 == list3 ?",list1 == list3)
    print("list1 is list3 ?",list1 is list3)
    
    
    dict1 = {1:[1,'w'], "第二个":0, 3:98}
    dict2 = dict(dict1)
    dict2[1][0]=3
    dict2["第二个"] = 5
    print(dict1,dict2)
    print("dict1 == dict2 ?",dict1 == dict2)
    print("dict1 is dict2 ?",dict1 is dict2)
    
    
    # 使用深拷贝   
    import copy
    old = [1,[1,2,3],3]
    new = copy.deepcopy(old)
    

    相关文章

      网友评论

          本文标题:python 第一周

          本文链接:https://www.haomeiwen.com/subject/uvmmpdtx.html