函数&类(chapter_08&chapter_09)

一、函数
1、传参
1)形参与实参:针对函数定义和调,定义时设计的参数为形参,调用时传入的则是实参。
2)关键字实参与位置实参:针对调用函数时两种情况,def(name,skill)
关键字传参-调用函数时,将形参与实参用等号连接,例:def(name=daxing,skill=guitar)
基于形参的位置顺序传递实参,调用函数时省去形参的重复,例:def(daxing,guitar)
3)默认值与可选参数:两者类似,前者在定义函数时传入真正参数,后者传入空格。
def() formatted_name(xing,mid_name=‘pan’,name)
def() formatted_name(xing,mid_name=’ ',name)
###########唯一不太确认的是:位置传参和默认传参看谁##########(需要敲代码)
4)传递任意数量的参数和传递任意数量的关键字参数
前者针对make_pizza(12,‘egg’,‘cheese’,…)这类情况,可以这样定义def make_pizza(size,*name)
后者针对build_profile(‘Bob’,‘lily’,location=‘princeton’,field=‘physics’,…)这类情况,可以这样定义def build_profile(first,last,**user_info)
5)通过向函数传递列表的副本,而不修改原件。例:function_name(list_name[:]),但会降低效率,
2、函数与模块的导入
模块名为该python脚本的文件名,导入格式为:
import module_name(调用函数时,module_name.function_name)
import module_name as p(调用函数时,p.function_name)
from module_name import function_name(调用函数时,直接function_name)
from module_name import function_name as fn(调用函数时,直接fn)
from module_name import *(调用函数时,直接function_name)
3、注意事项
形参指定默认值时,等号两边不要有空格,关键字调用时一样。
二、类
1、定义:形如Class Dog(): def init(self,name,age):
约定首字母大写,且类定义中的括号为空
2、创建实例
1)my_dog = Dog(‘wilin’,6);句点表示法访问属性、调用方法。my_dog.name
2)直接修改属性的值/通过方法修改属性的值
3、继承:形如class ElectricCar(Car): def init(self,make): super().init(make)
注意:class小写;继承的类名依旧首字母大写;特殊函数super()
1)通过重名改写父类的方法使其符合子类
2)将实例用作属性,并调用实例的方法,例:self.battery=Battery()
3)方法的参数可以后传入(见测试部分P194)
4、导入(规则与函数一样)
###############这里最好将代码敲下来按上面的笔记进行注释#################
补充一个类的写法(没有 init 这些初始化属性)(leetcode上面的一道简单题):

class Solution():
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        result = []
        nums_len = len(nums)
        for i in range(0, nums_len):
            for j in range(i+1, nums_len):
                if nums[i] + nums[j] == target:
                    result.append(i)
                    result.append(j)
        return  result
a = Solution()
print(a.twoSum([3,2,4], 6))

答案:[1, 2]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值