zoukankan      html  css  js  c++  java
  • 【python----发轫之始】【基础知识总结】

    一、自学感受

    学完之后,,,感觉脑子里全是乱的,单词这么多,都要分不清什么时候该用什么,他到底属于哪一个数据类型里的函数,,,,,,

    所以,我想着把笔记整理一下,方便自己和需要的人查看。

    二、pycharm常用快捷键

    识别菜鸟和高手的最简单的方法就是看他对于编译器玩的六不六,所以掌握基本的快捷键是必须的。

    注释快捷键: CtrI + /                                             代码格式化:CtrI+ Alt + L

    文件重命名: Shift + F6                                        拷贝文件路径: CtrI + Shift + C

    运行程序: Shift + F10                                          调试程序: Shift + F9(debug模式)

    添加补字符: Alt +鼠标左键                                   光标在行开头: CtrI + [

    光标在行结尾:CtrI+ ]                                            选中当前行:Ctrl + Shift + [

    取消选中: Ctrl + Shift + ]                                     选择剪贴板内容插入: CtrI + Shift + Insert

    撤销: Ctrl+ Z                                                        恢复: Ctrl + Shift + Z

    复制当前行: CtrI + D                                            删除当前行: Ctrl + Y

    移动当前行: Shift + Alt +↑↓                                 代码补全: Ctrl+ Alt +空格

    单步执行: F8

    三、字符串常见操作

    命名两个str类型的str1和str2,temp。

    1str1.find(str2,start = 0,end = len(str1) )  

    用于查找str2在str1中的索引值,如果没有,返回-1。(从左往右)

    rfind用法一样,只不过是从右往左查找。

    index,和   find()差不多,没找到会报异常。

    rindex,和    rfind()差不多,没找到会报异常。

    2.str1.count(str2,start = 0,end = len(str1)) 

    统计 在str1的start 到  end 中str2出现的次数。

    3.str1.replace(temp,str2,count)

    把在str1中的 字符串 temp替换为 str2   count 次。

    4.str1.capitalize()

    字符串的第一个字母大写。

    5.str1.title()

    字符串中的每一个单词的首字母大写。

    6.str1.lower()

    把字符串中的字母全部变为小写。

    7.str1.upper()

    把字符串中的字母全部变为大写。

    8.str1.strip()

    删除字符串两边空白字符。

    rstrip()     删除字符串右边空白字符。

    lstrip()     删除字符串左边空白字符。

    9.str1.splitlines()

    str1中如果包含 (' ', ' ', ') ,将其分开储存在列表中。

    10.str3 = str1.join(str2)

    将str2的每一个字符用字符串str1连接起来。

    11.str1.split(ch)

    将str1以字符串为划分点分成几部分储存到列表中。

    四、运算符优先级

    序号 运算符
    1 **
    2 ~    +     -(一元加减号)
    3 *     /     %     //
    4 +      -
    5 >>    <<
    6 &
    7 ^       |
    8 <=    <    >   >   =
    9 ==   !=
    10 =     %=    /=     //=    -= +=     *=   **=
    11 is    is not
    12 in    not in
    13 not    or    and

    五、列表常用函数

    1.list2 =  list1[a:b]

    将列表中a到b-1的元素放入list2 列表中。

    2.list1.revers()

    反转列表。

    3.list1.append(list2)

    将list2整个列表追加到list1中。

    4.list1.extend(list2)

    将list2列表中的元素追加到list1中。

    5.list1.insert(a,chr)

    将chr元素插入到list1中的第a个位置中。

    6.list1.remove(chr)

    将list1中的chr删除。

    7.list1.pop(a)

    按照索引值将list中的值删除。

    8.list1[a,b] = []

    将a到b-1元素删除。

    9.cnt = list1.count(chr)

    统计chr元素在list1中出现的次数。

    10 list2 = list1.copy()

    复制list1中的元素到list2中,(不是指向同一块内存)

    list2 = list1  (这个就会指向同一块内存)

    10.list1.sort()

    升序排序

    11.list1.sort(reverse = True)

    降序排序

    12.sorted(list1)

    对列表进行排序,生成新列表,不修改原列表。元组也适用。

    13.max(list1)      min(list1)

    返回列表中的最大最小值

    14.sum(list1)

    返回数字列表数的总和。

    六、字典常用函数

    1.dict1 = dict(keys = values,.........)

    字典的创建,也可以用花括号直接创建。

    2.dict1 = dict.fromkeys([keys,........] ,     这里填默认值   )

    初始化字典

    3.dict1.get(chr,ch)

    在字典中获取chr对应的值,如果没有,默认返回指定的ch.

    也可以用dict1[chr] 的方法获取,没有返回指定值的东西。

    4.字典的遍历

    for key in employee:
        v = employee[key]
        print(v)
    
    for k,v in employee.items():
        print(k,v)

    5.字典的更新(有则更新,无则新增)

    dict1[chr] = v          单个更新

    dict1.update(keys = value,..........)    多个更新

    6.字典的删除

    dict1.pop(chr)       删除指定的key 和 value

    dict1.popitem()     删除最后一个key 和 value

    7.dict1.clear()

    清空字典

    8。获取字典的视图

    dict1,keys()   代表获取所有的键

    dict1.values()   代表获取所有的值

    dict1.items()      代表获取所有的键值对

    以其中的一个为例:

    ks = dict1,keys() ,ks会随着dict1中内容的变化而变化,不是固定不变的。 

    9.dict1.setdefault(key,value)

    默认初始化,若已经存在key了,就会忽略这个语句,无就添加。

    10.字符串格式化

    # 老版本的字符串格式化
    emp_str = "姓名:%(name)s,评级:%(grade)s,入职时间:%(hiredate)s" %emp1

    # 新版本的字符串格式化 emp_str1 = "姓名:{name},评级:{grade},入职时间:{hiredate}".format_map(emp1)

    七、元组注意事项

    如果元组只有一个元素时,必须在这个元素后增加逗号说明这是一个元组。
    元组只能访问,不能改变其 值,除非包含了列表。

    八、集合常用函数

     集合是没有value值的字典。

    创建时和字典差不多,只是创建空集合时要用set()。

    注意:集合不支持按照索引提取数据  用in 判断是否在其中,for循环遍历集合。

    集合的一些函数:

    1.求交集

    c1 = set1.intersection(set2)    获取交集,新建集合。

    set1.intersection_update(set2)      更新原有集合。

    2.求并集

    c1 = set1.union(set2)      获取并集,去重,新建集合。

    3.求差集

    c1 = set1,difference(set2)    获取set1在set2中不存在的部分,新建集合。

    c1 = set1.symmetric_difference(set2)    获取双向差集,新建集合。

    差集也有update

    set1.symmetric_difference_update(set2)    获取双向差集。更新set1.       

    4.set1 == set2 

    判断两集合中的元素是否都相同。

    5.set1.issubset(set2)

    判断set1是否是set2的子集。

    6.set1.issuperset(set2)

    判断set1是否是set2的父集。

    7.set1.isdisjoint(set2)

    判断set1是否和set2无重复元素。

    8.set1.add(ch)

    更新数据,一次只能更新一个。

    9.set1.update(ch1,ch2)

    更新数据,一次能更新多个。

    10.set1.remove(ch)

    删除数据,如果没有ch,会报错。

    11.set1.discard(ch)

    删除数据,如果没有ch,不会报错,直接忽略。 

    九、生成式

    生成式很简单,说一下语法就行生成式语法: [被追加的数据 循环语句 循环或者判断语句]|{}

    十、常用高阶函数

    1.lambda 函数的用法

    def f(n):
        return n % 2 == 0
    
    print(f(2))
    
    print(bool(lambda n: n % 2 == 0))

    输出后都为 True 。

    说明这两个函数是等价的,后者更加简洁,也是lambda函数的好处。

    2.filter(function, iterable)

    function -- 判断函数。
    iterable -- 可迭代对象。

    filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

    我们用range数组和lambda函数进行讲解。

    #输出0~19 个数中的奇数
    print(list(filter(lambda n: n % 2, range(0, 20))))
    #得到 [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

    3.reduce(function, iterable[, initializer])

    用之前要引入函数

    from functools import reduce

    function -- 函数,有两个参数
    iterable -- 可迭代对象
    initializer -- 可选,初始参数

    from functools import reduce
    
    print(reduce(lambda x, y: x * y, range(1, 21)))
    #得到 20!

    函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

    如果只是求和,用内置的sum(list1) 也可以得到答案。

    4.map(function, iterable, ...)

    function -- 函数

    iterable -- 一个或多个序列

    #计算各个数的立方
    
    print(list(map(lambda n: n**3, range(1, 11))))
    #输出[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

    如果有哪里写错了,希望大佬指点一下,蟹蟹!!

  • 相关阅读:
    "bs".endsWith()的使用注意,别用错了
    国外测试专家BLOG地址
    手机测试地址
    校验日期格式{YYYYMM_DD的java代码
    汉字的字节计算情况不同
    AssertThat汇集
    maven常见仓库
    取消冒泡事件
    好看的绿色阴影按钮
    IComparer 继承接口排序 实例 可选择排序
  • 原文地址:https://www.cnblogs.com/Attacking-vincent/p/12926614.html
Copyright © 2011-2022 走看看