第三节 简单的Python数据类型、变量赋值及输入输出

Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装、WINDOWS系列Python编辑和运行界面等内,这节就开始真正的语言学习了。本节介绍的内容是为了大家尽快开始使用Python编写简单的代码,是Python编程最基本的内容。

一、 Python的基础数据类型

学语言首先要知道语言的数据类型,Python数据类型比较多,本节只引入最基础的字符串(str)和整数(int)、浮点数(float)三个类型,具体内容及其他类型后续章节再详细介绍。

这里简单介绍一下str类型,这个类型与c语言的字符串类型差不多,但有以下区别:

1、 字符串类型的值可以使用单引号、双引号、三引号(三个单引号)进行标记,其定义的变量都是字符串,但三个的使用上还是有些区别,这个在后面详细介绍字符串类型时再细讲;

2、 Python的字符串中一旦赋值后,其中的每个元素不允许再修改,就是字符串是只读的;

3、 Python的字符串支持加法和乘法,加法就是将两个字符串连接起来,但两个参与运算的字符串本身不会改变,乘法将字符串s乘以n时,就是将s复制n次,但原字符串不会改变;

4、 两者使用的函数有差别,具体后面细讲;

5、 Python中没有c语言等的char(字符)类型。

二、 Python的变量及赋值

Python变量无需预先定义,只需要在使用前进行赋值就可以,Python会根据赋值确认变量的类型。这是Python与C语言差异比较大的地方。Python的赋值语句很简单:

变量=赋值表达式

举例:

n=1

s=’This is a test’

f = 2.0

n、s、f这三个变量无需预先定义,在赋值后自动变为了int、str、float类型。

这三个变量的赋值还有另外一种方法:

n,s,f=1,‘this is a test’,2.0

(n,s,f)=(2,‘ss’,3.0)

(n,s,f)=2,‘ss’,3.0

n,s,f=(4,‘asas’,3.2)

这可以一次给多个变量赋值,这里用到一个复杂数据类型:tuple(元组),四个赋值语句的效果是等价的,后面介绍元组的时候再详细解释。

Python的赋值语句与C语言的差别如下:

1、 支持元组赋值方式;

2、 不支持c语言多个语句一行以逗号分隔的多个变量赋值语法(如a=1,b=2,c=3);

3、 语句的最后无需分号结束,所有Python的语句结尾都无需分号,但如果加了分号也可以;

4、 Python赋值语句能确认变量的类型,而不是C语言中先定义类型后赋值;

5、 如果一个变量多次赋值不同类型的值,其类型会随着赋值语句情况的改变而改变,而C语言是一旦定义了类型就不能改变;

6、 Python对很多类型可以直接进行强制类型转换,方法是在需要转换的变量或常量用圆括号括起来并在括号前加需要转换到的类型,如n=int(’123’)。哪些能转哪些不能转,转了后的值怎么变化在后面章节再详细介绍。

这些特性是不是很神奇!

三、 Python的简单输入输出

1、Python的界面接收输入简单函数为input、输出为print。其调用语法如下:

str input(提示字符串)

返回一个字符串类型,如果需要将其转换 其他类型,则需要强制类型转换。

如:

name=input(‘Please input your name:’)

age=int(input(“Input your age:”))

sex=input(‘’’请输入你的性别:’’’)

注意:上面的提示语用了三种不同的引号形式,在这三个语句中它们的效果是一样的。

2、Python的界面输出简单函数为print,其调用方法与c语言的printf类似,但在变量使用的格式化字符串时有区别。其调用语法如下:

print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

具体语法在后面章节再详细介绍。

举例:

print(‘Hello,world!’)

print(‘age=’+str(age))

print(‘age=%d’%age)

print(‘name=%s,age=%d’%(name,age))

注意后面2种方式在C语言中是不一样的,第3、4种方式并不是由print函数决定的,而是字符串变量格式化确认的,它们与下面语句效果等价。

s1=‘age=%d’%age

s2=‘name=%s,age=%d’%(name,age)

print(s1)

print(s2)

具体内容到字符串介绍章节再细讲。

有了前面介绍的内容,大家就可以编写简单的Python代码了。

举例:编写一个要求用户输入姓名,随后打印欢迎的语句的代码

代码就两行:

name=input(‘请输入您的姓名:’)

print(‘欢迎’+name+‘来到Python的世界!’)

执行方式,一是直接在交互模式下分两次输入,如下:

name=input(‘请输入您的姓名:’)

请输入您的姓名:张三

print(‘欢迎’+name+‘来到Python的世界’)

欢迎张三来到Python的世界

新开一个文件保存以上两行代码(注意:每行代码前不能有空格,否则会报错。相关内容下节再解释)。如果保存文件,按F5执行,运行结果如下:

请输入您的姓名:xiaomin

欢迎xiaomin来到Python的世界

第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出的更多相关文章

  1. 第2章 Python编程基础知识目录

    第2.1节 简单的Python数据类型.变量赋值及输入输出 第2.2节 Python的语句 第2.3节 Python运算符大全 老猿Python,跟老猿学Python! 博客地址:https://bl ...

  2. python编程基础知识—字典

    字典 在python中,字典是一系列键-值对,每个键都与一个值相关联,可使用键来访问相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典,即可将任何python对象用在字典中的值. 在pytho ...

  3. python编程基础知识—列表(一)

    1 列表 用[]来表示列表,并用逗号分隔其中的元素.如: B=['trek','cannondale','redline','specialized'] print(B) ['trek', 'cann ...

  4. Python编程-基础知识-python项目包和文件的管理以及如何引用相对路径的包和模块

    目录 结构: core |____ __init__.py |____ basic |____ __init__.py |____ database           |____ __init__. ...

  5. python编程基础知识—列表(二)

    3操作列表 3.1 遍历整个列表 使用for循环 cars = ['bmw','audi','toyota','Jeep'] for i in cars: print(i) bmw audi toyo ...

  6. Python编程-基础知识-List

    Negative Indexes(负索引) >>> spam = ['cat', 'bat', 'rat', 'elephant'] >>> spam[-1] 'e ...

  7. Python编程-基础知识-条件判断

    1. 简单的if/else条件判断 judge_flow.py name = input("Please input name: ") if name == 'master': p ...

  8. 16第一章 ASP.Net编程基础知识

    第一章        ASP.Net编程基础知识 第一章        ASP.Net编程基础知识 本章首先介绍用ASP.Net技术编制服务器端动态网页所需的网络和HTML标记语言方面的有关知识.然后 ...

  9. 【RL-TCPnet网络教程】第18章 BSD Sockets基础知识

    第18章      BSD Sockets基础知识 本章节为大家讲解BSD Sockets,需要大家对BSD Sockets有个基础的认识,方便后面章节Socket实战操作. (本章的知识点主要整理自 ...

随机推荐

  1. 转:Microsoft Dynamics AX内部版本号概述

    Overview of Microsoft Dynamics AX build numbers 转自:https://community.dynamics.com/ax/b/axsupport/arc ...

  2. dict和list

    一.字典(Dictionary) 1.什么是 dict(字典) 上一章节,我们学习了列表(List) 和 元组(tuple) 来表示有序集合. 而我们在讲列表(list)的时候,我们用了列表(list ...

  3. spark内存管理这一篇就够了

    1. 堆内和堆外内存规划 1.1 堆内内存 堆内内存的大小,由 Spark 应用程序启动时的 –executor-memory 或 spark.executor.memory 参数配置.Executo ...

  4. mybatis拦截器 修改mybatis返回结果集中的字段的值

    项目中使用了shardingJDBC,业务库做了分库,公共库没在一起,所以导致做码值转换的时候,需要在实现类里面做转码,重复的代码量大,故考虑用mybatis拦截器,将码值转换后再做返回给实现类.   ...

  5. [tmp]__URL

    常用排序算法稳定性.时间复杂度分析(转,有改动) http://www.cnblogs.com/nannanITeye/archive/2013/04/11/3013737.html http://w ...

  6. tcp 客户端 发送syn

    简介 sys_connect->inet_stream_connect->inet_stream_connect->tcp_v4_connect->tcp_connect对于t ...

  7. python之ftp与paramiko与hasattr与getattr

    为了方便树莓派和电脑上相互传输数据文件的传输.也就是上传和下载文件,我自己就写了一个ftp 主要是运用到hasattr与getattr 先看一下服务器上的程序吧 # _*_coding:utf-8_* ...

  8. HDU100题简要题解(2030~2039)

    HDU2030 汉字统计 题目链接 Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output ...

  9. 讲武德,你们要的高性能日志工具 Log4j2,来了

    Log4j 介绍过了,SLF4J 介绍过了,Logback 也介绍过了,你以为日志系列的文章就到此终结了? 不不不,我告诉你,还有一个 Log4j 2,顾名思义,它就是 Log4j 的升级版,就好像手 ...

  10. phpstorm 远程调式 php

    https://cloud.tencent.com/developer/article/1561767 超时设置 fastcgi: ``` 1. apache module的情况下: 修改配置文件 h ...