零基础学Pythonprint变量和类型
Posted 山舟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学Pythonprint变量和类型相关的知识,希望对你有一定的参考价值。
文章目录
由于大部分读者应该有C语言编程的基础,所以文章中可能会有许多地方与C语言进行类比,以便理解和掌握。
一、print
Python中的打印函数是print(是内置函数,注意与C语言中的printf区分),而且print做了极大的简化,直接输入想要打印的内容、计算式等等均可,不需要区分打印内容的类型。
print("hello world") # 一个语句结束后不需要分号
print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)
上述代码运行结果如下:
前三个输出很容易理解,第四个涉及到触发的计算结果就需要解释一下了。
首先Python中并不是像C语言中的除法一样仅保留整数部分,而是直接会计算出小数的结果,其次为什么最后一位是5而不是进位得到的7呢?这里要说明的是并不是所有编程语言都有我们生活中四舍五入的习惯的,而且这里涉及到浮点数在内存中的存储,这种存储方式是有一定误差的,所以就得到了上面的结果。
二、变量和类型
1.认识变量
大部分情况下,在处理一些问题时,我们需要把程序运行过程中的中间结果保存起来以备之后使用,这时候就需要用到变量。
如计算四个数的方差。
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2
# Python中**表示乘方
result = total / 4
print(result)
在代码中,用avg表示平均值,total表示与平均值差值的平方,result为最终的结果,这样当需要用到前面的量时,直接使用对应创建的变量即可。
变量可以认为是一块容纳数据的空间,一段中可以创建若干名称不相同的变量。
2.创建变量
变量命名的规则:
- 变量名必须由数字、字母、下划线组成
- 变量名不能以数字作为开头
- 变量名不能与Python中已有的关键字、函数名等等重复
- 变量名是大小写敏感的
# 合法的变量名
a = 10
A = 20
a1 = 30
_str = "hello world"
num = 5 # 大小写敏感
Num = 0.5
# 不合法的变量名
print = 20
1a = 50
当出现不合法的变量名时,编译器也会通过波浪线来提示。
3.使用变量
使用变量是代码编写过程中最频繁的操作之一,不需要过多解释。
num = 123 # 创建变量
_num = num # 将num的值赋给_num
print(num) # 使用变量
num = 456 # 修改变量
print(num) # 使用变量
运行结果如下
4.变量的类型
变量里面要存储各种各样的数据,为了区分不同种类的数据,引入了“变量类型”的概念。
注意:与C语言不同,Python中变量的类型不需要显式地指定,而是在赋值的时候才确定的。
(1)整型
a = 10
print(type(a)) # 可通过type函数来查看变量的类型
上图中代码运行结果如下,说明变量a是int类型。
注意:和C++/Java等语言不同,Python中的int理论上表示的数据范围是“无穷”的,只要内存足够大,就可以根据数据的大小自动扩展内存来表示数据,因此long、short、long long等类型在Python中也就没有意义了。
(2)浮点数
b = 0.5
print(type(b))
Python中的浮点数是float类型的,但它是八字节的,也就等同于C++/Java中的double双精度浮点型。
(3)字符串
Python中的字符串通过引号将一系列字符包括起来,就构成一段字符串,这里用单引号和双引号都是可以的。
str1 = 'abcd'
str2 = "hello Python"
print(type(str1))
print(type(str2))
可以看到它们的类型都是str,即string字符串类型
那么为什么要这么设计呢?其实也是为了很方便的实现下面这个功能,比如我想要把
My name is " ShanZhou "
当做一个字符串,如果仍用双引号将其包括,即
"My name is " ShanZhou ""
那么Python解释器就会将前后两个字符串当做字符串,而中间的ShanZhou就什么也不算了,就会出现语法错误。
所以如果字符串中有双引号,就用单引号包括整个字符串,如果字符串中有单引号,就用双引号包括整个字符串。
那如果既有单引号又有双引号怎么办,Python语法还真有办法,就是用三引号。详见下面的代码
str3 = 'My name is "ShanZhou"'
str4 = "My name is 'ShanZhou'"
str5 = """ My name is 'Shan' "Zhou" """
print(type(str3))
print(type(str4))
print(type(str5))
他们均是str字符串类型。
同时,字符串也可以像C++的STL库中的string类型一样进行字符串的拼接。
str6 = str4 + str5
print(str6)
(4)其他
除上述常用类型外,Python中还有list、tuple、dict、bool、自定义类型等等类型,这些类型之后再讲。
Python中一个变量的类型还是可以随意转换的,不像C语言中那样一旦定义了类型就无法赋值其他类型的数据。
感谢阅读,如有错误请批评指正
以上是关于零基础学Pythonprint变量和类型的主要内容,如果未能解决你的问题,请参考以下文章