python学习面向对象Day09(P96~~106)

这篇博客回顾了Python面向对象的学习内容,包括函数的优化、2048游戏项目的练习,如局部变量、全局变量的操作,以及面向对象的基本概念,如类和对象的定义。
摘要由CSDN通过智能技术生成

b站达内python课学习笔记

P96~97 Python面向对象-1.1&1.2 课程内容回顾01&02

一、Day08复习

"""
    day08 复习
    函数
        基础语法
            定义函数
                def 函数名称(形参):
                   函数体


            调用函数
                函数名称(实参)

        基础概念
            参数:调用者传递给定义者的信息.
                定义者要求调用者必须提供的信息.

            返回值:定义者传递给调用者的结果

        参数
            实际参数
                位置实参:实参与形参按位置对应
                    序列实参:参数过多,可以将实参存储在序列中.
                            用星号拆分后与形参对应.

                关键字实参:实参与形参按名字对应
                    字典实参:参数过多,可以将实参存储在字典中.
                            用双星号拆分后与形参对应.

            形式参数
                默认形参:给形参提供一个默认值,实参可以不提供.
                位置形参
                    星号元组形参:让位置实参个数无限
                命名关键字形参:要求实参必须是关键字实参
                    双星号元组形参:让关键字实参个数无限
"""
def fun01(a, b, c):
    print(a)
    print(b)
    print(c)


# 位置实参
fun01(1, 2, 3)
list01 = [1, 2, 3]
#     星号:拆分序列
fun01(*list01)

dict01 = {
   "a": 1, "c": 3, "b": 2}
#     双星号:拆分字典
fun01(**dict01)


def fun02(a=0, b=0, c=0):
    print(a)
    print(b)
    print(c)


# 关键字实参
fun02(c=3)


# 将实参合并为一个元组
def fun03(*args):
    print(args)


fun03(2, 3, 4, 4, 5)


# 将实参合并为一个字典
def fun03(**kwargs):
    print(kwargs)


fun03(a=1, b=2)


def fun04(*, name):
    print(name)


fun04(name="")

print("#", "*", 123,sep="--",end=" ")
print("#", "*", 123,"--"," ")

P98 Python面向对象-1.3 练习解析01

一、练习1:字符串相关函数练习

"""
自学(参照菜鸟教程)字符串/列表/字典常用函数(方法),实现如下功能。
    字符串:" 校 训:自 强不息、厚德载物。  "
    查找空格的数量
    删除字符串前后空格
    删除字符串所有空格
    查找"载物"的位置
    判断字符串是否以"校训"开头.
"""
str01 = "校训:自 强不息、厚德载物。  "
print(str01.count(" "))

str02 = str01.rstrip().lstrip()
print(str02)

str03 = str01.replace(" ","")
print(str03)

print(str01.index("载物"))

print(str01.startswith("校训"))

P99 Python面向对象-1.4 练习解析02

一、练习1:函数传参练习

# 作业:调用fun07。

#      |位置||星号元组||命名关键字||双星号字典|
def fun07(a, b, *args, c, d, **kwargs):
    print(a)
    print(b)
    print(args)
    print(c)
    print(d)
    print(kwargs)


fun07(1, 2, 3, 4, 5, c=6, d=7, e=8, f=9)


# 位置实参无限 + 关键字实参无限
def fun01(*args, **kwargs):
    print(args)
    print(kwargs)

fun01(1, 2, 3, a=4, c=5)

二、练习2:函数分而治之思想(提取一个范围内的素数)

函数要分而治之,层层嵌套,相互调用,做到一个函数只做一件事

1、初始代码:一个函数实现提取指定范围内的素数

"""
4. 定义函数,计算指定范围内的素数
"""

def get_prime(begin,end):#5  30
    list_result = []
    # 生成范围内的整数
    for number in  range(begin,end):
        # 判断素数
        for item in range(2, number):
            if number % item == 0:
                break
        else:
            list_result.append(number)
    return list_result

2、优化代码1:抽离出素数判断函数,分而治之

def is_prime(number):
    """
    判断指定的数字是否为素数
    :param
    number: 指定的整数
    :return: True
    表示是素数,False表示不是素数.
    """
    for item in range(2, number):
        if number % item == 0:
            return False
    return True


def get_prime(begin, end):  # 5  30
    """
        获取范围内的素数
    :param begin: 开始值(包含)
    :param end: 结束值(不包含)
    :return: 所有素数的列表
    """
    list_result = []
    for number in range(begin, end):
        if is_prime(number):
            list_re
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值