【原创】《笨办法学python》(2)---print函数相关

 

 

一 print函数的版本差异

(1)py2里可以不带括号,如 print "hello world"

        py -2 里带括号和 py -3 也有差别

        PY2里写print ("hello" ,"world") 会输出 ("hello" ,"world")   #被认识是元组,但1个字符串不会

      

(2)py3里必须是函数形式,

        PY3里写必须写成print ("hello" ,"world") 会输出 "hello" ,"world"

(3) py -2   py-3带 格式化字符 用法也不同

      py -2  print里括号可不加,可只括起来print那部分,参数可不括起来,也可以全部括起来

       

  py -3  print 必须要带括号需要全部括起来,否则报错’

   py -3 严格,所有内容都必须在方法的()内!!!!

    

 


print"let me have test on you,ok or not?"
user_option=raw_input()
if user_option=="ok":
	print"enter your name"
	user_name=raw_input()
	user_password=raw_input("enter your password:\n")
	user_age = raw_input("enter your age\n")
	user_confirm=raw_input("are you ok?enter ok or not:\n")
	if user_confirm == "ok":
		print ("hello",user_name,"your password is:",user_password)
		print ("you were born in ",2018-int(user_age))
	else:
		print ("quit")	
else:
	print "compare some cals"

        print "hello" "world"
        print ("hello" "world")

        print "hello" ,"world"
        print ("hello" ,"world")


        print "7/4 is",7/4
	print "7.0/4.0 is",7.0/4.0

 

二 print 多个参数

print 可以支持打印多个字符串等,中间以,分隔

print在一行结尾的,不是分隔符,而是表示,这个print执行完后,不处理\n,也就是不进行分行

 

print后不换行

py -2   

print  "abc",

py -3 

因为默认参数是换行   print("abc",end="\n")

print ("abc",end="")

>>> def funA14():
    print("haha who you are?", end="")
    print("haha \
        gogogo")
>>> funA14()

haha who you are?haha         gogogo

 

三 print 与格式控制符号

py -2 里 % 一个可以不带括号,一个以上必须带,所以干脆全部都带()

py -3 %最好每个都带括号

print ( "%s " , %("1 para"))

 

格式化字符 或者format格式 两种

Print(“d%  s%”    %(123,string))

Print( “{0} {1}”.format(name,age))

 

print("your name and age is %s %s")   %(your_name,your_age),

注意有多个格式化符号%时,和后面不加符号分隔,只空格,然后,%要括号,并且注意括号前后的空格!!


# -*- coding:utf-8 -*-
# "你好"
# 你好
# nihao
print ("hello","rhino1")

my_name="rhino2"
print ("hello",my_name)

my_name="rhino3"
my_type="big"
num=1


print ("hello %s") %my_name
print ("there is 1 %s") %my_name
print ("there is %d rhino3") %num


print ("there is 1 %s %s") %(my_type,my_name)
print ("there is %d %s") %(1,my_name)
print ("there is %d %s") %(1,"rhino3")
print ("there is %d %s") %(num,my_name)
print  "there is %d %s" % (num,my_name) 


#"reference应用在不区分是decimal还是string的地方" %r  
#your_name=raw_input("请输入你的名字\n")              #加了UTF8之后不会报错了,但是仍然显示不正常?
#your_age=raw_input("请输入你的年纪\n")              #加了UTF8之后不会报错了,但是仍然显示不正常?
your_name=raw_input("enter your name\n")            
your_age=raw_input("enter your age\n")            



print("your name and age is ",your_name,your_age)
#print("your name and age is %s %d") %(your_name,your_age)        #注意,raw_input()导入的都是字符串类型的,要转
#print("your name and age is %d %d") %(your_name,int(your_age))   #数据类型不用对会报错
print("your name and age is %s %d") %(your_name,int(your_age))    #用户年龄输入数字不会出错,但乱填就会还是报错。
#可以要求输入的必须是某格式,或者强转的,我记得


print("your name and age is %s %s") %(your_name,your_age)
print("your name and age is %r %r") %(your_name,your_age)         # 这个可以保证用户不按照实际输入也不报错
print("ok")



# 我很容易写错的,%d %s %r 而不是 d% s%等等 ,要记住%像\一样,都是要写在前面!!!


 

 

四 其他print,如pprint

注意,需要使用前,先import pprint

message='It was a bright cold day in April,and the clocks were striking thirtenn.'
count={}
for character in message:
	count.setdefault(character,0)
	count[character]=count[character]+1
print(count)

import pprint
message='It was a bright cold day in April,and the clocks were striking thirtenn.'
count={}
for character in message:
	count.setdefault(character,0)
	count[character]=count[character]+1
print(count)
pprint.pprint(count)

message='It was a bright cold day in April,and the clocks were striking thirtenn.'
count={}
for character in message:
	count.setdefault(character,0)
	count[character]=count[character]+1
print(count)
pprint.pformat(count)

输出结果是如下

 

打印各种数字类型

 

 

 

打印整形

虽然   整形的格式化字符是%d (decimal),但全局函数对应的是 int()

%d

%06d  右对齐,左边补空格, 6代表,整形的总长度   0代表如果不足,前面补0个数

%-06d  左对齐,右边补空格,

但是好像没法在右边补0

 

打印浮点型

  %f

  %10.3f   右对齐,左边补空格,10全部长度,  .3小数位数(包含在全部长度内)

  %-10.3f  左对齐,右边补空格

 

 

打印字符串

%s

%s 10.3s    右对齐,左边补空格,10全部长度,  .3 截取字符串的长度

%s -10.3s    左对齐,右边补空格

 

打印分行和替代

 print(i,)

或直接使用下面的函数进行输出:

sys.stdout.write("输出的字串")

 

原始内容引用--也是万能的

% r

 

print打印多行

(1) print("",)

(2) print("""  "a"=1

b=4

c=asa """)

 

 

 

额外注意:block在python这里很严格重要

不规范缩进,block会报错!

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值