Python初见2

Python初见2

零蚀

基本语法

  1. 函数
  2. Set
  3. 字符串
  4. Dict字典

文档路径,

🔗python3.x官方文档
Library reference->Build in Functions->所有系统内置的方法


  • 函数

    • 函数简介
    
    # 函数的定义
    def function():
        print('')
    # 调用函数,函数调用必须在定义的后面,不能像c那样申明  
    function()
    
    
    • 函数文档注释
    # 在鼠标command+focus函数的时候就显示的注释;在函数底下添加‘’‘内容’‘’
    def function(a,b):
        '''求和'''
        sum=a+b
        return
    function()
    
    • 全局变量
    m = 20
    def fun():
        # 将局部变量的m(指针)对应到全局变量的m
        # 否则函数里的m就是新建的局部变量,和全局变量没有关系
        global m
        m = 30
    print(m)
    
    • 函数返回
    # 多返回值的返回类型为元祖类型(tuple)
    def fun(a, b):
        return a + b, a - b
    
    • 模块导入
    #直接导入模块进行方法调用
    import utils
    utils.fun()
    #导入模块中的某个方法
    from utils import fun
    fun()
    
    • 函数式编程
      函数可以作为函数的参数,也可以作为返回值。常见编程方式,OOP面向对象,FP函数式编程,POP面向过程的编程。
    ‘’‘高阶函数’‘’
    # 构建函数
    def func(a, b):
        return a + b
    
    
    # 函数作为参数
    def fun1(a, b, func):
        return func(a, b)
    
    
    # 传入函数
    print(fun1(10, 20, func))
    
    
    ’‘’lambda表达式‘’‘
    # 相当于把命名了一个函数d(a,b):return a+b
    d = lambda a, b: a + b
    print(d(10, 20))
    # lambada表达式的运用,用于一行可以解决的问题
    def sub(a, b, func):
    return func(a, b)
    print(sub(10, 20, lambda a, b: a + b))
    
    • 高阶函数案例
    '''
    正常会按照首字母大小排序,
    如果需要按照字母长度排序
    '''
    
    listSort = ["asdf", "fdfd", "cdsaffdsf", "basdkgjsalk;"]
    listSort.sort()
    print(listSort)
    
    '''
    sort(*,key=None,reverse=False)中,key作为比较键(根据什么来进行比较)
    默认值None表示直接排序不单独比较键值
    '''
    # len()函数传进来,参数由sort提供,参数为单位元素
    listSort.sort(key=len)
    print(listSort)
    
    '''
    根据第二个元素排序
    '''
    # 提取比较键,第二个元素
    def second_char(ele):
        return ele[1]
    
    
    # 将函数赋值给key
    listSort.sort(key=second_char)
    print(listSort)
    # listSort.sort(key=lambda ele:ele[1])
    

  • Set集合

    • 元素唯一性,无序性
    # 打印
    s = {'快乐', '难过', '溜了'}
    
    for ele in s:
        # 无序打印
        print(ele)
    
    # 添加元素
    s.add('愤怒💢')
    s.add('绝望')
    print(s)
    
    
    # 第二种添加方式,将一个容器中的元素添加到集合中
    s.update((0, 1))
    s.update([2, 3, 4], (5, 6, 7))
    print(s)
    
    
    # 集合删除这个元素,元素不存在报错
    s.remove(1)
    print(s)
    
    # 集合删除元素,元素不存在不报错
    s.discard('jj')
    print(s)
    
    # 第二种删除的方法,随机删除
    s.pop()
    print(s)
    
    • 集合之间的运算
    s1 = {1, 2, 3, 4, 5}
    s2 = {1, 2, 3, 4, 5, 6, 7}
    
    # s1 是否s2的子集
    a = s1.issubset(s2)
    print(a)
    
    # s2是否是s1的超集
    b = s2.issuperset(s1)
    print(b)
    
    # 并集
    c = s1.union(s2)
    print(c)
    
    # 交集
    d = s1.intersection(s2)
    print(d)
    
    # 差集
    e = s2.difference(s1)
    print(e)
    
    # 异或,第二个方法更新了s1
    f = s1.symmetric_difference(s2)
    print(f)
    
    s1.symmetric_difference_update(s2)
    print(s1)
    
    

  • 字符串

    • 打印字符串
    
    # 下列三种等同
    str1 = 'a\nb\nc\nd'
    str2 = "a\nb\nc\nd"
    #原样输出字符串
    str3 = '''
    a
    b
    c
    '''
    print(str1)
    print(str2)
    print(str3)
    
    
    • 字符串判断
    s1 = 'faksdjflakdjfla;'
    s2 = '123214324325'
    
    # 是否都是字母(当前至少有一个字符)
    print(s1.isalpha())
    
    # 是否只包含数字(字符串不为空)
    print(s2.isdecimal())
    
    # 是否都是小写(至少包含一个区分大小写的字符)
    print(s1.islower())
    
    # 是否都是大写(至少包含一个区分大小写的字符)
    print(s1.isupper())
    
    # 以什么开始,以什么结束
    print(s1.startswith('fak'))
    print(s1.endswith('fla;'))
    
    • 查找
    
    str1 = 'grandfather'
    
    # 找到第一个是a
    index = str1.find('a')
    print(index)
    
    # 找到'ther'第一个字符坐标
    index = str1.find('ther')
    print(index)
    
    # 从指定位置找,首位范围皆包含
    index = str1.find('a', 3, str1.__len__() - 1)
    print(index)
    
    # 从右往左查找
    index = str1.rfind('a', 3, str1.__len__() - 1)
    print(index)
    
    # 以上find查找不存在返回-1,以下index查找不存在报错
    
    inl = str1.index('a')
    print(inl)
    
    • 替换
    # 全部替换
    str = 'hello java,java'
    str1 = str.replace('java', 'python')
    print(str1)
    
    # 替换次数,默认是 -1
    str1 = str.replace('java', 'python', 1)
    print(str1)
    
    
    • 拆分和链接
    # 以第一个形参为准,拆分为3个元素所成的元祖
    # ('hello ', 'j', 'ava,java')
    str0 = 'hello java,java'
    tuples = str0.partition('j')
    print(tuples)
    
    # 从右开始寻找,同上
    # ('hello java,', 'j', 'ava')
    str1 = str0.rpartition('j')
    print(str1)
    
    # 每个形参元素都会被划分,类似java,若寻找的是第一个字符,会多一个空元素,默认头部多一个空元素
    lists = str0.split('h')
    print(lists)
    
    # 根据\r\n等特殊字符进行划分
    str1 = str0.splitlines()
    print(str1)
    
    # 字符串(迭代体)的每个元素都和str拼接一次
    # 来hello java,java自hello java,java我
    str1 = str0.join('来自我')
    print(str1)
    
    
    • 字符串补充和去空
    
    # 左对齐,不够数字补空格
    string = 'zero'
    # 字符串左对齐,右边补空格
    print(string.ljust(10))
    # 字符串右对齐,左边补空格
    print(string.rjust(10))
    # 中间对齐,两遍补空格
    print(string.center(10))
    
    # 去左右两边空白
    string = 'unit_gallery '
    print(string.strip())
    
    # 去字符左右两边指定字符
    print(string.lstrip('_'))
    print(string.rstrip('_'))
    print(string.strip('_'))
    
    # 是否包含空格
    str.__contains__(' ')
    

  • Dict字典

    # 键支持int,tuple,str,键不能重复,不然会被覆盖
    d = {1: 'ss', (1, 2, 3): 'df', 'df': 'ok'}
    print(d)
    
    # 查询
    print(d['df'])
    print(d.get('df'))
    
    # 获取所有的键
    print(d.keys())
    print(type(d.keys()))
    # <class 'dict_keys'>视图图对象,主要是让内存对象,keys不能添加对象,不支持修改
    # dict_keys([1, (1, 2, 3), 'df'])可以转成list
    print(list(d.keys()))
    
    # 字典中所有值
    # dict_values(['ss', 'df', 'ok'])视图对象
    print(d.values())
    
    # 字典中所有条目
    # dict_items([(1, 'ss'), ((1, 2, 3), 'df'), ('df', 'ok')])
    print(d.items())
    
    
    
    • CRUD
    
    d = {'s': 1}
    # 增
    d['op'] = 'o'
    print(d)
    
    d.setdefault('ll', 12)
    print(d)
    
    # 删
    del d['ll']
    print(d)
    
    print(d.pop('op'))  # 返回的是value
    print(d)
    
    # 改
    d['s'] = 2
    print(d)
    
    # 查/遍历
    d = {1: 's', (1, 2): 'as', 'fa': 'aa'}
    
    # 这般遍历都是键值
    for key in d:
    print(d[key])
    
    # 第二种遍历
    l = list(d.keys())
    for ele in l:
    print(d[ele])
    
    # 第三种遍历
    v = d.values()
    for value in v:
    print(value)
    
    # 第四种遍历
    item = d.items()
    # 遍历的得出都是元祖
    for ele in item:
    print(ele[0], " : ", ele[1])
    
    
    
    • 其他
    # 空字典
    d={}
    # 空集合
    s=set()
    # 清空
    d.clear()
    # 删除整个字典(删除后不能用)
    del d
    # 测量
    length=len(d)
    

🔗 前言
🔗 Python 基础列表
🔗 Python初见1
🔗 Python初见3
🔗 Python初见4
🔗 Python初见5
🔗 Python初见6
🔗 Python初见7
🔗 Python初见8 – 飞机大战
🔗 Python初见9— 坦克大战

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零蚀zero eclipse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值