小言_互联网的博客

Python入门01 - 输入输出、数据类型、变量及常量

461人阅读  评论(0)

一、输出与输出

1.输出

当我们想要在屏幕上输出些什么内容时,可以使用print()函数进行打印。

# Python的输出 - print()

# ①print()在括号中加上字符串即可向屏幕上输出指定的文字。
print('hello,world')
# ②print()可以接受多字符串,字符串间使用逗号隔开。
# 多字符串使用逗号隔开时,Python依次打印每个字符串,当遇到逗号时,会输出一个空格。
print('hello','world')
print('the girl','is pretty good')
# ③print()可以打印整数或者计算结果
print(10)
print(1+2)

对应结果输出:

hello,world
hello world
the girl is pretty good
10
3

2.输入

知道了如何在屏幕上打印出我们想要的内容,对应地,怎麼才能输入想要的内容呢?Python提供了input()函数,让用户输入字符串,并存放到一个变量中。

# Python的输入 - input()
# 使用input()函数让用户输入对应内容,并将这些内容存放到变量num中,用print()打印出来
num = input()
print(num)

对应结果输出:当运行num= input()时,Python交互式命令在等待我们的输入,此时输入任意字符后,按回车键完成输入。

小结:

输入为input(),输出为output(),所以我们把输入输出统称Input/Output,简写IO。

input()与print()是命令行下最基本的输入与输出,更高级的输入输出可以通过图形界面等来完成。

二、数据类型、变量与常量

Python跟其他程序语言一样,可以处理文本,图形,音频,视频,网页等数据,不同数据需要定义不同的数据类型。Python中,可以直接处理的数据类型有以下几种:

1.整数:Python可以处理任意大小的整数,包括正整数和负整数。Python中的整数没有大小限制,但超出一定范围直接表示为inf。

# Python数据类型 - 整数
print('10+20=',10+20)
print('-10-20=',-10-20)

对应结果:

10+20= 30
-10-20= -30

2.浮点数:即小数。Python中的浮点数没有大小限制,但超出一定范围直接表示为inf对于极大或极小的浮点数,需要用科学记数法表示,即将 10用e替代。

注意点:Python中,整数和浮点数的存储方式不一样,整数运算是准确的,浮点数运算可能会有误差。

# Python数据类型 - 浮点数
print(1.1314123)
# 对于极大的数,用科学记数法表示,例如1230000000表示为1.23e9
print(1.23e9)
# 对于极小的数,用科学记数法表示,例如0.00011表示为1.1e-4
print(1.1e-4)

对应结果:

1.1314123
1230000000.0
0.00011

此处插播一个知识点,在Python中,整数运算是准确的,整数的除法也是准确的。Python有两种除法,一种是 / 除法,这种除法的计算结果是浮点数,即使是刚好整除的两个整数,结果也是浮点数;还有一种除法是 //,称之为地板除,地板除的结果是整数,不管两个整数是否可以整除,结果都是整数;地板除只取结果整数部分,如果想要求两个数相除的余数,可以使用 % 进行计算:

# Python除法
num1 = 10
num2 = 3
# / 除法
print(num1 / num2)

# // 地板除
print(num1 // num2)

# % 求余数
print(num1 % num2)

 对应结果:

3.3333333333333335
3
1

3.字符串:字符串指的是用单引号或双引号括起来的任意文本。单引号和双引号本身只是一种表示方式,而非字符串的一部分。若字符串中包括单引号或者双引号甚至两者都有,可以用转义字符\来进行标识。 

# Python数据类型 - 字符串
# 单引号或双引号本身不是字符串的一部分,例如字符串‘a,b,c’只包含三个字符:a,b,和c
print('a,b,c')
# 若字符串内包含有单引号或者双引号,需要在单引号或者双引号前边加上转义字符来进行转义
print('It\'s good ')
print('It\'s \'good\'')
# 如果字符串中包含了转义字符\,转义字符\本身也需要转义,所以\\ 表示的字符就是\
print('It\'s \\good\\')
# 还有一些特殊转义字符: \n表示换行,\t是制表符
print('换\n行')

对应结果:

It's good 
It's 'good'
It's \good\
换
行

注意:Python中,可以使用\来表示转义,如果字符串中存在多出需要转义的地方,就需要加上很多的转义字符,为了简化,Python中,可以使用r''表示' '内部的字符串不转义。

# r''的使用
print('\\test\\')
print(r'\\test\\')

对应结果:

\test\
\\test\\

4.布尔值:一个布尔值只有False和True两种值,注意,Python是大小写敏感的,即需要区分大小写!

#Python数据类型 - 布尔值
print(True)
print(False)

对应结果:

True
False

布尔值可以通过and,or,not进行运算:

and:与运算,只有全部都为True,结果才为True,否则为False

or:或运算,只要有其一为True,结果即为True

not:非运算,这是一个单目运算符,可以将True变为False,将False变为True

# 布尔值可以用and,or,not运算
print(True and False)
print(True and True)
print(False and False)
print(True or False)
print(True or True)
print(False or False)
print(not False)
print(not True)

对应结果:

False
True
False
True
True
False
True
False

5.空值:用none表示。none不等同于0,none是一个特殊的空值。

6.变量:

怎麼理解变量?例如方程式 y = 2 * x,x就是变量。在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

在Python中,变量就是用一个变量名表示,变量名也有其起名规范:变量名必须是大小写字母,数字和下划线_的组合,且不能以数字开头。

# Python变量
# 定义一个整数变量
num = 2
# 定义一个字符串变量
character = 'test'
# 定义一个布尔值变量
value = True

在定义变量时,等号=表示赋值,不要跟数学上的等号混淆。

如果学过Java等静态语言的小伙伴们就清楚,在Java中,定义一个变量时,必须指定变量类型,如果赋值时类型不匹配,程序报错。但在Python中,定义变量时不需要指定变量类型,我们将这种变量本身类型不固定的语言成为动态语言。与之相对应的就是静态语言。

# python - 动态语言,定义变量时不用指定变量类型
a = 123
# Java - 静态语言,在定义变量时需要指定变量类型
int b = 123

Python作为一门动态语言,一个变量可以被反复赋上不同类型的值。

# 变量可以被反复赋上不同类型的值
a = 123
a = 'Python'
print(a)

对应结果:

Python

理解了Python是怎么定义变量的,下面来理解下变量在计算机内存中是如何表示的:

当我们定义变量num = 1时,Python解释器做了两件事:

  • 在内存中创建了一个值为1的整数;
  • 在内存中创建了一个名字为num的变量,并把它指向了1.

按照这种思路,我们将变量num的值赋给另外一个变量num1(num = 1;num1 = num),此时,Python解释器应该是在内存中新创建了一个名字为num1的变量,并将该变量指向了变量num所指向的数据。所以,将结果打印出来后发现,num和num1的结果都是1。

如果执行以下语句,会出现什么结果呢?

str1 = 'abc'
str2 = str1
str1 = 'efg'
print(str1)
print(str2)

执行str1 = 'abc',Python解释器创建了字符串 'abc'和变量str1,并把str1指向'abc';

执行str2 = str1,Python解释器创建了变量str2,并把str2指向'abc';

执行str1 = 'efg',Python解释器创建了字符串 'efg',并把str1指向了'efg',str2不变;

这样子分析,结果就不难理解了:

efg
abc

7.常量:常量,即固定的变量。例如π就是一个常量。在Python中,常量名一般用大写字母表示

# Python - 常量
PI = 3.1415

实际上,常量依然是一个变量,Python没有任何机制保证常量不会被改变,所以使用大写字母表示常量是一种习惯也是一种标识。

 

 


转载:https://blog.csdn.net/ava_1234/article/details/102016186
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场