前言
我自己有一点C++和JavaScript(主要是NodeJS中)的基础,感觉一直怼着这俩练有点枯燥,准备另学一个编程语言,选择了Python。
本来我想类比C++和JS,结果发现:噫,我写的啥玩意儿,全红。毕竟我只知道print()这一个函数。
所以还是从头学吧。
Python的注释
单行注释
在注释内容前加上#
。
示例:
print('Hello World!') #输出"Hello World!"
多行注释
包裹在'''这是注释'''
或者 """这是注释"""
的都是,可以进行换行
(分别为三个单引号和三个双引号)
示例:
'''
这是注释,哈哈哈哈
这还是注释,嘿嘿嘿
这依然是注释,嘻嘻嘻
'''
print('Hello World!')
注: 在PyCharm中,虽然三个单引号可以被正确解释为注释,但是IDE会有警告内容,更推荐使用三个双引号。
中文声明注释
编码格式有很多种,尤其是中文,用不同编码打开一个文档就会出现乱码,如著名的"锟斤拷"和各种字符。
所以有时候声明编码格式就很重要。
声明方式很简单,以声明为UTF-8为例。
示例:
# coding=utf-8
注: 必须放在第一行!!!!!否则就只是一个普通的单行注释,而不是中文声明注释,不起任何作用。
如果要用其他的编码格式,如GBK,同理,# coding=gbk
即可。
注: GBK在Windows的记事本中显示为ANSI。
print()
完整语法格式
print(value,...,sep=' ',end='\n',file=None)
基本输出
和JS以及C++的要求比较类似,可以稍作类比。可以直接输出变量值,也可以输出运算值,输出字符串要加引号等等。
示例代码:
a=100
b=50
print(a)
print(a*b)
print('北京欢迎你')
print("北京欢迎你")
print('''北京欢迎你''') #这三种完全一样
输出样例:
100
5000
北京欢迎你
北京欢迎你
北京欢迎你
另外,可以通过chr()
将整型编码通过ASCII或Unicode编码为字符,用ord()
获取一个字符的编码。这里不做详解,可以自己尝试。
向文件输出内容
Python可以直接只用fp进行操作,不需要像JS引入fs库,C++引入fstream头文件。
首先使用open()
打开文件,一共需要两个参数。第一个为打开的文件,第二个为模式。
然后看到print()
函数的完整格式,给file设定参数即可向对应文件输出。
最后要关闭文件。
示例代码:
fp=open('1.txt','w') # 打开"1.txt"文件 w-->write,即写入
print('Hello World!',file=fp) # file=fp设定向打开的文件输出
fp.close() # 关闭文件
输出样例:
1.txt:
Hello Wolrd!
注: 示例代码中的fp可以为任意非保留字
sep与end
假如说我想把"北京欢迎你"分开输出,欸,可能会想到下面两种方式。
# 方式1
print('北京','欢迎','你')
# 方式2
print('北京')
print('欢迎')
print('你')
编译输出就会发现,欸,完蛋啦。
输出样例:
北京 欢迎 你
北京
欢迎
你
这不对啊,这不是英文 Beijing Welcome You,不要空格或者换行啊。
那么再一次回到这个函数的完整格式。sep
和end
不仅仅说明有这两个参数,所写的也是默认值。
sep-->separate 分离,分割。默认被设置为一个空格,所以方式1中北京和欢迎之间有一个空格。
end 结束。默认设置为\n,表示这个语句后换行,所以方式2中每一个内容换行输出了。
那么解决办法就很简单了,设置一下sep和end就可以啦。
示例代码:
print('北京','欢迎','你',sep='',end='')
print('\n\n',end='')
print('Beijing','Welcome','You',end='\n\n')
(第二行的行为很傻逼,只是为了做展示)
输出样例:
北京欢迎你
Beijing Welcome You
另外,两个字符串也可以用+号连接,相当于把两个字符串拼在一起变成一个字符串了,也不会又空格。
PS: 前面说的回到print()的完整格式,突然想到最近学的圆锥曲线中的椭圆、双曲线和抛物线,要时刻记得回到定义。比如椭圆上一点到两焦点的距离和为2a,双曲线上一点到两焦点的距离差的绝对值为2a,抛物线上一点到焦点的距离等于到准线的距离。
咳咳,说偏了,回到Python
input()
基本结构
content=input('提示文字')
使用
就是基本结构,非常简单。
content为存储内容的变量,可以是任何变量名。
示例代码:
name=input('请输入你的名字: ')
print('你的名字是'+name)
输出样例:
请输入你的名字: 没有
你的名字是没有
类型
按照上面的方式输入的内容,无论是什么内容,都是字符串,即使输入内容是数字,也不能正确加减法。
如果要输入整型或者其他类型,则需要进行转换。
比如整型使用int()
进行转换。
示例代码:
num=input('请输入你的幸运数字:')
print('你输入的是'+num)
num=int(num)
print('你的幸运数字是'+num)
输出样例:
请输入你的幸运数字:6
你输入的是6
Traceback (most recent call last):
File "F:\002-Code\Python\Learning\Console\Learning\Chap2\2.py", line 4, in <module>
print('你的幸运数字是'+num)
~~~~~~~~~~~~~
TypeError: can only concatenate str (not "int") to str
进程已结束,退出代码为 1
这就不是什么正确输出了,可以看到报错内容说num不是字符串类型,所以不能用+号拼接。正确应该修改为:
示例代码:
num=input('请输入你的幸运数字:')
print('你输入的是'+num)
num=int(num)
print('你的幸运数字是',num,sep='')
输出样例:
请输入你的幸运数字:6
你输入的是6
你的幸运数字是6
代码缩进
这就是和其他我所掌握的另外两门编程语言很不一样的一点了。
在C++和JS中,通常使用花括号{}
来区分代码块。通常来说,即使不需要换行或者缩进,在这两门语言中都可以被正确解释。(部分内容也可能不行,如C++中public和private的定义)。
但是在Python中完全不同,Python使用:
和缩进标志一个代码块,在一个代码块中的代码要保持相同缩进,所以缩进在Python中非常非常重要。一般采用4个空格作为一个缩进量,即一下Tab按键。
注: 严格来说,Tab不是4个空格,而是移动到下一个制表位的意思,只是在IDE中,Tab和四个空格的宽度相同,所以按Tab也可以缩进。另外,可能在部分IDE(如使用VSCode编写JS时遇到过),可以在前几次缩进时,自己按空格缩进,以此将缩进量设置为自己喜欢的,如2个或者3个空格等等。
Comments NOTHING