网站跟信息推广有哪些信息化建设,网页制作自学,天津做网站的公,python编程课哪个机构最好文章目录 一、操作符1.1 比较操作符1.2 逻辑操作符1.3 成员操作符1.4 身份操作符 二、流程控制2.1 条件判断2.2 循环语句2.2.1 for循环2.2.2 while循环 2.3 continue与break语句2.4 文件操作函数 三、函数3.1 定义函数3.2 作用域3.3 闭包3.4 函数装饰器3.5 内建函数 一、操作符… 文章目录 一、操作符1.1 比较操作符1.2 逻辑操作符1.3 成员操作符1.4 身份操作符 二、流程控制2.1 条件判断2.2 循环语句2.2.1 for循环2.2.2 while循环 2.3 continue与break语句2.4 文件操作函数 三、函数3.1 定义函数3.2 作用域3.3 闭包3.4 函数装饰器3.5 内建函数 一、操作符 操作符一个特定的符号用它与其他数据类型连接起来组成一个表达式。常用于条件判断根据表达式返回True/False采取动作。 1.1 比较操作符 比较操作符比较两边值。 操作符描述示例相等两边值是否相等(6 6) 结果 True!不相等两边值是否不相等(6 ! 6) 结果False大于左边值是否大于右边值(8 6) 结果True小于左边值是否小于右边值(8 6) 结果False大于等于左边值是否大于等于右边值(6 6) 结果True小于等于左边值是否小于等于右边值(6 6) 结果True
1.测试“”。 2.测试“”。 3.测试“、”。 4.测试“ 、”。
1.2 逻辑操作符 判断条件逻辑。 操作符逻辑表达式描述andx and y与所有的条件都 True结果才为True只要有一个为False结果就为Falseorx or y或所有的条件只要有一个是True结果就为Truenotnot x非结果取反
1.测试“and、or”。 2.测试“not”。
1.3 成员操作符 判断某个元素是否在数据类型里。 操作符描述示例in如果在指定的序列中找到值返回True否则返回Falsecomputer [“主机”,“显示器”,“鼠标”,“键盘”]print(“主机” in computer) 结果Trueprint(“音响” in computer) 结果Falsenot in如果在指定的序列中没有找到值返回True否则返回Falseprint(“主机” not in computer) 结果Falseprint(“音响” not in computer) 结果True
1.测试“in”。
2.测试“not in”。
1.4 身份操作符 判断两个对象的内存地址标识符id是否相等。 操作符描述is判断两个标识符是否引用一个对象is not判断两个标识符是否引用不同对象
1.测试“is”。
2.测试“not is”。
二、流程控制
2.1 条件判断
//语法。if 表达式:代码块
elif 表达式:代码块
else:代码块1.单分支判断是否成年。
age int(input(请输入你的年龄: ))if age 18:print(恭喜你已经成年)
else:print(抱歉你还未成年)2.三目表达式写法。
age int(input(请输入你的年龄: ))print(恭喜你已经成年 if age 18 else 抱歉你还未成年)3.多分支根据人的年龄段划分。
age int(input(请输入你的年龄: ))if age 7 :print(儿童)
elif age 7 and age 17:print(少年)
elif age 18 and age 40:print(青年)
elif age 41 and age 48:print(壮年)
else:print(老年)2.2 循环语句 循环的作用在于将一段代码重复执行多次。Python中实现循环常用有两个语句for、while 2.2.1 for循环 一般用于遍历数据类型的元素进行处理例如字符串、列表。 //语法.for 变量 in 序列:代码块1.例一遍历字符串。
s 123456
for i in s:print(i)2.例二遍历列表。
computer [主机,显示器,鼠标,键盘]
for i in computer:print(i,len(i))3.例三遍历字典。
computer {主机:5000,显示器:1000,鼠标:60,键盘:150}
for i in computer.items():print(i) print(名称: %s\t价格: %s % (i[0],i[1]))4.例四嵌套循环。
s1 123456
s2 456789
for i in s1:for x in s2:if i x:print(i)2.2.2 while循环 在某条件下循环执行一段代码即重复相同的任务。 //语法。
while 表达式:代码块1.示例1当条件满足时停止循环。
count 0
while count 5:print(count)count 12.例二死循环。
count 0
while True:print(count)count 12.3 continue与break语句 continue 当满足条件时跳出本次循环。break 当满足条件时跳出所有循环。注意事项只有在for、while循环语句中才有效。 1.例一continue语句。
for n in range(8):if n 3:continueelse:print(n)2.例二break。
for n in range(8):if n 3:breakelse:print(n)3.案例用户登录三次错误机会
count 0
while True:if count 3:name input(请输入你的用户名: ).strip() # .strip()去除首尾空格if len(name) 0:print(输入不能为空!)continueelif name qingjun:print(登录成功.)breakelse:print(用户名错误请重新输入!)count 1else:print(超出错误次数, 退出!)break2.4 文件操作函数 要想读取文件如txt、csv等第一步要用open()内建函数打开文件它会返回一个文件对象这个对象拥有read()、write()、close()等方法。 语法open(file,mode‘r’,encodingNone) file打开的文件路径可以是绝对路径也可以是相对路径。mode可选打开文件的模式如只读、追加、写入等。 r只读。w只写。a在原有内容的基础上追加内容末尾。w读写。 如果需要以字节二进制形式读取文件只需要在mode值追加‘b’即可例如wb 文件对象操作f open(‘test.txt’) 方法描述f.read([size])读取size字节当未指定或给负值时读取剩余所有的字节作为字符串返回f.readline([size])从文件中读取下一行作为字符串返回如果指定size则返回size字节。f.readlines([size])读取size字节当未指定或给负值时读取剩余所有的字节作为列表返回。f.write(str)f.flush写字符串到文件。刷新缓冲区到磁盘。f.seek(offset[,whence0])在文件中移动指针从whence 偏移offset个字节。(0代表文件起始位置默认。1代表当前位置2代表文件末尾)f.tel()当前文件中的位置 (指针)f.close()关闭文件
1.例一读取文件内容。
qingjun open(qingjun.txt,moder,encodingNone)
print(qingjun.read())
qingjun.flush()
qingjun.close()2.例二遍历打印每一行。
qingjun open(qingjun.txt,moder,encodingNone)
for line in qingjun:print(line.strip(\n)) # 去掉换行符qingjun.flush()
qingjun.close()3.with语句不管在处理文件过程中是否发生异常都能保证with 语句执行完毕后已经关闭了打开的文件句柄。
with open(qingjun.txt,encodingutf8) as f:data f.read()print(data)三、函数 函数概念 指一段可以直接被另一段程序或代码引用的程序或代码。在编写代码时常将一些常用的功能模块编写成函数放在函数库中供公共使用可减少重复编写程序段和简化代码结构。 3.1 定义函数 语法 def 函数名称(参数1,参数2,...):代码块return 表达式 //reurn是返回的状态值表示代码执行结果。1.定义普通函数。
def hello():print(Hello World!)
hello() # 调用函数2.定义传参函数传入固定参数。
##定义求和函数。
def f(a, b):return a b
print(f(1,2))# 按参数位置赋值
print(f(b 2,a1)) # 按对应关系赋值##生成序列列表。
def qingjun(n):result []x0while x n:result.append(x)x 1return result
print(qingjun(9))##参数默认值预先给参数定义默认值如果调用函数时没指定该值则用默认值。
def f(a, b2):return a b
print(f(1))
print(f(1,3))3.定义传参函数传入多个未知参数。 当不知道有多少个参数时可以在参数前面加*与**表示可接收任意多个参数。*name 接收任意多个参数并放到一个元组中。**name 接收一个键值并存储为字典。 //传入多个参数计算总和。
def func(*seq):x0for n in seq:x nreturn xprint(func(1,2,3))//传入多个键值进行处理。
def func(**computer):for k,v in computer.items():print(名称:%s\t价格:%s %(k,v))func(主机5000,显示器1000,鼠标60,键盘150)4.定义匿名函数。 匿名函数没有名字的函数使用lambda关键字定义一般仅用于单个表达式。 //定义求和函数。
s lambda a, b: ab
print(s(1,2))//等价于
def func(a,b):return ab
print(func(1,2))3.2 作用域 含义 限制一个变量或一段代码可用范围。好处是提高程序逻辑的局部性减少名字冲突。 作用域范围 Local (局部作用域)在函数中定义的变量。de关键字定义的语句块中即函数中定义的变量。Enclosed (嵌套作用域)一般出现在函数中嵌套一个函数时在外部函数中的作用域称为嵌套作用域 (闭包常见)。Global (全局作用域)文件顶层定义的变量。Built-in (内置作用域)系统内解释器定义的变量例如关键字。 1.示例。
qingjun1 2 ##全局变量。
def baimu(): ##定义函数global qingjun2 ##将局部变量变成全局变量。qingjun2 3 #局部变量。baimu() ##引用函数。
print(qingjun1) ##打印全局变量。
print(qingjun2) ##打印局部变量。3.3 闭包 含义 闭包是一个定义在函数内部的函数闭包使得变量即使脱离了该函数的作用域范围也依然能被访问到。嵌套函数也是闭包的一种形式将内部嵌套定义的函数作为返回值。 构成闭包的三个条件 两层以上嵌套关系内部函数调用外部函数定义的变量外部函数返回内部函数体对象,而不是函数体结果加括号 1.示例。
def qingjun():x 1def baimu():print(x)return baimu #不加括号表示返回函数体不执行函数外部调用时才会执行加括号代表直接调用执行函数。qingjun() #调用外部函数。
qingjun()() #调用内部函数。3.4 函数装饰器 含义 装饰器本质上是一个函数它可以让其他函数在不需要做任何代码变动的前提下增加额外功能装饰器的返回值也是一个函数对象。 应用场景 记录日志、性能测试、权限效验等。 1.例一原函数无传入参数。
######################################
#定义原函数。
def hello():print(原函数功能)
hello() #调用原函数。
######################################
#定义装饰器。
def qingjun(mq): #新增函数调用器传入参数mqmq也可以是函数。def baimu():print(原函数准备执行了) ##新增功能。mq() #原函数放在内部函数的执行逻辑里。print(原函数执行完毕) ##新增功能。return baimu #打印内部函数体外部调用时才执行该函数。
qingjun(hello)() #调用内部函数同时给外部函数传入函数hellohello为原函数。2.例二语法糖用法。
######################################
#定义装饰器。
def qingjun(mq):def baimu():print(原函数准备执行了)mq()print(原函数执行完毕)return baimu
######################################
#定义原函数时直接装饰器调用。
qingjun
def hello():print(原函数功能)
hello()3.例三原函数传入参数。
######################################
#定义装饰器。
def qingjun(mq):def baimu(u):print(原函数准备执行了)mq(u)print(原函数执行完毕)return baimu
######################################
#定义原函数时直接装饰器调用并传入参数u。
qingjun
def hello(u):print(u)
hello(已传入参数)3.5 内建函数
函数作用语法range()动态生成数字序列。range(1,6)、range(10)open()打开、并操作文件。open(file,mode‘r’,encodingNone)map()根据提供的函数处理序列中的元素处理完后返回一个迭代器对象。map(function, iterable, …)filter()用于过滤序列过滤掉不符合条件的元素处理完后返回一个迭代器对象。filter(function, iterable)sorted()对所有可迭代的对象进行排序操作。sorted(iterable, *, keyNone, reverseFalse) key指定带有单个参数的函数用于从interable的每个元素取出比较的键默认为None直接比较元素。reverse 排序规则True降序 False升序默认reversed()返回一个反转的迭代器。reversed(seq)join()将序列中的元素以指定的字符连接生成一个新的字符串。‘拼接符’.join(凭借对象)min()返回可迭代对象中最小的元素qingjun [1,2,3,4,5,6,7]print(min(qingjun))max()返回可迭代对象中最大的元素qingjun [1,2,3,4,5,6,7]print(max(qingjun))sum()对可迭代对象求和qingjun [1,2,3,4,5,6,7]print(sum(qingjun))zip()对多个可迭代对象创建一个聚合返回一个元组的迭代器。x [1, 2, 3]y [4, 5, 6]qingjun zip(x, y)print(list(qingjun))globals()字典格式返回当前范围的全局变量\locals()字典格式返回当前范围的局部变量\