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

Python学习笔记Day2——Python变量

时间:2023-03-25 22:34:23 Python

1.Python变量的定义和变量的赋值Python使用等号=作为赋值运算符,具体格式为:name=value变量的值不是静态的,可以随时修改,只要值为重新分配;另外,你不需要关心数据的类型,你可以将不同类型的数据赋值给同一个变量。请看下面的演示:n=10#将10赋给变量nn=95#将95赋给变量nn=200#将200赋给变量nabc=12.5#将十进制赋值给变量abcabc=85#将整数赋值给变量abcabc="http://c.biancheng.net/"#将字符串赋值给变量abc除了赋值单个数据外,还可以将表达式的运行结果赋值给变量,例如:sum=100+20#将相加的结果赋给变量rem=25*30%7#将余数赋给变量str="Hello+"Python"#将字符串拼接的结果赋给变量注意一旦取值变量被修改,之前的值被覆盖,不再存在,永远也找不回。2.标准数据类型内存中存储的数据可以有多种类型。Python有五种标准数据类型:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)Bool(布尔值)3.Python整数类型(int)Python整数不分类型,当取值使用超过计算机本身的计算能力,Python会自动切换到高精度计算(大数计算)#将78赋值给变量nn=78print(n)print(type(n))#赋一个非常大的值给xLargeintegerx=8888888888888888888888print(x)print(type(x))#给y赋一个小整数y=-77777777777777777777print(y)print(type(y))运行结果:7888888888888888888888-7777777777777777777777在Python中可以使用整数的不同进步。多重证明可以用来表示一个整数。我们的整数。9是十个数字的组合。二进制形式由0和1两个数字组成,写入时以0b或0B开头。例如,101对应十进制的5。八进制形式八进制整数由从0到7的八个数字组成,以0o或0O开头。请注意,第一个符号是数字0,第二个符号是大写或小写字母O。十六进制形式由0到9的十个数字和A到F(或a到f)的六个字母组成,书写时以0x或0X开头【例】Python中不同基整数的使用:#SixteenHex1=0x45hex2=0x4Afprint("hex1Value:",hex1)print("hex2Value:",hex2)#binarybin1=0b101print('bin1Value:',bin1)bin2=0B110print('bin2Value:',bin2)#Octaloct1=0o26print('oct1Value:',oct1)oct2=0O41print('oct2Value:',oct2)运算结果:hex1Value:69hex2Value:1199bin1Value:5bin2Value:6oct1Value:22oct2Value:33numbersSeparators提高可读性对于数字,Python3.x允许使用下划线_作为数字(包括整数和小数)的分隔符。【例子】用下划线写数字:click=1_301_547distance=384_000_000print("Python教程阅读量:",click)print("地月距离:",distance)运行结果:Python教程阅读量:1301547地球与月球的距离:3840000004.Pythondecimal/float类型Python中小数的写法有两种:decimalform,也就是我们平时看到的小数形式,比如34.6、346.0、0.346。指数形式Python十进制指数形式写法如下:aEn或aena为尾数部分,为十进制数;n为指数部分,为十进制整数;E或e是一个固定字符,用于分隔尾数部分和指数部分。整个表达式相当于a×10n。指数形式的小数示例:2.1E5=2.1×105,其中2.1是尾数,5是指数。3.7E-2=3.7×10-2,其中3.7是尾数,-2是指数。0.5E7=0.5×107,其中0.5是尾数,7是指数。Python只有一种小数类型,就是float[例子]Python中小数的使用:f1=12.5print("f1Value:",f1)print("f1Type:",type(f1))f2=0.34557808421257003print("f2Value:",f2)print("f2Type:",type(f2))f3=0.00000000000000000000000000847print("f3Value:",f3)print("f3Type:",type(f3))f4=345679745132456787324523453.45f006print,f006("f4Type:",type(f4))f5=12e4print("f5Value:",f5)print("f5Type:",type(f5))f6=12.3*0.1print("f6Value:",f6)打印("f6Type:",type(f6))运算结果:f1Value:12.5f1Type:f2Value:0.34557808421257f2Type:f3Value:8.47e-26f3Type:f4Value:3.456797451324568e+26f4Type:f5Value:120000.0f5Type:f6Value:1.2300000000000002f6Type:5。实部(real)和虚部(imag)组成,在Pyt中在hon中,复数的虚部后缀为j或J,具体格式为:a+bj:a表示实部,b表示虚部【例】Python复数用法:c1=12+0.2jprint("c1Value:",c1)print("c1Type",type(c1))c2=6-1.2jprint("c2Value:",c2)#复数的简单计算print("c1+c2:",c1+c2)print("c1*c2:",c1*c2)运算结果:c1Value:(12+0.2j)c1Typec2Value:(6-1.2j)c1+c2:(18-1j)c1*c2:(72.24-13.2j)6.Python字符串(string)Python中的字符串必须用双引号""或者单引号''括起来,具体格式为:"stringcontent"'stringcontent'处理字符串包含引号,我们有两种解决方法:转义引号,在引号前加一个反斜杠,对引号进行转义,让Python把它当作普通文本,例如:str1='I\'magreatcoder!'str2="引号双引号是\",中文双引号是""print(str1)print(str2)用不同的引号把字符串括起来str1="I'magreatcoder!"#用双引号把包含单引号的字符串括起来str2='引号双引号是",中文双引号是"'#用单引号把包含双引号的字符串括起来print(str1)print(str2)运行结果:I'm一个伟大的编码器!引文双引号为",中文双引号为"原字符串:在普通字符串或长字符串开头加r前缀,即成为原字符串str1=r'I\'magreatcoder!'print(str1)输出:我是一个很棒的程序员!使用字符串:#!/usr/bin/python3var1='你好世界!var2="Runoob"print("var1[0]:",var1[0])print("var2[1:5]:",var2[1:5])运行结果:var1[0]:Hvar2[1:5]:unooPython字符串运算符运算符描述实例+字符串拼接a+b输出结果:HelloPython*重复输出字符串a*2输出结果:HelloHello[]通过index获取字符串中字符a[1]的输出结果e[:]截取一部分字符串,遵循左闭右开的原则,str[0:2]是a[1:4]不包含第三个字符ellin成员运算符的输出结果-如果字符串包含给定字符True不在成员运算符中,则返回True'H'-如果字符串不包含给定字符/R,则返回True'M'原始字符串-原始字符串:使用所有字符串从字面上看,没有转义特殊或不可打印的字符。原始字符串的语法几乎与普通字符串相同,只是在字符串的第一个引号之前添加了字母r(大写和小写)。print(r'n')或print(R'n')%格式字符串,详见下文[示例]字符串运算符操作:#!/usr/bin/python3a="Hello"b="Python"print("a+b输出:",a+b)print("a*2输出:",a*2)print("a[1]输出:",a[1])print("a[1:4]输出结果:",a[1:4])if("H"ina):print("H在变量a中")else:print("H不在变量a中")if("M"notina):print("M不在变量a中")else:print("M在变量a中")print(r'\n')print(R'\n')输出结果:a+b输出结果:HelloPythona*2输出结果:HelloHelloa[1]输出结果:ea[1:4]输出结果:ellH在变量a中M不在变量a中\n\nPython字符串格式#!/usr/bin/python3print("我叫%s,今年%d岁!"%('小明',10))Python字符串格式化符号:符号描述%c格式化字符及其ASCII码%s格式%d格式整数%u格式无符号整数%o格式无符号八进制数%x格式无符号十六进制lnumber%X格式化无符号十六进制数(大写)%f格式化浮点数,可以指定小数点后的精度%e格式化带科学计数法的浮点数%E与%e效果相同,format科学记数法的浮点数%g%f和%e缩写%G%f和%E的缩写%p用十六进制数格式化变量的地址。Python格式格式化函数Python2.6新增了一个格式化字符串的函数str.format(),增强了字符String格式化函数。基本语法是用{}和:替换前面的%。format函数可以接受无限参数,位置可以乱序。占位符格式:>>>"{}{}".format("hello","world")#不设置指定位置,按照默认顺序'helloworld'>>>"{0}{1}".format("hello","world")#设置指定位置'helloworld'>>>"{1}{0}{1}".format("hello","world")#设置指定位置'world'helloworld'指定参数格式:#!/usr/bin/python#-*-编码:UTF-8-*-print("站点名称:{name},地址{url}".format(name="菜鸟教程",url="www.runoob.com"))#通过字典设置参数site={"name":"菜鸟教程","url":"www.runoob.com"}print("Sitename:{name},address{url}".format(**site))#通过列表索引设置参数my_list=['菜鸟教程','www.runoob.com']print("站点名称:{0[0]},地址{0[1]}".format(my_list))#"0"是必需的,也可以传递给str.format():#!/usr/bin/python#-*-编码:UTF-8-*-类AssignValue(object):def__init__(self,value):self.value=valuemy_value=AssignValue(6)print('valueis:{0.value}'.format(my_value))#“0”可选7.Pythonbool类型在编程界被称为true(对),Python用True来表示;在编程世界里叫做false(错误),Python用的是False来代表5>3True4>20False8。Pythoninput()函数:获取用户输入的字符串input()是Python的一个内置函数,用于从控制台读取用户输入的内容。input()函数始终将用户输入作为字符串处理,因此用户输入可以包含任何字符。input()函数的用法为:str=input(tipmsg)说明:str表示一个字符串类型的变量,input会将读取到的字符串放入str中。tipmsg表示提示信息,会显示在控制台上,告诉用户要输入什么;如果不写tipmsg,则没有提示信息。【例子】input()函数的简单使用:a=input("请输入一个数字:")b=input("请输入另一个数字:")print("aType:",type(a))print("bType:",type(b))result=a+bprint("resultValue:",result)print("resultType:",type(result))如果通过输入值实现科学计算,我们可以使用Python内置将字符串转换为所需类型的函数,例如:int(string)将字符串转换为int类型;float(string)将string转换为float类型;bool(string)将字符串转换为bool类型。附:Python是强类型还是弱类型?静态类型vs动态编程语言强类型vs弱类型编程语言类型检查类型检查是一个验证和施加类型约束的过程,编译器或解释器通常在编译或运行时阶段检查类型。例如,您不能将字符串值除以浮点数。简单来说,类型检查只是查看变量及其类型,然后判断表达式是否有效。所以,既然我们知道什么是类型检查,那么理解这些术语就真的很容易了。在静态类型语言中,类型检查发生在编译时,而在动态类型语言中,类型检查发生在运行时。这是什么意思?类型声明静态类型(static):所有变量类型都必须显式声明,因为在编译时需要这些信息。例如,在Java中floatf=0.5动态(Dynamic):不需要显式声明,因为类型赋值发生在运行时。例如,在Python中,f=0.5performance静态类型(static):更多的处理在编译阶段完成,但运行时(run-time)性能更好动态(Dynamic):编译阶段效率更高,但运行时类型检查会影响性能灵活性和错误静态类型:运行时出错的几率较小,但对程序员的灵活性较低动态类型:灵活性较高但运行时出错的几率相对较大什么是强类型/弱类型类型?先看看什么是强类型。在强类型中,无论是在编译时还是运行时,一旦某个类型被赋值给一个变量,它就会持有这个类型,在计算表达式时不能与其他类型混合。比如在Python中:data=5,在运行时,赋给一个整数data=data+"xiaoming",就会报错。但是在弱类型中,很容易和其他类型混合计算,比如同样伟大的语言Javascript,使用它:vardata=5data=data+'xiaoming',string和int可以结合结论类型检查以确保表达式中的变量类型是合法的。在静态类型语言中,类型检查发生在编译时;在动态类型语言中,类型检查发生在运行时。强类型语言有更强的类型检查机制,在表达式计算中会进行严格的类型检查;而弱类型语言允许各种变量类型之间进行一些操作。Python是一种动态的强类型语言