当前位置: 首页 > 后端技术 > Python

Python基础知识_0

时间:2023-03-26 00:04:10 Python

python基础知识说明:当前版本:3.7.0所有例子都写在file.py参考教程:Python教程执行文件pythonindex.py所有代码都在同一个文件index.py中,每个部分引用相同的变量。开始输出一个helloworld;print("helloworld")注意:.py文件中的代码不能随意缩进,否则执行会报用户输入错误;name=input("pleaseinputyourname\n");print("welcome",name)执行文件后,等待用户输入,回车结束输入,打印welcomeXXX。注意:用户输入的值类型为字符串if...else语句#ifblockifname==”admin”:print("欢迎管理员登录!")else:print("登录成功!")解释:if...else语句以:结尾,语句块缩进;#表示注释,描述代码块的功能。数据类型integer,float,string,boolean,null#'\'escapeprint("hello\nworld")#'\t'tab'\n'newline'r'XXX''definition内容不具体print(r"hello\nworld");#''''xxx''''格式化文本换行print('''helloworld''')#布尔运算符andornotprint(8>5and8<10)说明:浮点科学计数法表示:2e10BooleancapitalizedTrue/False;变量命名区分大小写,如:name/Name不同。空值表示为none;变量定义遵循基本规则:英文、数字、下划线,不能以数字开头。常量定义不能更改的变量,并以大写形式书写。String#ord编码单个字符chr解码单个字符Name=ord('country')print(Name)#"country"22269Name_=chr(Name)print(Name_)#b'xx'表示字节码#"China"b'\xe4\xb8\xad\xe5\x9b\xbd'print("China".encode("utf-8"))#len计算字符长度print(len("helloworld"))#文本格式化print("%danniversary"%70)#format()格式化方法print("{0}anniversary".format(70))描述:encode()用于编码;decode()用于解码;指定编码类型,超出编码范围会报错;中文超过ASCII;%s字符串;%d个整数;%f浮点数;%x十六进制数;%%转义输出%format()格式化方法;数据结构list#listnames=["花花","小梁","明先生"]print(names[0])#udpatenames[0]=70;#tuplenames_=(1949,2019,70)print(names_[2])表示append()在后面添加一个元素;insert(index,name)将元素插入到指定位置;pop()删除结束元素;元组是不可变的,即元素一旦被初始化,就不能改变元组中的元素指向一个对象,对象属性的改变是无关紧要的。一个元组定义一个元素是(12),会有算术歧义,为了区分(12,)loop#for...inloopforiteminnames:print(item)#whileloopnum=3whilenum>1:print(num*2)num=num-1解释:range(11)生成一个0-10的整数序列;break跳出循环;continue跳过这个循环;使用dict字典。类似于对象,以键值对的形式存储数据;#dictuser={"元明":23,"鲁花":32,"祖国":70}print(user["祖国"])#keys()/values()/items()forkeyinuser.keys():print(key,user[key])#set只存值,不重复age=set([23,32,70,32])print(age)description:...in...判断是否键值存在于字典中;get()获取值,不存在则返回none,不存在则接受第二个参数作为返回值;pop()删除一个键值对;add()向集合中添加一个值;remove()删除一个值;values()返回字典值的集合;keys()返回键值的集合;items()根据key和value进行迭代处理;function#系统内置函数,如abs()求绝对值abs(-100)#自定义函数defadd(num1,num2):returnnum1+num2print(add(100,1))#返回多个值,类似于解构赋值defadd(num1,num2):returnnum1,num2res1,res2=add(100,1)print(res1,res2)#functionvariableparameterdefadd(*nums):total=0forninnums:total+=nreturntotalprint(add(3,4,5,6))#函数的关键参数,即必须传入的参数和可选参数,defaddUser(name,**other):print({"name":name,"other":other)addUser("祖国",age=70,desc="HappyBirthday!")#传入参数时,可以传入dict,info={"age":70,"desc":"HappyBirthday!"}addUser("Motherland",**info)#命名关键字,即指定可选参数的名字,下面只能传'age'attributedefaddUser(name,*,age):print({"name":name,"other":age})addUser("祖国",age=70)描述:max()最大值;内置函数指定参数类型和参数个数,不符合规则会报错;没有给定返回值的函数默认不返回;当返回多个值时,可以解构复制,赋值给一个变量使用;functionparametersDefine,接受默认的参数定义defadd(num1,num2=70)模拟可变参数:传入一个list对象,模拟传递不确定数量的参数;*定义参数为可变参数;**定义参数是可选参数;传入参数时,**会转换对象,键值对会传递给**other,尾递归优化前js也写到:es6函数扩展代码相对简而言之,粘贴它://尾调用优化函数factorial(n,total){if(n===1)returntotal;返回阶乘(n-1,n*总计);}意思是每次调用都可以得到累计值作为参数传递给下一次调用函数#total作为上次函数调用后计算的值,传入下一次参数deffactorial(n,total):ifn==1:returntotalreturnfactorial(n-1,n*total)print(factorial(10,1))注意:if语句、while语句、函数定义等包含语句块:,语句块需要缩进;附上所有代码执行结果: