其他python学习笔记集合:
Python基础知识详解 从入门到精通 全集索引篇
一定缩进对齐 python以缩进为标志,,而不像c语言的{}
注释
单行注释 #
多行注释 ‘’‘ ’‘’(3单引号)或 “”“ ”“”(3双引号) ’ ”不可混用
字符串1+字符串2 为拼接过程
input([输入的提示]) 只返回字符串,其他需要类型转化
[输入的提示]是提示用户的输入提示,可选
输出 print()内加 ‘ ’ 或“ ” 为直接打印 不加相当于理解后打印
如a = 1
print(‘a’) 输出a
print(a) 输出1
语法
print(value,…,sep=‘ ‘,end=’\n’)
value 用户要输出的信息,省略号说明可以有多个
sep 信息之间的间隔符,默认空格
end 输出结束后加的符号,默认换行
如 print(‘dk’,‘shsi’,sep=‘,‘,end=’;‘)
结果为 dk,shsi;
也可以用格式字符输出
如 print(‘我的名字是%s,今年已经%d岁了’ %(‘西门吹雪’,33))
格式字符与对应变量必须对应
Print (“jjjj“+”sklsdj“)将两个字符串连接输出
Print (“jjjjj”*4) 将字符串输出4次 *为重复操作符
必须缩进对齐
最好不混用tap 与空格
If 条件 : # :不可少
缩进 #可以有多行 ,缩进要对齐,下同
else :
缩进
If 条件:
缩进
elif 条件 : # 可以有任意个elif 根据需求而定
缩进
……
else :
缩进
while 条件 :
缩进(循环体)
for 目标 in 表达式:
循环体
如 aaa=‘abc‘
for i in aaa:
print(i)
结果为 a
b
c
while 条件 :
缩进
else :
语句 #Else中的语句只有在正常退出时才执行,break等 退出不执行
for 目标 in 表达式:
循环体
else :
语句 #Else中的语句只有在正常退出时才执行,break等 退出不执行
创建函数
def 函数名(参数1,参数2,……): #参数不用声明类型
缩进(函数内容)
’ 这是函数文档 下列有解释 ‘
'''
有无返回无需说明,返回用return (返回值),也可以使用return 无返回值来结束函数
(若无返回值函数返回None )
‘’‘
匿名函数
lambda 参数1,…… :返回值 如 lambda x :2*x-1
使用时 g= lambda x,y :2*x-1 再g(x,y)即可,使用后函数就不存在了,不占资源
好处:对于只使用一两次的,精简,不要另外定义,读时候不用去找定义
函数名() 即可有参数带上参数
函数文档
使用: 在函数定义内 ‘ 内容 ’即可 上图有示例
不会参与函数的运行,但是和注释也有区别
但是可以被调出来 如 函数名.doc 可以查看函数文档
或 help(函数名)也可以调用函数文档
#如定义函数
def han(name,woid):
Print( name + woid )
#使用时可以
han(woid=‘hhh’,name=‘急急急’) #可以忽略参数顺序
#如定义函数
def han(name=‘ddd’,woid=‘ddddddd’):
Print( name + woid )
#使用时可以不输入参数而不报错,没有参数时使用默认参数,
#有输入参数则优先输入的,也可个别参数没有输入而使用默认参数
如定义函数 def han(*name): (加个 * )
Print( ‘参数的长度是:‘,len(name))
Print(‘第二个参数是:’,name [1])
使用: han(1,‘hhhh’,3.14,3,4,6,8)
结果 参数的长度是 7
第二个参数是 hhhh
实际上1,‘hhhh’,3.14,3,4,6,8 是打包为元组传入函数
如果后面还需要参数,应该用关键字参数,否则被认为是收集参数的一部分
返回值
可以通过返回列表或元组,返回多个值
全局变量在自己定义的函数中可以调用,但是修改的话会自动在函数内定义一个同名局部变量,两个互不影响,若确实需要在函数内修改全局变量则需要使用global在函数内定义
如
P=1
定义函数 def han(name,woid):
global p 之后就可以修改全局变量
Print( name + woid )
局部变量只能局部使用
iter() 得到迭代器
next() 返回下一个值, 如果没有值返回就会异常
示例:
str2 = ‘asddfkj’
it = iter(str2) #这时it就是一个迭代器
next(it)
结果为 ‘a’
next(it) 第二次调用
结果为 ‘s’
………………
iter() 用法二
iter(可调用类型 ,标记 ) 当可调用类型(如函数)的返回值等于标记时候停止遍历
使用groupby()
import itertools
itertools.groupby(需要遍历的对象,key = 函数)
key函数作用于遍历对象的每一个元素,将具有相同结果的元素分配到新循环器
例如
import itertools
i = [1,2,3,4,5,6]
def aa(t):
if t >4 :
Return hhhh
else :
Return jjjjj
for i,j in itertools.groupby(i,key = aa):
print(i)
print(list(j))
结果为
hhhh
[5,6]
jjjjj
[1,2,3,4]
函数中有yield就是生成器,,,,yield可以用于中断
当生成器my被调用时候到第一个yield就停下并返回所带的值
下一次调用时候从第二个yield开始然后停下并返回所带的值
以此类推
如
def my():
print(‘生成器执行’)
yield 1
yield 2
结果
m= my()
next(m)
输出1
next(m)
输出2
或
for I in my():
print(m)
结果为1
2
允许内嵌定义函数
如 def han1():
Print(‘han1调用’)
def han2() #内嵌定义, 注意 han2只在han1内有效
print(“han2调用“)
han2() #使用han2
例1 阶乘
def jiecheng(n)
if n= 1:
return 1
else:
return jiecheng(n-1)
number = int(input (‘亲输入一个整数:’))
jieguo = jiecheng (number)
print (jieguo)
2.汉诺塔
Def hannuota(n,x,y,z)
If n ==1:
Print (x,’’,z)
Else :
Hannuota(n-1,x,z,y) #将前n- 1个盘子从x移动到y
Print(x,’’z) #将底下的最后一个盘子移动到z上
Hannuota(n-1,y,x,z) #将y上的n-1个盘子移动到z上
n = int (input(‘亲输入汉诺塔的层数’))
hannuota(n,’x’,’y’,’z’)
持续更新arduino 树莓派 python linux c语言等等
接到有帮助的话 求点赞 求关注❤️ 求分享
有问题可以评论
点关注,不迷路
如果有任何错误,如何建议,请批评指教,不胜感激 !