python基础知识

print,中文意思是打印,在python里它不是往纸上打印,而是打印在命令行,或者叫终端、控制台里面。print是python里很基本很常见的一个操作,它的操作对象是一个字符串(什么是字符串,此处按住不表,且待日后慢慢道来)。基本格式是:

   print 你要打印的东西

或者

   print(你要打印的东西)

这里一定要英文字符的括号,所有程序中出现的符号都必须是英文字符,注意别被你的输入法坑了。


注意:如果你是python3及以后的版本,一定得用print(),不然会出错。


各位同学可以在自己的python环境中试着输出以下内容:


>>> print "hello"

hello

>>> print('world')

world

>>> print 1

1

>>> print(3.14)

3.14

>>> print 3e30

3e+30

>>> print 1 + 2 * 3

7

>>> print(2 > 5)

False


python3记得在后面必须加上()


直接在print后面加一段文字来输出的话,需要给文字加上双引号或者单引号。大家发现,print除了打印文字之外,还能输出各种数字、运算结果、比较结果等。你们试着自己print一些别的东西,看看哪些能成功,哪些会失败,有兴趣的话再猜一猜失败的原因。


其实在python命令行下,print是可以省略的,默认就会输出每一次命令的结果。就像这样:


>>> 'Your YiDa!'

'Your YiDa!'

>>> 2+13+250

265

>>> 5<50

True



python有一个接收命令行下输入的方法:

   input()

注意,和print不同的是,这次我们必须得加上()了,而且得是英文字符的括号


好了,终于可以搬出那个弱智小游戏了,耶!游戏里我们需要跟程序一问一答,所以我们先把话给说上。


打开我们的python编辑器,不管是IDLE,在线编辑器,还是其他的IDE。在代码编辑器中输入下面几句代码:


   print "Who do you think I am?"

   input()

   print "Oh, yes!"


然后,Run!(Forrest Run!)你会在命令行中看到,程序输出了第一句之后就停住了,这是input在等待你的输入。


输入你的回答,回车。你会看到程序的回答。注意!引号!!又是引号!!!和print一样,如果你输的是一串文字,要用引号''或者""引起来,如果是数字则不用。


(插一句,python还有一个输入的方法:raw_input(),它把所有的输入都直接当作一串字符,于是就可以不用加引号,)



先从简单的开始,如果你想把两段字符连起来输出

str1 = 'good'

str2 = 'bye'


你可以

print str1 + str2


或者还可以把字符变量一个字符串相加

print 'very' + str1

print str1 + ' and ' + str2


但如果你想要把一个数字加到文字后面输出,比如这样

num = 18

print 'My age is' + num

程序就会报错。因为字符和数字不能直接用+相加


一种解决方法是,用str()把数字转换成字符串

print 'My age is' + str(18)

num = 18

print 'My age is' + str(num)


还有一种方法,就是%对字符串进行格式化

num = 18

print 'My age is %d' % num

输出的时候,%d会被%后面的值替换。输出

My age is 18


这里,%d只能用来替换整数。如果你想格式化的数值是小数,要%f

print ‘Price is %f’ % 4.99

输出

Price is 4.990000


如果你想保留两位小数,需要在f前面加上条件:%.2f

print ‘Price is %.2f’ % 4.99

输出

Price is 4.99


另外,可以用%s来替换一段字符串

name = 'Crossin'

print '%s is a good teacher.' % name 变量

输出

Crossin is a good teacher.


或者

print 'Today is %s.' % 'Friday' 一段字符

输出

Today is Friday.


注意区分:有引号的表示一段字符,没有引号的就是一个变量,这个变量可能是字符,也可能是数字,但一定要和%所表示的格式相一致。



之前我们说到,可以用%来构造一个字符串,比如

print '%s is easy to learn' % 'Python'


有时候,仅仅代入一个值不能满足我们构造字符串的需要。假设你现在有一组学生成绩的数据,你要输出这些数据。在一行中,既要输出学生的姓名,又要输出他的成绩。例如

Mike‘s score is 87.

Lily‘s score is 95.


在python中,你可以这样实现:

print "%s's score is %d" % ('Mike', 87)

或者

name = ‘Lily’

score = 95

print "%s's score is %d" % (name, score)


无论你有多少个值需要代入字符串中进行格式化,只需要在字符串中的合适位置用对应格式的%表示,然后在后面的括号中按顺序提供代入的值就可以了。占位的%和括号中的值在数量上必须相等,类型也要匹配


('Mike', 87)这种用()表示的一组数据在python中被称为元组(tuple)




print ‘Hello’+1

print ‘hello%d’ % '123'


程序运行时会报错。因为第一句里,字符串和整数不能相加;第二句里,%d需要的是一个整数,而'123'是字符串。


这种情况下,python提供了一些方法对数值进行类型转换:


int(x) #把x转换成整数

float(x) #把x转换成浮点数

str(x) #把x转换成字符串

bool(x) #把x转换成bool值


上述两个例子就可以写成:


print ‘Hello’+str(1)

print ‘hello%d’ % int('123')


以下等式的结果均为真:


int('123') == 123

float('3.3') == 3.3

str(111) == '111'

bool(0) == False


并不是所有的值都能做类型转换,比如int('abc')同样会报错,python没办法把它转成一个整数。


另外关于bool类型的转换,我们会专门再详细说明。大家可以先试试以下结果的值,自己摸索一下转换成bool类型的规律:


bool(-123)

bool(0)

bool('abc')

bool('False')

bool('')

 bool('False')




print一下结果,会发现是True。这是什么原因?

因为在python中,以下数值会被认为是False:

   为0的数字,包括0,0.0

   空字符串,包括'',""

   表示空值的None

   空集合,包括(),[],{}

其他的值都认为是True。


None是python中的一个特殊值,表示什么都没有,它和0、空字符、False、空集合都不一样

所以,‘False’是一个不为空的字符串,当被转换成bool类型之后,就得到True。

同样bool(' ')的结果是True,一个空格也不能算作空字符串

bool('')才是False。


在if、while等条件判断语句里,判断条件会自动进行一次bool的转换。比如

   a = '123'

   if a:

       print 'this is not a blank string'


这在编程中是很常见的一种写法。效果等同于

if bool(a)

或者

if a != ''


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值