Python学习-第一章

KaedeharaLu 发布于 2024-10-03 636 次阅读


前言
我自己有一点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,不要空格或者换行啊。
那么再一次回到这个函数的完整格式。sepend不仅仅说明有这两个参数,所写的也是默认值。
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个空格等等。