Python 第三课,函数。

一,几种编程思想

1.面向过程编程:根据业务逻辑从上到下实现功能,

2.函数式编程:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可

3.面向对象编程:对函数进行分类和封装

二,函数的定义和使用

1. 函数的构成

  • def:表示函数的关键字
  • 函数名:函数的名称,日后根据函数名调用函数
  • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...
  • 参数:为函数体提供数据
  • 返回值:当函数执行完毕后,可以给调用者返回数据。

2.参数的分类

  • 普通参数,即为函数体提供的数据,后期调用时需,按顺序填写

    # name 叫做函数func的形式参数,简称:形参
    def func(name):
        print name
    
    # ######### 执行函数 #########
    #  ‘x‘ 叫做函数func的实际参数,简称:实参
    func(‘x‘)
  • 指定参数,后期调用时,需要声明所提供数据的参数名称,不必按顺序。

    def func(name):
        print name
    
    func(name=‘x‘)
  • 默认参数,在括号中需默认一个数值,多个参数的话需要位于最后面,后期再调用时可以不填写,填写需指定参数名称。

    def func(name,sex =‘0‘):
        print name
    
    func(‘x‘)
  • 动态参数,*参数名接受内容为元组 **参数名接受内容为字典,如果实参的名称带有*则直接替换形参内容。

    def func(*args):
        print args
    # 执行方式一
    func(11,33,4,4454,5)
    # 执行方式二
    li = [11,2,2,3,3,4,54]
    func(*li)
    
    def func(**kwargs):
        print args
    # 执行方式一
    func(name=‘wupeiqi‘,age=18)
    # 执行方式二
    li = {‘name‘:‘wupeiqi‘, age:18, ‘gender‘:‘male‘}
    func(**li)

三,三元运算

三元运算(三目运算),是对简单的条件语句的缩写。


1

2

3

4

5

# 书写格式

result = 1 if 条件 else 2

# 如果条件成立,那么将 “值1” 赋值给result变量,否则,将“值2”赋值给result变量

四,深浅拷贝

一、数字和字符串

对于 数字 和 字符串 而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import copy

# ######### 数字、字符串 #########

n1 = 123

# n1 = "i am alex age 10"

print(id(n1))

# ## 赋值 ##

n2 = n1

print(id(n2))

# ## 浅拷贝 ##

n2 = copy.copy(n1)

print(id(n2))

 

# ## 深拷贝 ##

n3 = copy.deepcopy(n1)

print(id(n3))

二、其他基本数据类型

对于字典、元祖、列表 而言,进行赋值、浅拷贝和深拷贝时,其内存地址的变化是不同的。

1、赋值

赋值,只是创建一个变量,该变量指向原来内存地址,如:


1

2

3

n1 = {"k1""wu""k2"123"k3": ["alex"456]}

 

n2 = n1

  

2、浅拷贝

浅拷贝,在内存中只额外创建第一层数据


1

2

3

4

5

import copy

 

n1 = {"k1""wu""k2"123"k3": ["alex"456]}

 

n3 = copy.copy(n1)

3、深拷贝

深拷贝,在内存中将所有的数据重新创建一份(排除最后一层,即:python内部对字符串和数字的优化)


1

2

3

4

5

import copy

 

n1 = {"k1""wu""k2"123"k3": ["alex"456]}

 

n4 = copy.deepcopy(n1)

时间: 2024-11-06 09:49:24

Python 第三课,函数。的相关文章

Python笔记三(函数)

一.函数的简介 我们写一个计算字符串或列表等长度的方法,方法类似len()方法,发现实现的代码几乎相同: 1 s1='1234567890' 2 def my_len(): 3 count = 0 4 for i in s1: 5 count+=1 6 print(count) 7 my_len() 8 print(len(s1)) 首先,之前只要我们执行len方法就可以直接拿到一个字符串的长度了,现在为了实现相同的功能我们把相同的代码写了好多遍 —— 代码冗余 其次,之前我们只写两句话读起来也

MIT Python 第四课函数抽象与递归简介 最后三分钟递归的经典案例:斐波那契数列

斐波那契数列Fibonacci Sequence,又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) 有一对一个月大的一公一母的兔子,再过一个月的时候交配生小兔子,假设它们生的是两只一公一母的小兔子,在下一个月末这两只小兔子也有了后代同样是一公一母,问题是一年后你会有多少只小兔子?[呲牙]第三年的时候就像到了澳大利亚... >>&g

小哈学Python第三课-字符集编码

table.hovertable { font-family: verdana, arial, sans-serif; font-size: 11px; color: #333333; border-width: 1px; border-color: #999999; border-collapse: collapse } table.hovertable th { background-color: #c3dde0; border-width: 1px; padding: 8px; borde

Python第三课

collections         --import collections 计数器 Counter  --对字典的扩展用于追踪某值的出现次数 如:import collections str1=  'akdjfdlkjfewioewlkwmee' c = collections.Counter(str1) print c Counter({'e': 4, 'k': 3, 'w': 3, 'd': 2, 'f': 2, 'j': 2, 'l': 2, 'a': 1, 'i': 1,'m':

Python基础三:函数和类

函数的定义和调用 1 def fun(x): 2 if x > 0: 3 print "x>0" 4 else: 5 print "x<=0" 6 7 a = 3.5 8 b = -1 9 fun(a) 10 fun(b) 类的定义和基本调用 1 class Student: 2 def __init__(self, name, age): 3 self.name = name 4 self.age = age 5 6 def studying(s

python第三课:安装pycharm,数据类型初识

上节内容变量if else注释 # ''' msg ''' 3个引号 打印多行 ', "" 双单引号的意义是一样的 缩进 本节内容pycharm使用 集成开发环境(IDE,Integrated Development Environment ) VIM #经典的linux下的文本编辑器 Emacs #linux 文本编辑器, 比vim更容易使用 Eclipse # Java IDE,支持python, c ,c++ Visual Studio # 微软开发的 IDE, python,c

[python第三课]分支结构

print("3.第三章:分支结构\n(1)if语句的使用\nif 条件:\n\t语句1\nelse\n\t语句2\n含义:如果条件对,则执行语句1,如果条件不对,则执行语句2\n") 原文地址:https://www.cnblogs.com/XiaoHongLactasoy/p/12610066.html

python第三课笔记

以下哪个变量的命名不正确?为什么? (A) MM_520  (B) _MM520_  (C) 520_MM  (D) _520_MM 答:C不正确,不能数字开头 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗? >>>myteacher = '小甲鱼' >>>yourteacher = myteacher >>>yourteacher = '黑夜' >>>print(myteacher) 复制代码 答:小甲鱼 在不上机的情况下

MIT Python 第三课一般代码样式 循环式程序 第15分钟:求16的平方根:4

求16的平方根:4 >>> #显示16的平方根 >>> x=16 >>> ans=0 >>> while ans*ans<16: ans=ans+1 print(ans) 1 2 3 4 >>> print(ans) 4 >>> 终极测试中应该是<0 没有=0 >>> x=16 >>> ans=0 >>> while ans*ans&