十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近刚开始学python,在学习过程中遇到了一个报错 can only concatenate str (not "int") to str
目前创新互联公司已为1000多家的企业提供了网站建设、域名、虚拟空间、绵阳服务器托管、企业网站设计、鹰潭网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
后来了解到是没有做数据类型的转换,记录在此:
我在输出字典键值的时候,将数字和字符串混在了一起,
此处,a['age']的值为23,是数字类型,而其他均为字符串,因此需要将这个数值转换为字符串类型
数字类型转换为字符串类型
str()函数:返回一个对象的string格式。
顺便附上字符串转换为数字所用函数
字符串类型转换为数字类型
int() 函数:用于将一个字符串或数字转换为整型。
global
python 函数嵌套和nonlocal关键字
只待风起
原创
关注
3点赞·7531人阅读
python函数可以嵌套使用,使用也比较简单,举个栗子:
def outer():
print("outer")
def inner():
print("inner")
inner()
outer()
## 运行结果:
outer
inner
复制
nonlocal关键字:
与global关键字有点相似,可以对比着理解。nonlocal关键字只能作用域局部变量,且始终找离当前最近的上层局部作用域中的变量。看栗子:
a = 1
def outer():
nonlocal a
a = 2
outer()
print(a)
复制
结果:报错 SyntaxError: no binding for nonlocal 'a' found,
原因分析:nonlocal关键字是能作用域局部变量,当使用nonlocal声明变量 a 时,就会往上最近一层局部作用域寻找局部变量 a ,结果没找着,报错。
a = 1
def outer():
global a
a = 2
def inner():
nonlocal a
a = 3
inner()
print(a)
outer()
print(a)
复制
结果:报错 SyntaxError: no binding for nonlocal 'a' found,
原因分析:当使用nonlocal声明变量 a 时,就会往上最近一层局部作用域寻找局部变量 a ,此时外层局部作用域虽然能找到变量a,但是这找到的 这个a 已经被global声明为全局变量了,所以报错。
a = 1
def outer():
a = 2
def inner():
nonlocal a
a = 3
def inner2():
print(a)
inner2()
print(a)
inner()
print(a)
outer()
print(a)
## 运行结果:
3
3
3
1
python小白常见错误 关于函数的错误 NameError: name ‘lower’ is not defined。lower为字符串内建函数,使用方法为str.lower(),内建函数为系统已经定义好的
python函数内b=b+1报错是因写错代码。在Python中,所有代码都是通过正确的空格排列的。无多出来空格或缺少空格,整个代码都不会运行,仅返回一个错误函数。Python代码遵循PEP8空白规范,每一级缩进使用4个空格,便不会报错。
不要用replace函数,直接赋值就好
test['d'][0:5] = 'yes'
test['d'][5:] = 'no'
解决python报错找不到主函数错误的方法:
在代码的最下方加上“if __name__ == '__main__':”主函数语句,将需要使用的代码语句放到该语句下面就可以了
示例如下:
更多Python知识,请关注:Python自学网!!