老男孩day9

dymlnet dymlnet     2022-10-06     479

关键词:

今天是在老男孩学习的第9天,大致内容整理如下:

昨日总结及补充:

  读:

    read()  一次性读

    readline()  一行一行读,本身无结束

    readlines()  一次性读完后生成列表

 

  写:

    write  需要换行则加上 \n

  

  光标:文件指针

    seek  指定光标移动的位置

    tell  获取光标位置

    truncate  截取文件

    

  关闭文件:

    close

 

import os

os.remove(‘‘)  删除文件

os.rename(‘‘,‘‘)  重命名文件

 

函数基础

基本格式

  

def new_len():
    s = aaaaaa
    h = 0
    for i in s:
        h = h + 1
    print(h)
print(new_len())

我们定义一个函数,功能是为了检测字符串的个数。定义函数必须要在前方加上def,函数名称一定要一致,同时和变量的命名规范一样。

 

def new_len():
    s = aaaaaa
    h = 0
    for i in s:
        h = h + 1
    return h
print(new_len())

在函数中加入return即可定义返回值。同时return下面的函数部分的代码将直接忽略,不会执行

还要注意,我们上文定义的new-len是没有意义的,因为这个函数不能调用只能输出特定字符串的值,因此需要改进

i = input(>>>)
def new_len(s):
    h = 0
    for i in s:
        h = h + 1
    return h
print(new_len(i))

 

 

技术分享图片

这样的就可以做到用户输入然后输出位数,那么在函数中s是函数的接收部分,他不知道s是什么,所以叫做 形参 。而i部分是用户输入的部分,它叫做实参。

 

 

函数的3种情况:

  没有返回值:不写return或者return后不带变量

def new_len():
    s = aaaaaa
    h = 0
    for i in s:
        h = h + 1
print(new_len())
def new_len():
    s = aaaaaa
    h = 0
    for i in s:
        h = h + 1
    return 
print(new_len())
def new_len():
    s = aaaaaa
    h = 0
    for i in s:
        h = h + 1
    return None
print(new_len())

技术分享图片三种结果都是一样的,返回None

 

返回一个值:

  可以返回任何数据类型

  只要返回了就可以接收到

  如果在一个程序中有多个return则只执行第一个后就结束函数了

  如果要接受多个实参则需要使用逗号隔开

  

v = input(>>>)
k = input(>>>)
sum = 0
def sum(v,k):
    sum = int(v) + int(k)
    return sum
print(sum(v,k))

 

返回多个值:

  多个返回值用多个变量接受,也可以用一个变量接受,那么得到的是一个元祖

def ret_demo2():
    return 1,[a,b],3,4
ret = ret_demo2()
print(ret)

技术分享图片

 

参数:

  没有参数  定义函数或者调用函数时括号内不写内容

  有一个参数  传什么就是什么

  有多个函数  位置参数,与新参一一对应,用逗号隔开

  站在实参角度:

    按照位置传参

    按照关键字传参

def sum(v,k):
    sum = int(v) + int(k)
    return sum
print(sum(v=2,k=1))

    两种方式可以混用但是要注意顺序是先位置传然后关键字传。同时不能给同一个变量传多个值,报错

def sum(v,k):
    sum = int(v) + int(k)
    return sum
print(sum(2,k=1))

 

 

站在形参角度:

  位置参数  必须要传而且是有几个传几个

  默认参数  可以不传,如果不传就是用默认参数,如果传了就用传的

def sum(v,k=1):
    sum = int(v) + int(k)
    return sum
print(sum(2))
print(sum(v=2))

 

当定义函数时

  位置参数:直接定义参数

  默认参数(关键字参数):参数名 = ‘默认值’

  顺序:位置参数  *args  默认参数  **args

 

动态参数:

  当我们想要接收多个参数时需要用到动态参数

 

  *args

def arg(*args):
    for i in args:
        print(i)
    return i
k = [1,2,3,4,5,6,7,8,9]
print(arg(k))

只能传输按照位置传参的值,成元祖

 

  **kwargs

def stu_info(**kwargs):
    print(kwargs)
    print(kwargs[name],kwargs[sex])

stu_info(name = alex,sex = male)

 

两者可以混用,但是args必须在kwargs之前

总结:站在实参角度:给一个序列加 * 就是将这个序列按照顺序打散。站在形参角度:给这个变量加上 * 就是组合所有传来的值

 

函数的注释要注释在函数的开头说明函数的作用等

老男孩

http://oldboy.blog.51cto.com 查看详情

最新老男孩pyhon精品课程

最新老男孩pyhon精品课程,官网地址:wwww.oldboyedu.com链接:http://pan.baidu.com/s/1kVslx3p密码:xkk9老男孩IT教育Python开发精品课程本文出自“自动化运维”博客,请务必保留此出处http://pythonedu.blog.51cto.com/12741743/1923735 查看详情

老男孩day11

---恢复内容开始---今天是在老男孩学习的第11天,主要讲解函数的进阶知识,大致内容整理如下:time模块  importtime引用模块time.sleepimporttimetime.sleep(5)print(‘>>>‘)该函数下的代码延迟5秒后执行 time.time()importtimeprint(tim... 查看详情

老男孩day16

今天是在老男孩学习的第16天,主要补充了昨日的知识,大致内容整理如下:python的数据结构:dict,list,tuple等等。。。python的数据类型:int,bool等。。reverse()  反转reversed()  反转但是会生成一个新列表,原列表不... 查看详情

老男孩逆袭思想:it新手如何让提问更高效?

老男孩逆袭思想:IT新手如何让提问更高效? 查看详情

老男孩day13

今天是在老男孩学习的第13天,今天考试发现我的知识还差的很远,这次考试开始会单独整理考试错题与平时感觉难的题目。今日内容大致整理如下:dir方法  打印出该类型的所有方法print(dir([]))print(dir(()))print(dir({}))print(dir(int... 查看详情

老男孩day8

今天是老男孩培训的第8天,大致内容整理如下:1.文件的操作:  1.文件路径:文件路径分为绝对路径和相对路径,绝对路径指从根目录到指定文件,详细的路径。相对路径指你所在位置的同一位置的文件。  2.文件的编码... 查看详情

老男孩-第一关测试

...的提升只是量的增长,思想的提升才是质的飞跃——by老男孩第1章第1周课前测试考试题1.1创建目录第1题创建一个目录/data。1234[[email protected]~]#mkdir/data验 查看详情

老男孩day10

今天是在老男孩学习的第十天,主要对函数知识做了大致的补充,内容整理如下:函数的优点:  可读性强,复用性强。默认参数的陷阱:  如果参数的默认参数是可变数据类型,那么每一次调用函数的时候,如果不传值则... 查看详情

老男孩培训练习购买商品

#!/usr/bin/env python#-*-coding=utf-8 -*-#AUTHOR:duwentaoproduct_list = [    ('Iphone',5000),    ('book',10),  &nb 查看详情

老男孩购物车程序

1salary=input(‘您的工资是:‘)2item_list=[3(‘iphone‘,5800),4(‘pc‘,12325),5(‘watch‘,7000),6(‘book‘,38),7(‘pen‘,5),8(‘game‘,1000)9]10buy_list=[]11print(type(salary))12whileTrue:13ifsalary.isdigit():14salary=in 查看详情

老男孩教育入学前测试题

版权声明:本文的所有内容均来自作者刘春凯的学习总结,未经本人许可,禁止私自转发及使用。QQ:1151887353E-mail:[email protected]     [email protected]############################################################### 查看详情

老男孩:做运维比做开发岗位有哪些特殊好处,你知道么?

...觉得开发更牛逼,运维就是背黑锅(如何不背黑锅,看老男孩的以后文章)的,运维==黑锅侠。那么,老男孩就给大家讲讲老男孩眼中运维的好处,让大家重新认识下运维岗位的魅力吧。1、做运维可以认识更多人脉,同时也被更... 查看详情

py快捷链接内容转自老男孩

ubuntuhttp://www.cnblogs.com/johnnyzhou/articles/8024852.html基本数据类型http://www.cnblogs.com/johnnyzhou/articles/8024862.htmlpyhttp://www.cnblogs.com/johnnyzhou/articles/8024992.html函数http://www.cnblogs. 查看详情

老男孩教育46期-赵福星

...作过数控,对当时薪资过低不满,经过哥哥的推荐来到老男孩学习。五个月学习完的目标薪资是10k以上达到目标奖励自己一台高配置笔记本电脑,达不到将所学的笔记抄写十遍。为了目标奋斗课前认真预习,上课认真听讲,做好... 查看详情

老男孩脱产班开班前的最后一天

...sp;   今天是十月十一日,星期三;明天将是老男孩Linux脱产班四十二期开班日期;早已满怀期待的我于昨日抵京,今天也安顿好了住处,准备好迎接明天的开班活动了。    自己目前的思想情况自我感觉... 查看详情

老男孩双11课程首次最高优惠4000元,还不快到碗里来?

老男孩悄悄告诉你:双11买啥都赔,唯有买课稳赚!学会投资大脑,才是最正确的投资。老男孩IT教育10年来,课程在底价的基础上,首次再大幅降价,快到碗里来!优惠幅度且看图片说明:错过了,在等一年,老男孩教育在底价... 查看详情

老男孩之《生日快乐》

本文地址:http://www.cnblogs.com/aiweixiao/p/7258419.html原文地址:http://www.jianshu.com/p/0b225697b43f 缘由   微信中突然收到姐夫的说的生日快乐,才知道今天是自己农历的生日,而据说,今年有两个农历六月。当时心情是很激... 查看详情