(内容包括输入input,输出print,注释comment,预测类型转换eval,命名与赋值Name & Bestow)
输入Input 和 输出Print
Python中利用input() 和 print() 可以进行在命令行内的输入和输出。
输入input
【从标准输入读入一行文本】input()函数可以从命令框中读到外部输入,以字符串的形式储存。 比如我们想用一个12,需要用a=int(input(">>>")),在命令框中输入12。如果只采用a=input(">>>"),则a="12"字符串类型。(可以用一个内置函数type(a)来查看对象a的类型)
经常用类型转换函数把input()得到的字符串转换为期待的类型,常用到的转换函数包括:
a = int(input(">>>"))
另外,还有一种读取效率比input()更高的方式,在sys模块中,可以写为sys.stdin.readline(),这种方式不会忽略用户所输入的换行符,因此,实际使用的时候,常常使用下面的语句来去除键盘输入首尾的换行符:
import sys
a = sys.stdin.readline().strip() #可以理解为sys模块中stdin类中的readline()方法,得到的数据用strip()函数来处理,去掉换行符
输出print
【在命令框中打印一些内容】用print()函数可以把内容进行输出。
print(20200214,"Hello Python!\t"+"www","python","org",sep=".")
#可以打印任意格式的变量,变量间可以用逗号或加号间隔,逗号和逗号间可以加间隔符,格式sep=' '
name,age="Tom",24
print(f"The author's name is {name},and the age is {age}. ")
#使用f" " 可以在字符串中加{},括号中加带有变量的算式即可
print("Futhermore, {0} likes to programme, and {0} wants to succeed when {1}. ".format(name,age+3),end="")
#使用"".format() 可以在字符串中加{},括号中可以加序号、名字或什么都不加,后面加序号数对应的算式、名字对应的算式,或按顺序写括号中的算式
print("Cheer up,%s!Grit!"%(name))
#使用占位符进行打印
输出结果如截图所示:
几点说明:
首先说说填充和对齐:在输出的时候,有时需要固定的格式,如{a:&=+10.2f},表示打印a,用&符号填充空白,符号居左数字居右,正负号都显示,共占10位,小数后精确度是2位,a作为float类型输出
1. %型格式化输出
格式是 "....%s...%s..."%(var1,var2,....) 。用%s对字符串中需要填充的地方使用占位符,再用对应个数的变量将占位符以字符串形式填充,变量var1可以是任意类型。也就是说,无论什么类型,你想让它输出为字符串,你就用%s。下表是占位符的含义:
2. format型格式化输出
格式: 1. "....{}...{}...".format(var1,var2,...) (填坑),挖了几个坑,填几个参数。
2. "....{0}...{1}...".format(var1,var2,...) (位置标号),前面的坑按数字顺序对应后面的参数。
3. "....{a}...{b}...".format(a=var1,b=var2,...) (关键字),后面给关键字赋值。
3. f” ”型格式化输出
格式: 直接在f”……”的字符串的大括号中,填写变量名称即可。
几点注意:
- 输出多个同一类型值时,可以用加号拼接或逗号(分隔符)分隔。
- 分隔符号(逗号)默认输出一个空格,如果想输出别的,可以在内容后面跟,sep=” ”,引号中填你想要的分隔符。
- print()函数默认换行,因为默认end=”\n”,如果不想换行,可以在内容后面跟,end=” ”,引号中填结尾符。
- 双引号单引号都可以,但是首尾引号要对应,且中间不能出现首尾用过的引号,除非中间用转义符\ 。
注释Comment
python有两种方法进行注释,一种是在某句前加#(行注释),一种是对段落的注释,在需要注释的段前后分别加三个引号''' (块注释)。另外,讲需要备注的若干行选中后加Ctrl+/也可以进行备注多行。注释后,计算机就读不到被注释的文本了。
#this is the first way to annotation
''' this is a way to annotate
something more than one
line.
'''
备注主要有两个作用:
- 对代码加以说明,增加代码可读性(注释不是描述代码,是说功能)
- 调试程序,被注释的程序不参与编译(raped code)
eval函数
【可以理解为把字符串中的内容自动转为它应该是的数据】利用eval()函数可以轻松的进行计算字符串表达式,类型变换等功能。
import math
print(eval("3+4")) #功能类似字符串表达式计算器
a = eval("[2,4,'Hello',[1,2,3,4],math.pi,'3+4']") #功能类似类型变换
print(type(a),a,sep="\n")
b = eval(input(">>>"))
print(type(b),b,sep="\n")
命令框截图如下:
一些说明:
- eval()中可以填任何简单字符串表达式,但eval只能对最外一层的引号进行转换,之内的表达式进行运算。
- eval中的复杂功能字符串不一定能100%保证自动转换或运算正确。
命名和赋值Name & Bestow
命名应做到:字母、数字、下划线的组合,字母开头,不使用关键字,对大小写敏感,望文生义。
几种命名规范:
①Unix_C: 如your_age
②匈牙利命名法:属性(成员范围)_类型+对象描述
③驼峰命名法: 如getElementBody;
赋值号(等于号)左边是被赋值量,右边是值。
a = 10
a=b=c=10 #链式赋值
a , b , c =1 , 1.5 , ”Tom” #系列解包赋值
一些说明:
- 根据系列解包赋值,如果要交换变量a和变量b的值,代码是 a,b=b,a
- 命名常常会有几个单词(如:time of date),如果变量或方法可以取timeOfDate,如果是类或函数可以取TimeOfDate。 (首字母大写的是类和方法,小写的是函数和类) 也可以用time_of_date和Time_of_date
如果您觉得Tc写得不错或者不好,欢迎批评✖或点赞👍。