Python教程

快速入门(换砖)python——第二天

本文主要是介绍快速入门(换砖)python——第二天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

print()函数

print()函数可以输出单个或者多个变量。使用 print() 函数输出多个变量时,print() 函数默认以空格隔开多个变量,如果读者希望改变默认的分隔符,可通过 sep 参数进行设置。

在默认情况下,print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“\n”,这个“\n”就代表了换行。如果希望 print() 函数输出之后不会换行,则重设 end 参数即可,可重新设置为end = " "就不能换行了。

file 参数指定 print() 函数的输出目标,file 参数的默认值为 sys.stdout,该默认值代表了系统标准输出,也就是屏幕,因此 print() 函数默认输出到屏幕。实际上,完全可以通过改变该参数让 print() 函数输出到特定文件中,例如如下代码:
f = open(“demo.txt”,“w”)#打开文件以便写入
print(‘沧海月明珠有泪’,file=f)
print(‘蓝回日暖玉生烟’,file=f)
f.close()
上面程序中,open() 函数用于打开 demo.txt 文件,接连两个print函数会将这两段字符串依次写入此文件,最后调用 close() 函数关闭文件。

python格式化输出

和其他语言一样,print() 函数使用以%开头的转换说明符对各种类型的数据进行格式化输出,转换说明符(Conversion Specifier)只是一个占位符,它会被后面表达式(变量、常量、数字、字符串、加减乘除等各种形式)的值代替。
age = 8
print(“C语言中文网已经%d岁了!” % age)
运行结果:
C语言中文网已经8岁了!

格式化字符串中也可以包含多个转换说明符,这个时候也得提供多个表达式,用以替换对应的转换说明符;多个表达式必须使用小括号( )包围起来。
name = “C语言中文网”
age = 8
url = “http://c.biancheng.net/”
print("%s已经%d岁了,它的网址是%s。" % (name, age, url))
运行结果:
C语言中文网已经8岁了,它的网址是http://c.biancheng.net/。
总之,有几个占位符,后面就得跟着几个表达式。

python也可以指定精度:
精度值需要放在最小宽度之后,中间用点号.隔开;也可以不写最小宽度,只写精度。具体格式为:%m.nf %.nf m 表示最小宽度,n 表示输出精度,.是必须存在的。
f = 3.141592653
#最小宽度为8,小数点后保留3位
print("%8.3f" % f)
最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
#最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)
运行结果:
3.142
0003.142
+003.142

Python转义字符及用法

转义字符以\0或者\x开头,以\0开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值,Python 中的转义字符只能使用八进制或者十六进制:\0dd 和 \xhh
我们一直在说 ASCII 编码,没有提及 Unicode、GBK、Big5 等其它编码(字符集),是因为 Python 转义字符只对 ASCII 编码(128 个字符)有效,超出范围的行为是不确定的。
ASCII 编码的值我们可以通过查找表来查找,没必要把他全部记下来。还有就是平时转义字符主要用到以下几种:

转义字符说明
\n换行符,将光标位置移到下一行开头。
\r回车符,将光标位置移到本行开头。
\t水平制表符,也即 Tab 键,一般相当于四个空格。
\b退格(Backspace),将光标位置移到前一列。

还有反斜线和单双引号等。

python类型转换

虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。
int(x) 将 x 转换成整数类型
float(x) 将 x 转换成浮点数类型
complex(real,[,imag]) 创建一个复数
str(x) 将 x 转换为字符串
repr(x) 将 x 转换为表达式字符串
eval(str) 计算在字符串中的有效 Python 表达式,并返回一个对象
chr(x) 将整数 x 转换为一个字符
ord(x) 将一个字符 x 转换为它对应的整数值
hex(x) 将一个整数 x 转换为一个十六进制字符串
oct(x) 将一个整数 x 转换为一个八进制的字符串

需要注意的是,在使用类型转换函数时,提供给它的数据必须是有意义的。例如,int() 函数无法将一个非数字字符串转换成整数。

算术运算符

python算术运算符和其他语言大多一样。加减乘除都基本一样。在此只列出一些需要注意的点:
加法运算符也可以用来当字符串的拼接符。str() 函数用来将整数类型转换成字符串。如果是拼接字符串,就需要把整数转换成字符串然后进行拼接。

而减法运算符也可以用来求负计算。python不支持自增自减等操作。

乘法运算符除了数值相乘运算以外如果是字符串的话代表N重复遍输出。

Python 支持/和//两个除法运算符,但它们之间是有区别的:
/表示普通除法,使用它计算出来的结果和数学中的计算结果相同。
//表示整除,只保留结果的整数部分,舍弃小数部分;注意是直接丢掉小数部分,而不是四舍五入。
/的计算结果总是小数,不管是否能除尽,也不管参与运算的是整数还是小数。
当有小数参与运算时,//结果才是小数,否则就是整数。

求余时只有当第二个数字是负数时,求余的结果才是负数。换句话说,求余结果的正负和第一个数字没有关系,只由第二个数字决定。
%两边的数字都是整数时,求余的结果也是整数;但是只要有一个数字是小数,求余的结果就是小数。求余和除法第二个数都不能是0,没有意义,而且会报错。

乘方运算,Python ** 运算符用来求一个 x 的 y 次方,也即次方(乘方)运算符。比如:34 = 81 25 = 32
开方:81**(1/4) = 3.0 32**(1/5) = 2.0

赋值运算符

最简单的就是=赋值,可以连续赋值。跟其他大部分语言一样也可以结合算术运算符进行赋值。
但是请注意,这种赋值运算符只能针对已经存在的变量赋值,因为赋值过程中需要变量本身参与运算,如果变量没有提前定义,它的值就是未知的,无法参与运算。

python比较运算符

一些常规比较运算符用法也基本相同,此外还有需要注意的一些:
is 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。
is not 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。
也就是is和==的区别
== 用来比较两个变量的值是否相等,而 is 则用来比对两个变量引用的是否是同一个对象。
那么,如何判断两个对象是否相同呢?答案是判断两个对象的内存地址。如果内存地址相同,说明两个对象使用的是同一块内存,当然就是同一个对象了;这就像两个名字使用了同一个身体,当然就是同一个人了。

python逻辑运算符

Python 逻辑运算符可以用来操作任何类型的表达式,不管表达式是不是 bool 类型;同时,逻辑运算的结果也不一定是 bool 类型,它也可以是任意类型。
在 Python 中,and 和 or 不一定会计算右边表达式的值,有时候只计算左边表达式的值就能得到最终结果。
另外,and 和 or 运算符会将其中一个表达式的值作为最终结果,而不是将 True 或者 False 作为最终结果。

对于 and 运算符,两边的值都为真时最终结果才为真,但是只要其中有一个值为假,那么最终结果就是假,所以 Python 按照下面的规则执行 and 运算:
如果左边表达式的值为假,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是假,此时 and 会把左边表达式的值作为最终结果。
如果左边表达式的值为真,那么最终值是不能确定的,and 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

对于 or 运算符,情况是类似的,两边的值都为假时最终结果才为假,只要其中有一个值为真,那么最终结果就是真,所以 Python 按照下面的规则执行 or 运算:
如果左边表达式的值为真,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是真,此时 or 会把左边表达式的值作为最终结果。
如果左边表达式的值为假,那么最终值是不能确定的,or 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

python三元运算符

格式:
exp1 if contion else exp2

比如说求最大值:max = a if a>b else b
Python 三目运算符支持嵌套,如此可以构成更加复杂的表达式。在嵌套时需要注意 if 和 else 的配对:
a if a>b else c if c>d else d == a if a>b else ( c if c>d else d )

这篇关于快速入门(换砖)python——第二天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!