zoukankan      html  css  js  c++  java
  • Python复习-1

    最近因为需要用到python到东西所以系统到再复习一下,以备之后再看

    1.python中的关键字:

    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
    
    

    2.python中的内置函数:

    3.python中的转换说明符

    4.变量:Python 是弱类型语 ,弱类型语言有两个典型特征

    • 变量无须声明即可直接赋值,对一 个不存在的变量赋值就相当于定义了一个新变量。
    • 变量的数据类型可以动态改变:同 个变量可以 会儿被赋值为整数值, 一会儿被赋值为
      字符串。

    5.print()函数:

    • 通过seq参数来设置默认到分隔符,默认值是“ ”
    • 通过end参数来设置以什么结尾,默认值是"/n"
    • file参数是设置输出位置,默认值是sys.stdout,输出到屏幕上,可以改变该参数输出到指定到文件中;
    f = open( poem txt ”,川 ”)#打开文件以便写入
    print 沧海月明珠有泪 ’, file=f)
    print 蓝回日暖玉生烟 ’, file=f)
    f. close ()
    
    • flush参数用来控制输出缓存,一般保持False即可,可以保持性能

    一、python3的基本数据类型

    1.数值类型:

    Python 整型数值有4种表示形式

    • 十进制形式 最普通的整数就是十进制形式的整数
    • 二进制形式:以 Ob OB 开头的整数就是 进制形式的整数
    • 八进制形式 Oo 00 开头的整数就是八进制形式的整数(第二 个字母是大写或小写的o
    • 十六进制形式:以 Ox ox 开头 整数就是十六进制形式的整数,其中 10~15 分别以a~f
      此处的a~f不区分大小写)来表示
    #以 Ox或 ox 开头的整型数值是十六进制形式的整数
    hex valuel = Ox13 
    hex value2 = OXaF 
    pr nt hexValuel 的值为:”, hex_ aluel)
    print (” hexValue2 的值为:”, hex_value2)
    #以 Ob OB 开头的整型数值是 进制形式的整数
    bin val = Oblll 
    print ( bin_val 的值为: ', bin_ val) 
    bin val = OB101 
    pr nt bin_val 的值为:’, bin_val)
    # Oo 00 开头 整型数值是八进制形式的整数
    oct val = Oo54 
    print (’ oct_val 的值为:’, oct_val)
    oct val= 0017 
    print ct_val 的值为:’, oct_val)
    

    浮点型:
    浮点型数值用于保存带 数点的数值, python 浮点数有两种表示形式。

    • 十进制形式:这种形式就是平常简单的浮点数,例如 5.12 512.0 0.512 。浮点数必须包含
      一个小数点,否则会被当成整数类型处理。
    • 科学计数形式 例如 12e2,5.12E2

    2.字符串:

    字符串既可以使用单引号,也可以使用双引号,
    当字符串本身包含单双引号时需要进行特殊处理

    • 使用不同的引号将字符串括起来
    str4 = ’”Spring is here , let us jam!”, said woodchuck .’
    
    • 对引号进行转义
    str5 = ’”we are scared, Let ’ s hide in the shade ”, says the bird '
    

    python不允许直接拼接字符串和数值,必须现将数值转换成字符串,可以使用str() 和 rerp() 两个函数

    sl ”这本书的价格是
    p = 99.8 
    #字符串直接拼接数值,程 报错
    print(sl + p) 
    #使用 str )将数值转换成字符串
    pr nt(sl + str(p)) 
    #使用 repr ()将数值转换成字符串
    print (sl + repr (p))
    

    使用input()和rae_input()获取用户输入

    msg = input("请输入你的值:")
    print (type (msg)) 
    print(msg)
    

    注意:无论用户输入什么样到内容,input()总是返回字符串

    <1>.长字符串使用'''+++++'''代表长字符串
    当程序中有大段文本内容要定义成字符串时,优先推荐使用长字符串形式,因为这种形式非常
    强大,可以让字符串中包含任何内容,既可包含单引号,也可包含双引号

    <2>.原始字符串以"r"开头 原始宇符串不会把反斜线当成特殊字符。

    r'G:publi sh co es224'
    

    <3>.字符串转换成 bytes 有如下3种方式

    • 如果字符串内容都是 ASCII 字符,则可以通过直接在字符串之前添加 来构建字节串值
    • 调用 byte ()函数(其实是 bytes 构造方法)将字符串按指定 符集转换成字节串,如果
      不指定字符集,默认使用 UTF 字符集。
    • 调用字符串本身到encode() 方法将字符串按 定宇符集转换成字节串,如果不指定字符集,
      默认使用 UTF 字符集。
    #创建一个空的 bytes
    bl =bytes()
    #创建一个空的bytes
    b2 = b ” 
    #通过前缀指定hello是bytes 类型的值
    b3 = hello ’ 
    print(b3) 
    print (b3 [0]) 
    pr nt(b3[2 4])
    #调用 bytes 方法将字符席转换成 bytes 对象
    b4 =bytes (’我爱 Python 编程’, enc ding= utf-8 ’)
    pri t(b4)
    #利用字符串的 encode ()方法编码成 bytes ,默认使用 UTF-8 字符集
    b5 = ”学习 Python 很有趣” .encode('UTF-8')
    print (b5)
    

    如果获得到是字节串,可以通过decode()方法将其解码成字符串

    #将 bytes 对象解码成字符串 默认使用 UTF 进行解码
    st = b5.decode (’ utf-8 ’ ) 
    print(st) #学习 Python 很有趣
    

    python支持到转译字符:
    image
    python的转换符说明:
    image

    python可以通过([])使用索引来获取对应到字符
    字符串中第一个字符是0,最后一个字符是-1

    s = 'crazy 工 t org is very good'
    # 获取索引为2到字符
    print(s([2])
    #获取从右边开始索引为4的字符
    print(s([-4])
    #获取 中从索引 3到索引 5(不包含)的子串
    print(s([3: 5])) #输出 zy
    #获取 中从索引 到倒数第 个字符的子串
    print(s([3: - 5])) #输出 zyit org is very 
    #获取 中从倒数第 个字符到倒数第 个字符 子串
    print(s([-6: -3])) #输出 g
    

    python是自带文档到可以通过

    • dir()列出指定类或模块到全部内容
    • help()查看某个函数或方法到帮助文档
    >>> dir(str)
    ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
    # 其中以"_"开头或结尾表示私有方法不希望备外部调用
    >>>help(str.title)
    Help on method_descriptor:
    
    title(self, /)
        Return a version of the string where each word is titlecased.
    
        More specifically, words start with uppercased characters and all remaining
        cased characters have lower case.
    

    <4> str类中的方法:

    • title():将每个单词的首字母大写
    • lower():将整个字符串改为小写
    • upper():将整个字符串改为大写
    • strip():删除字符串前后的空白
    • lstrip():删除字符串左边的空白
    • rstrip():删除字符串右边的空白
    • startswith():判断字符串是否以指定字串开头
    • endswith():判断字符串是否以指定字串结尾
    • find():查找指定字串在字符串中出现的位置如果没有字串则会返回-1
    • index():查找指定字串在字符串中出现的位置如果没有字串则会引发ValueError的错误
    • replace():使用指定字串替换字符串中的目标字串
    • translate():使用制定的翻译映射表对字符串进行替换
    • split():分割字符串
    • join():将多个字符串链接成短语
      <5>.python中的运算符:
    • 赋值运算符
      使用"="作为赋值运算符
    • 算术运算符:加,减,乘,除,取余
    • 位运算符:
      &: 按位与
      |: 按位或
      <: 按位异或。
      ~:按位取反。
      <<:左位移运算符

    : 右位移运算符。

    • 索引运算符:
    • 比较运算符:除了一般常用到的大于,大于等于外有两个是比较特殊的:is<表示两个变量引用的对象是否相同,如果相同返回true>和is not<表示两个变量引用的对象是否不相同,如果不相同返回true>
    • 逻辑运算符:与and,或or,非not
    • 三目运算符:通过if语句来实现三目运算符的功能:True_statemetns if expression False_statements
    a = 3
    b = 4
    st = "a 大于 b" if a>b "a 小于 b"
    print(str)
    

    python中允许在三目运算符中的True_statements和False_statements中放至多条语句

    1. 当使用英文逗号隔开:每条语句都会执行,程序返回多条执行语句的返回值组成的元祖
    2. 当使用英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值
    • in运算符:判断某个成员是否在序列中
    • not in:判断某个成员是否不在序列中
      运算符的优先级:

    第三章:列表,元组和字典

    1.基础

    • 列表:[ele1, ele2, ele3, ...]
    • 元组:(ele1, ele2, ele3, ...)

      列表和元组最大的区别就是:元组是不可改变的而列表可以;列表支持对元素的修改而元组不支持列表相当于是增强版的元组
    • 切片:[start: end: step]

      加法:列表和元组都支持加法运算,加法的和就是两个列表或元组所包含的元素的总和

      乘法:意义在于把他们包含的元素重复N次,N就是被乘的倍数

      in运算符:被用于判断列表和元组是否包含某个元素

      len():获取列表或元组的长度

      max():获取最大值

      min():获取最小值

    2.序列封包和序列解包

    • 序列封包:程序把多个值付给一个变量时,Python会自动将多个变量封装成元组
    • 序列解包:程序允许将序列(元组或列表)直接赋给多个变量,此时序列的各个元素会被依次赋值给每个变量(要求序列的元素个数和变量个数相等)

    3.列表进阶:

    1.创建:除了使用[]来创建意外python还提供了一个内置的list()函数来创建列表,list()可用于将元组、区间(range)等对象转换为列表

    2.增加列表元素:append(),该方法会把传入的参数追加到列表的最后面
    append()方法既可以接受单个值,也可接受元组,列表等,但是该方法只是把元组、列表当成单个元素,这样就会形成在列表中嵌套列表,嵌套元组等情形

    extend()方法如果不希望被追加的列表当成一个整体而是只追加列表中等元素则可以使用extend方法

    3.删除列表元素:

    • 删除列表元素使用del语句,del是python等一种语句,专门执行删除操作,不仅可以删除列表的元素,也可以删除变量
    a_list = ['crazyit', 20, -2.4, (3, 4), 'fkit']
    # 删除第3个元素
    del a_list[2]
    print(a_list) # ['crazyit', 20, (3, 4), 'fkit']
    # 删除第2个到第4个(不包含)元素
    del a_list[1: 3]
    print(a_list) # ['crazyit', 'fkit']
    b_list = list(range(1, 10))
    # 删除第3个到倒数第2个(不包含)元素,间隔为2
    del b_list[2: -2: 2]
    print(b_list) # [1, 2, 4, 6, 8, 9]
    # 删除第3个到第5个(不包含)元素
    del b_list[2: 4]
    print(b_list) # [1, 2, 8, 9]
    
    name = 'crazyit'
    print(name) # crazyit
    # 删除name变量
    del name
    #print(name) # NameError
    
    • Python还提供remove()方法来删除元素,如果找不到元素,该方法会引发ValueError错误
    • 列表还有一个clear()方法,该方法清空列表中等所有元素
    c_list = [20, 'crazyit', 30, -4, 'crazyit', 3.4]
    # 删除第一次找到的30
    c_list.remove(30)
    print(c_list) # [20, 'crazyit', -4, 'crazyit', 3.4]
    # 删除第一次找到的'crazyit'
    c_list.remove('crazyit')
    print(c_list) # [20, -4, 'crazyit', 3.4]
    
    c_list.clear()
    print(c_list) # []
    

    4.修改列表中元素:

    a_list = [2, 4, -3.4, 'crazyit', 23]
    # 对第3个元素赋值
    a_list[2] = 'fkit'
    print(a_list) # [2, 4, 'fkit', 'crazyit', 23]
    # 对倒数第2个元素赋值
    a_list[-2] = 9527
    print(a_list) # [2, 4, 'fkit', 9527, 23]
    
    b_list = list(range(1, 5))
    print(b_list)
    # 将第2个到第4个(不包含)元素赋值为新列表的元素
    b_list[1: 3] = ['a', 'b']
    print(b_list) # [1, 'a', 'b', 4]
    
    # 将第3个到第3个(不包含)元素赋值为新列表的元素,就是插入
    b_list[2: 2] = ['x', 'y']
    print(b_list) # [1, 'a', 'x', 'y', 'b', 4]
    
    # 将第3个到第6个(不包含)元素赋值为空列表,就是删除
    b_list[2: 5] = []
    print(b_list) # [1, 'a', 4]
    
    # Python会自动将str分解成序列
    b_list[1: 3] = 'Charlie'
    print(b_list) # [1, 'C', 'h', 'a', 'r', 'l', 'i', 'e']
    
    c_list = list(range(1, 10))
    # 指定step为2,被赋值的元素有4个,因此用于赋值的列表也必须有4个元素
    c_list[2: 9: 2] = ['a', 'b', 'c', 'd']
    print(c_list) # [1, 2, 'a', 4, 'b', 6, 'c', 8, 'd']
    

    5.列表中其他方法

    • count(): 用于统计列表中某个元素等出现次数
    • index():用于判断某个元素在列表中出现等位置
    • pop():将列表当栈使用,实现出栈功能
    • reverse():用于将列表中等元素反向存放
    • sort():用于对列表元素排序

    4.字典

    1.创建:可以使用dict()函数来创建字典,也可以使用{}来创建字典,多个k-v之间使用英文逗号隔开

    scores = {'语文': 89, '数学': 92, '英语': 93}
    print(scores)
    # 空的花括号代表空的dict
    empty_dict = {}
    print(empty_dict)
    # 使用元组作为dict的key
    dict2 = {(20, 30):'good', 30:'bad'}
    print(dict2)
    vegetables = [('celery', 1.58), ('brocoli', 1.29), ('lettuce', 2.19)]
    # 创建包含3组key-value对的字典
    dict3 = dict(vegetables)
    print(dict3) # {'celery': 1.58, 'brocoli': 1.29, 'lettuce': 2.19}
    cars = [['BMW', 8.5], ['BENS', 8.3], ['AUDI', 7.9]]
    # 创建包含3组key-value对的字典
    dict4 = dict(cars)
    print(dict4) # {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
    # 创建空的字典
    dict5 = dict()
    print(dict5) # {}
    # 使用关键字参数来创建字典
    dict6 = dict(spinach = 1.39, cabbage = 2.59)
    print(dict6) # {'spinach': 1.39, 'cabbage': 2.59}
    

    2.字典等基本用法:

    • 通过key来访问value:使用方括号语法和列表,元组一样,方括号中放key
    scores = {'语文': 89}
    # 通过key访问value
    print(scores['语文'])
    # 对不存在的key赋值,就是增加key-value对
    scores['数学'] = 93
    scores[92] = 5.7
    print(scores) # {'语文': 89, '数学': 93, 92: 5.7}
    # 使用del语句删除key-value对
    del scores['语文']
    del scores['数学']
    print(scores) # {92: 5.7}
    
    cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
    # 对存在的key-value对赋值,改变key-value对
    cars['BENS'] = 4.3
    cars['AUDI'] = 3.8
    print(cars) # {'BMW': 8.5, 'BENS': 4.3, 'AUDI': 3.8}
    
    # 判断cars是否包含名为'AUDI'的key
    print('AUDI' in cars) # True
    # 判断cars是否包含名为'PORSCHE'的key
    print('PORSCHE' in cars) # False
    print('LAMBORGHINI' not in cars) # True
    
    • 通过key添加k-v对
    • 通过key删除k-v对
    • 通过key修改k-v对
    • 通过key判断k-v对是否存在
      字典常用等方法:
    • clear():清空字典中所有k-v对
    • get():根据key来获取value相当于方括号语法对加强版
    • update():使用一个字典所包涵对k-v对来更新已有字典
    • items():获取字典中所有对k-v对
    • keys():获取所有对key
    • values():获取所有对value
    • pop():用来获取指定key对value并删除这个k-v对
    • popitme():用于随机弹出字典中对一个k-v对
    • setdefault():获取指定key对应对value,如果这个k-v对不存在先为该key设置一个默认value,之后再返回该key对value值
    • fromkeys():使用给定对多个key创建字典,这些key对应对value默认是none,也可以额外传入一个参数作为默认值
  • 相关阅读:
    复制文本插件
    关于datatable的自定义列 并排序的功能
    jquery
    ztree的一个小功能
    vue+codemirror 笔记一
    jointjs-3-defaultRouter
    jointjs笔记-线的设置
    joint 笔记
    【Burp suite】网站登录密码暴力破解学习心得(初级)
    【DVWA(三)】暴力破解 & burpsuite 的简单使用(抓包暴力破解登录密码)
  • 原文地址:https://www.cnblogs.com/yjfb/p/12974057.html
Copyright © 2011-2022 走看看