Python3基础之写给初学者看的变量和数据类型

目录

变量的使用

变量的使用示例1:使用变量保存数据并进行加减乘除运算

变量的使用示例2:使用type()检查变量的类型

变量的使用示例3:变量的类型转换

常量

变量命名

数据类型

整数

浮点数

复数

布尔值

字符串

列表

元组

集合

字典

总结


图片

更多关于Python的相关技术点,敬请关注公众号:CTO Plus后续的发文,有问题欢迎后台留言交流。

图片

Python 是一门动态类型的编程语言,它具有强大的变量和数据类型系统。本文我将详细介绍下 Python 的变量、常量和数据类型,并提供一些实例来帮助粉丝更好地理解它们。

原文:Python3基础之写给初学者看的变量和数据类型

在程序设计中,变量是一种存储数据的载体。计算机中的变量是实际存在的数据或者说是存储器中存储数据的一块内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。计算机能处理的数据有很多种类型,除了数值之外还可以处理文本、图形、音频、视频等各种各样的数据,那么不同的数据就需要定义不同的存储类型。Python中的数据类型很多,而且也允许我们自定义新的数据类型,我们先介绍几种常用的Python数据类型。

变量的使用

首先介绍下变量,变量是用于存储数据的标识符。在 Python 中,你可以直接给变量赋值,并且不需要提前声明变量的类型。Python 会根据赋值语句自动推断变量的类型。下面通过几个例子来说明变量的类型和变量使用,下面是一些代码示例:

variable01.py

变量的初始化

age = 28

name = "steverocket"

blog = "https://mp.weixin.qq.com/s/V5Axn-ZWi22ubh5Jiocb9g"

在上面的示例中,我们分别将整数 28 和字符串 " steverocket ",以及一个URL的字符串,赋值给了变量age、name和blog。

变量的使用示例1:使用变量保存数据并进行加减乘除运算

number1 = 123456789

number2 = 987654321

print(number1 + number2) # 1111111110

print(number1 - number2) # -864197532

print(number1 * number2) # 121932631112635269

print(number1 / number2) # 0.1249999988609375

# 不同类型的数值进行运算(这点与Golang就非常不一样)

print(PI + age) # 31.14159

print(PI * age) # 87.96452

变量的使用示例2:使用type()检查变量的类型

在Python中可以使用type函数对变量的类型进行检查。程序设计中函数的概念跟数学上函数的概念是一致的,数学上的函数相信大家并不陌生,它包括了函数名、自变量和因变量。如果暂时不理解这个概念也不要紧,我们会在后续的章节中专门讲解函数的定义和使用,敬请关注公众号CTO Plus后面的文章。

from FeaturesVersion import AGE, AUTHOR, BLOG

number = 1 + 5j

is_gender = True

print(type(AGE)) # <class 'int'>

print(type(PI)) # <class 'float'>

print(type(BLOG)) # <class 'str'>

print(type(number)) # <class 'complex'>

print(type(is_gender)) # <class 'bool'>

# 将变量的类型拿来比较

print(type(AUTHOR) == type(BLOG)) # True

print(type(AUTHOR) is type(BLOG)) # True

print(type(AGE) == type(BLOG)) # False

print(type(AGE) is type(BLOG)) # False

type是Python的内置函数,以及还有比如input()、print()分别属于Python3的获取键盘输入(字符串)函数,和输出带占位符的字符串函数。关于什么是Python的内置函数,以及其他内置函数的详细介绍和使用可以参考公众号CTO Plus前面的文章:

Python基础之最新的73个内置函数(1)

Python基础之最新的73个内置函数(2)

Python基础之最新的73个内置函数(3)

Python基础之最新的73个内置函数(4)

Python基础之最新的73个内置函数(5)

Python基础之最新的73个内置函数(6)

Python基础之最新的73个内置函数(7)

变量的使用示例3:变量的类型转换

Python3中变量的类型转换是将一个类型的变量转换为另一个类型的变量。在编程中,经常需要对不同类型的变量进行操作和处理,因此我们了解和掌握类型的转换是非常重要的。

可以使用Python中内置的函数对变量类型进行转换,Python3中常见的类型转换有以下几种:

1. 整数类型转换

将一个数值或字符串转换成整数,可以指定进制(其他类型的变量转换为整数类型)。可以使用int()函数来实现,例如:

num = int(3.14) # 将浮点数转换为整数,结果为3

new_pi = int(PI)

# float转int

print(new_pi, type(new_pi)) # 3 <class 'int'>

2. 浮点数类型转换

将一个字符串转换成浮点数(其他类型的变量转换为浮点数类型)。可以使用float()函数来实现,例如:

num = float(5) # 将整数转换为浮点数,结果为5.0

number = "123456.6789"

print(number, type(number)) # 123456.6789 <class 'str'>

# str转float

new_number_f = float(number)

print(new_number_f, type(new_number_f)) # 123456.6789 <class 'float'>

# str转int

# number = "123456.6789" 或 "123456."  使用int转换会报错 ValueError: invalid literal for int() with base 10: '123456.6789'

number = "123456"

new_number_i = int(number)

print(new_number_i, type(new_number_i)) # 123456 <class 'int'>

3. 字符串类型转换

将其他类型的变量转换为字符串类型(指定的对象转换成字符串形式),可以指定编码。可以使用str()函数来实现,例如:

# 分别将int和float的数值转为str

num = str(123) # 将整数转换为字符串,结果为"123"

new_number_s1 = str(new_number_i)

new_number_s2 = str(new_number_f)

print(new_number_s1, type(new_number_s1)) # 123456 <class 'str'>

print(new_number_s2, type(new_number_s2)) # 123456.6789 <class 'str'>

4. 列表类型转换

将其他类型的变量转换为列表类型。可以使用list()函数来实现,例如:

str = "微信公众号:CTO Plus"

str_to_list = list(str)

print(type(str_to_list), str_to_list) # <class 'list'> ['微', '信', '公', '众', '号', ':', 'C', 'T', 'O', ' ', 'P', 'l', 'u', 's']

5. 元组类型转换

将其他类型的变量转换为元组类型。可以使用tuple()函数来实现,例如:

lis = [11, 22, 33]

lis_to_tuple = tuple(lis)

print(type(lis_to_tuple), lis_to_tuple) # <class 'tuple'> (11, 22, 33)

6. 字典类型转换

将其他类型的变量转换为字典类型。可以使用dict()函数来实现,例如:

lst = [("name", "SteveRocket"), ("age", AGE)]

dic = dict(lst)

print(type(dic), dic) # <class 'dict'> {'name': 'SteveRocket', 'age': 28}

7. 将整数转换成该编码对应的字符串(一个字符)

# chr()

num1, num2, num3 = 45, 46, 47

num1_c, num2_c, num3_c = chr(num1), chr(num2), chr(num3)

print(num1_c, num2_c, num3_c) # - . /

print(type(num1_c), type(num2_c), type(num3_c)) # <class 'str'> <class 'str'> <class 'str'>

8. 将字符串(一个字符)转换成对应的编码(整数)

# ord()

chr1, chr2, chr3, chr4 = 'a', 'A', 'B', 'C'

print(ord(chr1), ord(chr2), ord(chr3), ord(chr4)) # 97 65 66 67

print(type(ord(chr1))) # <class 'int'>

需要注意的是,有些类型之间是不能直接进行转换的,例如字符串和整数之间的转换,只有在字符串表示的是合法的整数时才能转换成功。

另外,还可以使用eval()函数进行动态的类型转换,eval()函数会根据字符串的内容自动判断转换的类型,例如:

e1 = eval("123") # 将字符串转换为对应的类型,结果为整数123

e2 = eval("12.3")

# e3 = eval("12.3.455") # SyntaxError: invalid syntax

# e3 = eval(BLOG) # SyntaxError: invalid character ':' (U+FF1A)

# e3 = eval("hello steverocket")  # SyntaxError: invalid syntax

e3 = eval(28) # TypeError: eval() arg 1 must be a string, bytes or code object

print(e1, e2) # 123 12.3

print(type(e1), type(e2)) # <class 'int'> <class 'float'>

在进行类型转换时,需要注意数据的有效性和合法性,避免出现错误的转换结果。同时,还应该根据具体的需求选择合适的类型转换方式,以保证程序的正确性和效率。

其他更多的内置函数详细介绍和使用可以参考公众号CTO Plus的文章:

Python基础之最新的73个内置函数(1)

Python基础之最新的73个内置函数(2)

Python基础之最新的73个内置函数(3)

Python基础之最新的73个内置函数(4)

Python基础之最新的73个内置函数(5)

Python基础之最新的73个内置函数(6)

Python基础之最新的73个内置函数(7)

常量

常量是指在程序中不可更改的值。在 Python 中,虽然没有内置的常量类型,但是可以通过约定来表示常量。通常,常量的命名使用大写字母,以便与变量区分。下面是一些示例:

PI = 3.14159

MAX_SIZE = 100

在上面的示例中,我们分别将圆周率和最大尺寸定义为常量 PI 和 MAX_SIZE。

变量命名

对于每个变量我们需要给它取一个名字,就如同我们每个人都有属于自己的响亮的名字一样。在Python中,变量命名需要遵循以下这些必须遵守硬性规则和强烈建议遵守的非硬性规则。

  • 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头,多个单词用下划线连接。

  • 大小写敏感(大写的a和小写的A是两个不同的变量)。

  • 不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。

  • 受保护的实例属性用单个下划线开头。

  • 私有的实例属性用两个下划线开头。

# 区分大小写的变量

num = 123

Num = 456

print(num)# 123

print(Num)# 456

当然,作为一个专业的程序员,给变量(事实上应该是所有的标识符)命名时做到见名知意也是非常重要的。关于更多的Python其他规范可以参考公众号CTO Plus前面的文章《通读Python PEP8代码规范》和后面的文章《Python3进阶之变量命名各种下划线的含义和区别》和《Python3进阶之内置魔法方法(双下划线开头和结尾)总结大全》

数据类型

接下来介绍下变量的数据类型,Python 提供了多种数据类型,包括整数、浮点数、布尔值、字符串、列表、元组、字典等。下面是一些常用的数据类型及其示例:

整数

整数是不带小数部分的数字。例如:

num1 = 12345

print(type(num1), type(0), type(-1)) # <class 'int'> <class 'int'> <class 'int'>

整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。

浮点数

浮点数是带有小数部分的数字。例如:

num2 = 12345.

num3 = 123.467

num4 = -123.467

print(type(num2)) # <class 'float'>

print(type(num3)) # <class 'float'>

print(type(num4)) # <class 'float'>

浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。

复数

num5 = 3+5j

print(type(num5)) # <class 'complex'>

复数型:形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j。实际上,这个类型并不常用,大家了解一下就可以了。

布尔值

布尔值表示真或假。Python 中的布尔值只有两个值:True 和 False。例如:

b1 = True

b2 = False

print(type(b1), type(b2)) # <class 'bool'> <class 'bool'>

# 其他类型转为bool类型

print(bool(123)) # True

print(bool("")) # False

print(bool(None)) # False

l1 = False

l2 = True

print(l2 or l1) # True

print(False and False) # False

布尔型:布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。

字符串

Python3中的字符串是不可变的序列(不可变的数据类型),字符串是由字符组成的序列,可以使用单引号、双引号或三引号来表示。字符串可以进行拼接、切片、遍历等操作。

特点:

  • 字符串是不可变的序列。

  • 可以使用单引号、双引号或三引号来表示。

  • 支持字符串拼接、切片、遍历等操作。

from FeaturesVersion import BLOG, WEIXIN_URL

print(BLOG, WEIXIN_URL) # 微信公众号:CTO Plus https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q

print(type(BLOG), type(WEIXIN_URL)) # <class 'str'> <class 'str'>

s1 = 'a'

s2 = 'SteveRocket'

s3 = """微信公众号:CTO Plus

Author:SteveRocket"""

print(type(s1), type(s2), type(s3)) # <class 'str'> <class 'str'> <class 'str'>

从上述代码可以看出,字符串是以单引号或双引号括起来的任意文本,比如' SteveRocket '和" SteveRocket ",字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。

关于字符串(str)的进一步介绍和使用请关注公众号CTO Plus后面的文章《Python3基础之经典数据类型字符串(str)开发使用注意事项和代码示例详解》和《Python3基础之字符串的高级操作和正则表达式的结合使用实战》。

列表

Python3中的列表是可变的有序的序列(数据集合),可以包含任意类型的数据。列表可以进行增删改查、切片、遍历等操作。

特点:

  • 列表是可变的序列。

  • 可以包含任意类型的数据。

  • 支持增删改查、切片、遍历等操作。

li1 = [1, 2, 3, 4, 5]

li2 = [AGE, WEIXIN_URL, BLOG, {"user": AUTHOR}]

print(li1, li2)

print(type(li1), type(li2)) # <class 'list'> <class 'list'>

关于元组(tuple)的进一步介绍和使用请关注公众号CTO Plus后面的文章《Python3基础之经典数据类型列表(list)的开发使用注意事项和代码示例详解》和《Python3基础之经典数据类型序列(sequence)的开发使用注意事项和代码示例详解》。

元组

Python3中的元组是有序、不可变的序列(数据集合),可以包含任意类型的数据。元组可以进行遍历、切片等操作,但不能进行修改。

特点:

  • 元组是不可变的序列。

  • 可以包含任意类型的数据。

  • 支持遍历、切片等操作,但不能进行修改。

t1 = (1, 2, 3, 4, 5)

t2 = (AGE, WEIXIN_URL, BLOG, {"user": AUTHOR})

print(t1, t2) # (1, 2, 3, 4, 5) (28, 'https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q', '微信公众号:CTO Plus', {'user': 'steverocket'})

print(type(t1), type(t2)) # <class 'tuple'> <class 'tuple'>

t3 = (11, 2, 11, 4, 11)

print(t3)# (11, 2, 11, 4, 11)

关于元组(tuple)的进一步介绍和使用请关注公众号CTO Plus后面的文章《Python3基础之经典数据类型元组(tuple)开发使用注意事项和代码示例详解》。

集合

Python3中的集合是一种无序、不重复的数据结构,可以进行交集、并集、差集等操作。

特点:

  • 集合是一种无序、不重复的数据结构。

  • 支持交集、并集、差集等操作。

典型的代码示例:

set1 = {11, 22, 33}

# set2 = {AGE, AUTHOR, WEIXIN_URL, {'user':{"Author":AUTHOR, 'Age':AGE}}} # TypeError: unhashable type: 'dict'

# set2 = {AGE, AUTHOR, WEIXIN_URL, {}} # TypeError: unhashable type: 'dict'

set2 = {AGE, AUTHOR, WEIXIN_URL}

print(set1, set2) # {33, 11, 22} {'steverocket', 'https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q', 28}

print(type(set1), type(set2)) # <class 'set'> <class 'set'>

从上述输出结果来看,集合(set)是一种无序的结构,并且里面的元素不能存在字典或子集合的元素类型。

set1 = {1, 2, 3}

set2 = {2, 3, 4}

# 集合求交集

print(set1 & set2) # 输出:{2, 3}

# 集合求并集

print(set1 | set2) # 输出:{1, 2, 3, 4}

# 集合求差集

print(set1 ^ set2) # 输出:{1, 4}

print(set1 - set2) # 输出:{1}

print(set2 - set1) # 输出:{4}

关于集合(set)的进一步介绍和使用请关注公众号CTO Plus后面的文章《Python3基础之经典数据类型集合(set)开发使用注意事项和代码示例详解》。

字典

字典是无序的键值对集合。字典中的键必须是唯一的,而值可以是不同的数据类型。例如:

Python3中的字典是一种键值对的数据结构,可以包含任意类型的数据。字典可以进行增删改查、遍历等操作。

特点:

  • 字典是一种键值对的数据结构。

  • 可以包含任意类型的数据。

  • 支持增删改查、遍历等操作。

d1 = {'name': AUTHOR, 'age': AGE, 'blog': BLOG}

d2 = {1: 'steverocket', 2: 'cramer', 3: 'python', 'user_info': d1}

print(d1, d2) {'name': 'steverocket', 'age': 28, 'blog': '微信公众号:CTO Plus'} {1: 'steverocket', 2: 'cramer', 3: 'python', 'user_info': {'name': 'steverocket', 'age': 28, 'blog': '微信公众号:CTO Plus'}}

print(type(d1), type(d2)) # <class 'dict'> <class 'dict'>

关于字典(dict)的进一步介绍和使用请关注公众号CTO Plus后面的文章《Python3基础之经典数据类型字典(dict)开发使用注意事项和代码示例详解》。

总结

在本文中,我们详细介绍了 Python 的变量、常量和数据类型。变量用于存储数据,可以直接赋值而无需声明类型。常量是不可更改的值,通常使用大写字母命名。Python 提供了多种数据类型,包括整数、浮点数、布尔值、字符串、列表、元组和字典。了解这些基本概念对于编写高质量的 Python 代码非常重要。

Python3中的类型转换是将一个类型的变量转换为另一个类型的变量,可以使用int()、float()、str()、list()、tuple()、dict()等函数进行转换。在进行类型转换时,需要注意数据的有效性和合法性,以及选择合适的转换方式。通过掌握和应用类型转换,可以更好地处理不同类型的变量,提高程序的灵活性和可靠性。

同时关于Golang的变量和数据类型的介绍和使用,感兴趣的读者可以关注公众号CTO Plus的文章:

nGo语言常量解密:恒定不变的值(const与iota)(附代码示例)

n深入了解Go语言的数据类型

n使用strconv进行Go的 int、float、string类型相互转换:灵活转换数据类型

nGo语言变量的生命周期与作用域

nGo中字符串的遍历技巧:轻松操作文本

nGo语言字符串操作大揭秘:高效处理文本

nGo的流程控制(if、for、switch、goto)全面解析与刨坑

Python专栏
https://blog.csdn.net/zhouruifu2015/category_5742543

欢迎关注公众号CTO Plus,有问题欢迎后台留言交流。

更多精彩,关注我公号,一起学习、成长

CTO Plus

一个有深度和广度的技术圈,技术总结、分享与交流,我们一起学习。 涉及网络安全、C/C++、Python、Go、大前端、云原生、SRE、SDL、DevSecOps、数据库、中间件、FPGA、架构设计等大厂技术。 每天早上8点10分准时发文。

306篇原创内容

公众号

标准库系列-推荐阅读:

推荐阅读:

原文:Python3基础之写给初学者看的变量和数据类型

最后,不少粉丝后台留言问加技术交流群,之前也一直没弄,所以为满足粉丝需求,现建立了一个关于Python相关的技术交流群,加群验证方式必须为本公众号的粉丝,群号如下:

图片

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 作为一个Python初学者,首先要做的是认真阅读和理解Python基础知识,包括变量数据类型、运算符、流程控制语句等。其次,要动手实践,多练习,不断提升自己的编程水平。最后,要学习Python的高级用法,比如函数、类、模块等,以及使用Python进行数据分析、机器学习等领域的实践。 ### 回答2: 作为Python初学者,我给你以下几点建议: 1. 学好基础知识:Python有很多特有的语法和概念,比如缩进、变量数据类型等,确保你理解了这些基础概念,并能够熟练应用。 2. 找到适合的学习资源:有很多免费的教程、书籍和在线课程可以帮助你学习Python。选择适合你学习风格的资源,并且保持一定的学习进度。 3. 多动手实践:学习编程最重要的部分是实践,尝试自己编写代码,解决问题。通过不断实践,你会更好地理解和掌握Python的技巧和概念。 4. 参与编程社区:加入Python的社区,可以学习到其他程序员的经验和见解。你可以参与讨论、提问问题,和其他人共同学习和成长。 5. 解决问题的思路:编程是解决问题的工具,不要只局限于语法和代码。学会思考如何用Python解决问题,并且灵活运用不同的方法。 6. 坚持不懈:编程学习是一个持续的过程,不要期望一蹴而就。保持热情和耐心,在遇到困难时不要轻易放弃,坚持下去。 希望这些建议能够帮助你作为一个Python初学者更好地开始你的学习之旅。祝你好运! ### 回答3: 对于Python初学者,我有几点建议。 首先,要掌握基本的Python语法和概念。学习Python的第一步是理解变量数据类型、条件语句、循环和函数等基本概念。掌握这些基础知识将帮助你建立起对Python编程的基础。 其次,要积极做练习和实践。阅读教程只能帮助你理解语法,但实践是提高编程能力的关键。尽量多写Python代码,解决一些简单的问题,并逐渐挑战更复杂的项目。通过实践,你可以更好地理解Python的运行原理,发现自己在编程中的弱点,并逐步提高自己的编程能力。 此外,要多研究和利用Python社区资源。Python是一门非常受欢迎的编程语言,有着庞大的社区支持和丰富的资源。可以利用在线教程、开源项目和论坛等资源来获取学习材料和解决问题。还可以参加Python的线下活动和交流会议,与其他Python爱好者交流学习经验,拓宽自己的视野。 最后,要保持学习的激情和耐心。学习编程是一个持久的过程,没有捷径可走。因此,要保持耐心和毅力,遇到问题时不要轻易放弃,多寻求帮助和解决方案。记住,只有通过不断学习和实践,才能真正掌握Python编程的技能。 总之,对于Python初学者,掌握基本语法、进行实践、善于利用社区资源,以及保持学习激情和耐心,将有助于你快速提升编程技能,成为一名优秀的Python程序员。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SteveRocket

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值