游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

Python基础语法介绍(二)

  一、概述
  上一篇文章:Python基础语法介绍(一),已经介绍了一部分基础知识了,这里就继续介绍python基础知识。
  二、函数
  函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,函数能提高应用的模块性,和代码的重复利用率。1)函数定义
  定义函数规则如下:函数代码块以def关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串用于存放函数说明。函数内容以冒号:起始,并且缩进。return〔表达式〕结束函数,选择性地返回一个值给调用方,不带表达式的return相当于返回None。
  Python定义函数使用def关键字,一般格式如下:def函数名(参数列表):函数体
  在定义函数名字的时候我们需要注意几点:关键字不能作为函数名字。函数名中不能存在空格。函数名的首字母必须是大小写字母或者下划线。函数名的其余字母可以使用字母、数字以及下划线。不同函数名大小写不同的时候为不同函数。
  示例如下:!usrbinpython3定义函数defgetname():passdefgetsalary():passdefaddmoney():pass2)函数调用
  当我们创建好函数之后,如果不调用的话,函数永远都不会执行。调用函数的时候,解释器会跳到函数体内,执行函数内的语句,当执行完毕之后回到调用的位置继续执行后续语句。
  示例如下:!usrbinpython3定义函数defhelloworld():print(调用函数)print(helloworld)print(人生苦短,我用Python)调用函数helloworld()print(调用完毕)3)函数传参
  在调用函数的时候,主函数和调用函数之间总是离不开数据的传递,有了数据的传递,也就是参数的传递。参数的作用是用来传递数据给函数使用。1、形式参数和实际参数形式参数为我们定义函数的时候再括号中定义的参数,我们在函数的内部会使用这个参数进行代码的编写;而实际参数为函数调用的时候传进来的参数,函数返回的结果是根据这个实际参数来代替形式参数。2、关键字参数
  为了提高程序的可读性,在函数调用的时候还可以使用关键字参数调用。
  示例如下:defvolume(length,width,height):。。。volumelengthwidthheight。。。print(体积为:,volume)。。。volume(length20,width30,height3)体积为:18003、参数默认值
  当我们定义一个函数的时候,可以给函数的参数定义一个初始值,这样在我们调用函数的时候如果没有给出实际参数,那么函数会使用默认参数。
  示例如下:defvolume(length100,width100,height10):。。。volumelengthwidthheight。。。print(volume)。。。volume()不给出实际参数的时候会使用默认参数100000volume(10,10,10)给出实际参数会传递实际参数给出输出结果10004、可变参数
  在Python中函数的参数个数是可以变化的,也就是说参数的数量可以是不确定的,这种参数被称为可变参数。可变参数分为两种:一种是参数前加,这种方式的可变参数在传递的时候是以元组的形式传递。一种是参数前加,这种方式的可变参数在传递的时候以字典的形式传递。
  元组形式示例如下:defaddnumber(number):。。。addnum0。。。foriinnumber:。。。addnumi。。。print(addnum)。。。addnumber(1,2,3,4,5)15
  字典形式示例如下:defprintinfo(arg1,vardict):。。。打印任何传入的参数。。。print(输出:)。。。print(arg1)。。。print(vardict)。。。printinfo(1,a2,b3)输出:1{a:2,b:3}4)函数返回值
  在使用函数的过程中通常是调用函数,然后被调用的函数中的内容会依次被执行,但是我们有的时候需要的不只是执行的步骤,我们还需要获取到函数中的一些变量,因此我们在使用函数的时候还可以增添一个返回值来获取函数中的一些数据。1、语法结构
  Python中关于返回值需要使用return语句,它的语法结构为:returndata
  示例如下:defgetsum(a,b):sumabreturnsumgetsum(1,2)2、多值返回
  在返回多个值的时候原理和一个值的时候类似,我们需要注意的一点是当我们返回的是多个值的时候,多个值是被存储在元组当中的。
  示例如下:defgetdata():。。。a1。。。b2。。。c3。。。d4。。。returna,b,c,d。。。print(返回值的类型:,type(getdata()))返回值的类型:classtupleprint(返回值:,getdata())返回值:(1,2,3,4)5)变量作用域
  变量的作用域指的是一个变量能够有效的区域,因为我们在使用函数的时候,有的变量是在主程序中定义的,有的是在调用的函数中定义的,当我们的主程序使用函数中定义的变量时,就会出现异常。下面来介绍一下局部变量和全局变量。1、局部变量
  局部变量,顾名思义,就是作用在局部区域的变量,如果是在函数中定义的变量,那么就只在函数中起作用,如果在函数外部使用函数内部的变量,就会出现异常。
  示例如下:deftest():。。。data局部变量。。。print(在函数内部输出data为:,data)。。。test()在函数内部输出data为:局部变量print(在主程序中输出data:,data)Traceback(mostrecentcalllast):Filestdin,line1,inmoduleNameError:namedataisnotdefined
  从上面执行结果可知,由于变量data是在函数内部定义的,我们在主程序中使用变量data则会出现访问的变量不存在的问题。
  【结论】在函数内部定义的变量为局部变量,未作特别声明(global)的话是不可以在函数外使用的。2、全局变量
  全局变量我们也可以从字面意思中理解到它就是作用在全局的变量,有的同学可能自然而然的认为那么全局变量一定是定义在主程序中的变量了,其实全局变量也是可以作用在函数中的,在这里我们来介绍两种全局变量的使用方式:【1】在主程序中定义全局变量data全局变量datadeftest():。。。print(这是作用在函数中的全局变量:,data)。。。test()这是作用在函数中的全局变量:全局变量dataprint(这是作用在函数外的全局变量:,data)这是作用在函数外的全局变量:全局变量data【2】使用global关键字在函数中声明全局变量
  在函数内定义的变量也可以变成全局变量,这时候我们就要使用到global关键字。
  首先我们先看一下当全局变量和局部变量的名字相同的时候会是一个怎么样的情况,看下面的例子:data这里是全局变量dataprint(data)这里是全局变量datadeftest():。。。data这里是局部变量data。。。print(data)。。。test()这里是局部变量dataprint(再检查一下全局变量data:,data)再检查一下全局变量data:这里是全局变量data
  使用global关键字示例如下:data这里是全局变量dataprint(data)这里是全局变量datadeftest():。。。globaldata。。。data这里是局部变量data。。。print(data)。。。test()这里是局部变量dataprint(再检查一下全局变量data:,data)再检查一下全局变量data:这里是局部变量data
  通过global关键字,在局部中声明告诉这个函数global变量是一个全局变量,那么修改了之后,全局中的变量都做了修改,global关键字就是可以使一个变量变成全局变量。6)匿名函数(lambda)
  想必大家都知道匿名是什么含义,匿名就是指没有名字,我们在写程序的过程中有时不需要给函数命名,这时候就可以使用匿名函数,我们在Python中使用lambda表达式来使用匿名函数。1、匿名函数的定义
  通过一个例子来介绍一下lambda函数的简单使用,变量m为我们输入的值,我们需要采用匿名函数来返回m的平方和,也就是输入2要返回值为4。mint(input(请输入一个数字:))m为输入的值请输入一个数字:6alambdax:xx使用变量a来构成一个表达式print(返回值为:,a(m))返回值为:36
  通过下图再来看一下它的结构:
  2、序列调用匿名方法
  在序列中同样可以使用匿名函数,使用匿名函数可以帮助我们进行很快的数据筛选,看下面的例子:mylist〔1,4,6,9,12,23,25,28,36,38,41,56,63,77,88,99〕print(list(filter(lambdax:x20,mylist)))〔4,6,12,28,36,38,56,88〕7)常用内置函数
  Python中常用的内置函数如下:
  函数名
  说明
  abs()
  返回绝对值
  bin()
  返回二进制
  bool()
  返回布尔值
  chr()
  用一个范围在256内的整数作参数,返回一个对应的字符
  cmp(x,y)
  用于比较,前者大于后者返回1,相等返回0,小于后者返回1
  dict()
  创建字典
  eval()
  返回字符串表达式的值
  file()
  创建一个file对象
  filter()
  过滤函数
  float()
  把整数和字符串转换成浮点数
  format()
  格式化函数
  getattr()
  返回一个对象属性值
  globals()
  全局变量
  hash()
  返回一个对象的哈希值
  help()
  查看函数或者模块的功能
  hex()
  将10进制整数转换成16进制
  id()
  返回一个对象在内存中的地址
  input()
  标准输入
  isinstance()
  判断一个对象是否为已知的类型
  int()
  把字符串或数字转换为整型
  len()
  返回序列的长度
  list()
  把其他数据类型转换为列表
  map()
  映射函数
  max()
  返回最大值
  min()
  返回最小值
  next()
  返回迭代对象的下一项
  oct()
  整数转换八进制数
  pow(x,y)
  返回x的y次方
  print()
  输出
  range()
  创建整数序列
  reduce()
  聚合函数
  reverse()
  逆序
  round()
  对浮点数四舍五入
  set()
  创建集合
  sorted()
  排序
  sum()
  求和三、python模块
  Python中有很多功能强大的模块,这些模块有的存在于Python系统库中,有的存在于第三方库中,这些模块会为我们提供各种各样的功能。
  看下面的示意图:
  1)导入模块1、第一种方式:import模块名
  示例如下:importrandom从系统库中引入这个模块testrandom。randint(1,10)使用random模块中的randint()方法print(生成一个随机数:,test)2、第二种方式:import模块名as别名importmathasttestt。cos(2。5)print(test)3、第三种方式:from模块名import函数名fromrandomimportrandinttestrandint(1,10)print(test)2)自定义模块和导入模块
  引入的模块通常有三种类型:一种是系统库中存在的模块。一种是第三方模块。最后一种就是我们自己定义来的模块。1、自定义模块
  模块名(文件名)为getcolor。pydefgetcolor(n):ifn13:return梅花elifn26:return方块elifn39:return红桃else:return黑桃
  模块名(文件名)为getvalue。pydefgetvalue(n):ifn0orn13orn26orn39:returnAelifn12orn25orn38orn51:returnKelifn11orn24orn37orn50:returnQelifn10orn23orn36orn49:returnJelse:returnn132、调用自定义模块
  导入自己定义的模块,关键代码如下:fromgetcolorimportgetcolorfromgetvalueimportgetvalue四、异常处理和程序调试1)异常处理try。。。except
  一张图了解异常处理机制:
  示例如下:try:runoob()exceptAssertionErroraserror:print(error)else:try:withopen(file。log)asfile:readdatafile。read()exceptFileNotFoundErrorasfnferror:print(fnferror)finally:print(这句话,无论异常是否发生都会执行。)2)手动抛出异常
  Python使用raise语句抛出一个指定的异常。
  raise语法格式如下:raise〔Exception〔,args〔,traceback〕〕〕
  示例如下:x10ifx5:。。。raiseException(x不能大于5。x的值为:{}。format(x))。。。Traceback(mostrecentcalllast):Filestdin,line2,inmoduleException:x不能大于5。x的值为:103)用户自定义异常classMyError(Exception):。。。definit(self,value):。。。self。valuevalue。。。defstr(self):。。。returnrepr(self。value)。。。try:。。。raiseMyError(22)。。。exceptMyErrorase:。。。print(Myexceptionoccurred,value:,e。value)。。。Myexceptionoccurred,value:44)程序调试
  使用assert断言对Ptyhon程序调试分析,在表达式条件为false的时候触发异常它的语法结构为:assertexpression〔,describe〕
  示例如下:assertTrue条件为true正常执行assertFalse条件为false触发异常Traceback(mostrecentcalllast):Filestdin,line1,inmoduleAssertionErrorassert11条件为true正常执行assert12条件为false触发异常Traceback(mostrecentcalllast):Filestdin,line1,inmoduleAssertionErrorassert121不等于2Traceback(mostrecentcalllast):Filestdin,line1,inmoduleAssertionError:1不等于2importsysassert(linuxinsys。platform)该代码只能在Linux下执行,在window下执行会报如下错误Traceback(mostrecentcalllast):Filestdin,line1,inmoduleAssertionError五、File文件操作
  在Python中访问文件、访问目录、读取文件和写入文件的操作是非常常见的,Python的文件对象也被称为类似文件对象或者流。1)创建和打开文件
  创建或者打开文件的时候需要使用到open()函数,它的语法结构为:open(file,moder,buffering1,encodingNone,errorsNone,newlineNone,closefdTrue,openerNone)
  参数说明:file:必需,文件路径(相对或者绝对路径)。mode:可选,文件打开模式(常用)buffering:设置缓冲encoding:一般使用utf8errors:报错级别newline:区分换行符closefd:传入的file参数类型opener:设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
  mode常用参数如下:
  2)file对象file。write(str)将字符串写入文件,返回的是写入的字符长度。file。read(〔size〕)从文件读取指定的字节数,如果未给定或为负则读取所有。file。readline(〔size〕)读取整行,包括字符。file。readlines(〔sizeint〕)读取所有行并返回列表,若给定sizeint0,返回总和大约为sizeint字节的行,实际读取值可能比sizeint较大,因为需要填充缓冲区。file。flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入。file。close()关闭文件。关闭后文件不能再进行读写操作。file。writelines(sequence)向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
  示例如下:fileopen(test。txt,w)file。write(第一次写入。)print(file)fileopen(test。txt,a)file。write(第二次追加写入。)print(file)
  我们可以在写入之后需要文件关闭掉,以保证文件中的内容不被恶意插件修改,关闭的方式为:file。close()
  但是使用with可以省略file。close(),因为with会自动关闭文件。3)with。。open()
  每次都写close()比较繁琐,Python引入with语句,这样能够确保最后文件一定被关闭,且不用手动再调用close方法。
  示例如下:withopen(files。txt,w)asfile:。。。file。write(helloworld!!!)。。。14file。readlines()Traceback(mostrecentcalllast):Filestdin,line1,inmoduleValueError:IOoperationonclosedfile。六、os模块
  我们对文件的管理是通过文件对象的方式实现的,而文件是Python中os模块,我们在管理文件或目录的时候,就需要使用Python中的os模块,os模块中有非常多的方法来帮助我们处理文件及目录。1)常用os方法
  常用的os方法如下表格:
  示例如下:importosos。name返回nt为windows,posix为Linux、Unix或macos。os。linesep当前系统的换行符ros。sep当前系统的分隔符os。nament2)常用os。path方法
  os。path是一个针对路径的模块,模块内提供对文件、目录和路径管理的函数,常见的方法如下表格:
  其中最常用的几种分别是abspath()、exists(path)、join(path,name)、basename(path)、dirname(path)、isdir(path),我们来看个例子:importosprint(当前目录:,os。getcwd())当前目录:rootprint(判断当前目录是否存在,存在的话返回True,os。path。exists(os。getcwd()))判断当前目录是否存在,存在的话返回TrueTrue七、日期与时间
  Python程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。1)获取当前时间戳
  示例如下:importtime引入time模块获取当前时间戳。。。tickstime。time()print(当前时间戳为:,ticks)当前时间戳为:1675176378。24448682)获取当前时间
  从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。importtimelocaltimetime。localtime(time。time())print(本地时间为:,localtime)本地时间为:time。structtime(tmyear2023,tmmon1,tmmday31,tmhour22,tmmin47,tmsec16,tmwday1,tmyday31,tmisdst0)3)格式化时间importtimelocaltimetime。asctime(time。localtime(time。time()))print(本地时间为:,localtime)本地时间为:TueJan3122:48:002023print(本地时间为:,time。strftime(YmdH:M:S,time。localtime()))本地时间为:2023013122:49:124)时间戳和格式化时间相互转化
  时间戳转格式化时间importtimetimestamp1675175334时间戳formattimetime。strftime(YmdH:M:S,time。localtime(timestamp))print(formattime)2023013122:28:54
  格式化时间转时间戳importtimedt2023013122:28:54timeArraytime。strptime(dt,YmdH:M:S)timestamptime。mktime(timeArray)print(timestamp)1675175334。0
  python基础部分就先到这里了,非常简单,网络资料也很多,都差不多,这里也只是针对常用的知识点整理了一下。讲完了基础部分,接下来就进入高级编程了,例如:面向对象、网络编程等等,请小伙伴耐心,也可关注我的公众号【大数据与云原生技术分享】深入交流

2月创投再现阶段性退出难每经记者:任飞每经编辑:彭水萍近日,投中研究院发布今年2月创投市场报告,重点谈及市场回暖过程中的机构新发募集态势。据分析,2月人民币基金完成募集规模大幅提升,而美元基金逐……宝藏打卡地!来这里感受北京的春天转瞬间,窗外已是繁花似锦,绿柳如烟阳春三月,北京满城春意。山桃、早樱、迎春、玉兰纷纷怒放枝头。几场春雨过后,空气里飘散着阵阵花香今天,北京号带您欣赏北京……春季吃豆腐益处多,推荐5道豆腐家常做法,鲜香美味又下饭!豆腐是我们生活中最常见的食物,被人们称之为植物肉。它含有丰富的蛋白质及多种微量元素,利于人体吸收,适当的食用对身体健康有好处。今天,轻喜到家跟大家分享豆腐的5种花样做法,……隔夜菜不能吃?提醒你除了这3种,其他的隔夜食物或可以放心吃现在人们已经不再为吃饱穿暖而发愁,而是希望饮食更加健康,生活的更加有质量。因此人们也更加重视食物的健康程度,希望多吃一些健康的食物,身体才会更健康。而这几年来网上有……赖特舒梅切尔斯科尔斯德罗巴孔帕尼阿圭罗入选名人堂直播吧4月21日讯英超官方宣布,赖特、舒梅切尔、斯科尔斯、德罗巴、孔帕尼、阿圭罗入选英超名人堂。截至目前,已有16名球员入选英超名人堂,他们分别是:亨利、阿兰希勒、坎通纳……反垄断,到底反出个什么怪物?原创好的,腾讯上周出年报了,忘掉三天涨10个点的愉快体验我们来客观聊聊财报,也算是一季度一次的固定节目了。分为两部分,一部分简单过一下数据,第二部分聊聊我们比较关注的方面。腾讯四季……川藏线自驾游,选择国道318还是国道317进西藏?川藏线自驾游,相信是很多自驾旅游爱好者的首选吧,因为很多人都有一个西藏梦,而自驾西藏,高原、山路,长途驾驶又是一个充满挑战与未知的旅程。川藏线线路图川藏线自驾游去西……五年九冠!佛山12岁象棋少年成长记不久前,广东省象棋协会2022年第五届象棋青少年精英赛总决赛落下帷幕,佛山市南海区西樵镇西樵中学12岁的区泳茵拔得头筹。相隔一周后再度夺冠,这已是区泳茵5年内取得的第9个省市级……胡金秋14投12中独揽2711孙铭徽18分东阳光力擒北京斩获北京时间3月22日,202223赛季CBA常规赛,北京队对阵东阳光队。历经一番角逐,东阳光队10892力克北京队夺取5连胜。数据统计北京队:利夫26分10篮板、方硕……知名首席经济学家梁红跳槽中国基金报江右在从中金公司到高瓴集团之后,研究老将梁红最新加盟了华泰证券。中国证券业协会最新信息显示,梁红女士的执业机构已经为华泰证券股份有限公司,登记日期为7月1……一个保镖的自我修养!乔丹在球场上的金牌护卫奥克利乔老爷子初入联盟之时还是个愣头青,打比赛少不了被人针对,其中最为出名的就是活塞的坏小子军团,他们对乔老爷子的犯规非常暴力非常狠,常常把乔丹直接从空中给拽下来。于是在85年……冬趣盎然记录美好大荔县崇业幼儿园教育集团宅家美好瞬间分享美好的事情时刻都在发生,每一个小的细节都是动人的瞬间。宝贝们,一别多日,我们彼此牵挂、彼此需要,共同分享生活瞬间,享受着世界上最简单的美好与幸福。2022年12月5日至9日,在……
企业员工入党积极分子思想汇报入党的企业员工们,其实要做到ldquo;为人民服务rdquo;并不难,只要我们从自己身边的小事做起,在自己工作的岗位上培养自己服务他人的意识,就能够真正的做到为人民服务。下面是……公司办公室年会策划方案1月23日下午14:0016:00全体员工在公司办公室开年终会议17:00饭店年夜饭主题:同心、同步、同鼓舞!一个团队、一个目标!一、主持人开场白:各位同仁,不知不……大连金石滩导游词作为一名旅游从业人员,通常会被要求编写导游词,导游词是导游员进行实地口语导游的基础和前提。我们应该怎么写导游词呢?下面是小编精心整理的大连金石滩导游词,希望对大家有所帮助。大连……如果罗纳尔多1998年世界杯夺冠了,他早已是球王了大罗整个人就是上帝为足球特意创造的,他的速度技术爆发力,射门盘带技巧,开天辟地以来,无人能比!我觉得就是老马和贝利的天赋都相较罗尼略显不足,特别是过人动作的流畅和高效,而不是一……冬游峨眉仙山,与南国的冰雪世界来一场浪漫之约序四季轮转,只有冬日的峨眉山才是我心中的年度最佳,当色彩斑斓的山林换上了银白色的雪衣,那便是最浪漫的季节。在2022年的最后几天,我登上了峨眉山金顶,看到了云层上的……2022接近完美的4款手机,不仅仅配置全面,关键是价格还公道您在阅读前请点击上面的关注二字,后续会第一时间为您提供更多有价值的相关内容,感谢您的支持。再有一个月,2022年就要过完了,将迎来崭新的2023年,那么在2022年发布的……皮姆博士大型被绿现场?黄蜂女和征服者康之间疑似有超友谊关系!此前上映的漫威《蚁人3》相信已经有不少粉丝刷过了,电影里借助量子维度也是揭开了当年初代黄蜂女珍妮独自在这个维度中的一些经历,不过,看过电影的粉丝都清楚,珍妮所在量子维度的这多年……13连胜,15连败!勇士别大意,湖人别泄气,西部要变天了NBA新赛季已经开打一个月,30支球队轮番登场,几家欢喜几家愁。就拿东部来说,曾经三足鼎立的格局不复存在,篮网、热火、公牛、奇才等球队并驾齐驱,都曾霸占过分区榜首的位置,反倒是……我的桌面1。0计划在减法中前进我一直认为需求的满足是物质多少的标准,只要够用就可以,没有必要花里胡哨。对于目前我的桌面组合,可以用简单来形容,这也是做这套桌面的意义,不想要杂乱的桌面,尽量保持相对的整洁,不……蒋聚荣用相机记录天舟四号货运飞船发射成功作者:蒋聚荣责任编辑:陈勇来源:长征七号遥五运载火箭与天舟四号货运飞船组合体发射成功2022年5月10日1时56分,搭载天舟四号货运飞船的长征七号遥五运载火箭,在文……适合干皮妹子的4款人气面霜,用后肌肤水润不干燥!值得安利适合干皮妹子的4款人气面霜,用后肌肤水润不干燥!值得安利!花钰集玫瑰面霜关键词:提拉紧致、抗初老、美白补水抗氧化使用季节:春夏秋冬四季据说一瓶花钰集玫瑰……大器晚成!22岁参加选秀,第二年场均1942,下一个库里诞生灰熊已经成为杜兰特下家的第二大热门。美媒体报道,为了得到杜兰特,灰熊愿意送出贝恩、狄龙布鲁克斯、亚当斯、丹尼格林、2023年首轮、2024年首轮(来自勇士)、2025年首轮、2……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网