变量与数据类型

变量

编程语言中为了能够更好的处理数据,都需要使用一些变量。Python 语言的变量可以是各种不同的数据类型,使用变量的时候不需要声明直接使用就可以。

变量命名规则

Python 3 中的变量命名有一定要求:

  1. 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。

  2. 2. 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greetingmessage会引发错误。

  3. 3. 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,

关键字指的是为 Python 语言预留的单词,例如 import。

我们可以在交互式环境下使用 keyword 模块查看关键字:

xinsz08@xinsz08:~$ python3

Python 3.5.2 (default, Nov 17 2016, 17:05:23)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or  "license" for more information.

>>> import keyword

>>> keyword.kwlist

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class',  'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from',  'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or',  'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

我们看看使用关键字来定义会出现什么情况

>>> None=1

File "<stdin>",  line 1

SyntaxError: can't assign to keyword

另外需要注意的是: 慎用小写字母I和大写字母O,因为可能被人看成1和0 ,不过ubuntu还是蛮好区分的

一般在公司我们要求变量名要简短而且具有描述性,比如name比n好,name_length 要比length_of_persons_name好

基本数据类型

Python 3 中,包括以下几种基本数据类型:

  1. 整数:例如 100,-200,0 等

  2. 布尔数:True 或 False

  3. 浮点数:小数,例如     1.5,2.5

  4. None:空值,注意与0是不同的,可以理解为未定义的值。

除了这四种之外,还有一些其他不常用的类型,例如复数,但因为用的比较少,这里不做过多介绍。

使用变量及打印

在XFce 终端中输入 python3,进入交互环境,尝试输入如下的代码,并理解输出的含义,注意执行后不要退出,需要继续下一节的实验内容:

>>> a = 10

>>> b = 10.6

>>> c = True

>>> d = None

>>> print(a,b,c,d)

10 10.6 True None

>>> print(type(a),a)

<class 'int'> 10

>>> print(type(b),b)

<class 'float'> 10.6

>>> print(type(c),c)

<class 'bool'> True

>>> print(type(d),d)

<class 'NoneType'> None

在上述的代码中,type 是 Python 3 内置的一个函数,用来显示变量的数据类型

运算

继续在上一节中的 python 3 的交互环境中执行下面的操作,理解 Python 3 中的数学运算:

e = a + b

print(e)

f = b/a

print(f)

g = b - a

print(g)

h = b * a

print(h)

可以看到整数和浮点数的混合计算中,整数会被转换为浮点数。

除了数学运算之外,还有 and 和 or 的逻辑运算:

True and False

True or False

c and False

c or False

and 表示与运算,只有两个运算值都是 True 才返回 True,而 or 表示或运算,有一个为 True 则返回 True。

字符串

Python 3 中的字符串可以使用双引号或单引号标示,如果字符串中出现引号,则可以使用 \来去除引号标示字符串的特殊作用。

几种字符串的表示方法:

>>> str1 ="hello"

>>> str2 = 'xinsz08'

>>> str3 = 'hello.\'xinsz08\''

>>> str4 = "hello,'xinsz08'"

>>> str5 = 'hello,"xinszou"'

注意 str4 和 str5 都没有使用 \,但仍然可以在字符串中使用引号,相信你已经发现了原因。

如果需要输入多行字符串,又该如何处理呢?可以尝试使用 """ 三个双引号:

str6 = """ hello,

xinsz08 """

支持使用 + 连接字符串:

str1 + ' ' + str2

字符串可以使用数字进行索引,数字0为第一个字符,依次类推。数字 -1 为最后一个字符,使用冒号进行切片:

str1

str1[0]

str1[1]

str1[-1]

str1[-2]

str1[:2]

str1[3:]

切片的位置很容易让人迷惑,所以需要多尝试一些切片的方式来理解。

Python 3 中的内置函数 len() 可以获得字符串包括的字符数量:

len(str2)

补充:

  1. 使用方法修改字符串的大小写

xinsz08@xinsz08:~$vim name.py

xinsz08@xinsz08:~$cat name.py

name="xinsz08love python"

print(name.title())

xinsz08@xinsz08:~$python3 name.py

Xinsz08Love Python

可以看到每个单词的第一个字母都变成了大写

如果是全部变为大写或者全部变为小写呢

name.upper()  全部变为大写

name.lower()全部变为小写

xinsz08@xinsz08:~$vim name.py

xinsz08@xinsz08:~$cat name.py

name="xinsz08love python"

print(name.title())

print(name.upper())

print(name.lower())

xinsz08@xinsz08:~$python3 name.py

Xinsz08Love Python

XINSZ08LOVE PYTHON  全部大写

xinsz08love python      全部小写

  1. python之禅

编程语言Perl曾在互联网领域长期占据着统治地位,早期的大多数交互式网站使用的都是Perl脚本。彼时,“解决问题的办法有多个”被Perl社区奉为座右铭。

这种理念一度深受大家 的喜爱,因为这种语言固有的灵活性使得大多数问题都有很多不同的解决之道。在开发项目期间,这种灵活性是可以接受的,但大家最终认识到,过于强调灵活性会导致大型项目难以维护:要通过研究代码搞清楚当时解决复杂问题的人是怎么想的,既困难又麻烦,还会耗费大量的时间。

经验丰富的程序员倡导尽可能避繁就简。Python社区的理念都包含在TimPeters撰写的“Python之禅”中。要获悉这些有关编写优秀Python代码的指导原则,只需在解释器中执行命 令import this 。

>>>import this

The Zenof Python, by Tim Peters

Beautifulis better than ugly.

Explicitis better than implicit.

Simple isbetter than complex.

Complexis better than complicated.

Flat isbetter than nested.

Sparse isbetter than dense.

Readabilitycounts.

Specialcases aren't special enough to break the rules.

Althoughpracticality beats purity.

Errorsshould never pass silently.

Unlessexplicitly silenced.

In theface of ambiguity, refuse the temptation to guess.

Thereshould be one-- and preferably only one --obvious way to do it.

Althoughthat way may not be obvious at first unless you're Dutch.

Now isbetter than never.

Althoughnever is often better than *right* now.

If theimplementation is hard to explain, it's a bad idea.

If theimplementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more ofthose!

总结:

  1. 如何使用变量

  2. 如何创建变量

  3. 字符串是什么

  4. 使用全大写,小写,形式显示字符串

python实战系列之python变量相关推荐

  1. Python实战1-9例:变量、运算、字符串等综合训练

    笔者:风起怨江南 出处:https://blog.csdn.net/JackMengJin 笔者原创,文章欢迎转载,转载请注明出处.如果喜欢请点赞+关注,感谢支持! <Python实战系列> ...

  2. Python 实战系列-微信或网页远程控制电脑

    Python 实战系列-微信或网页远程控制电脑 本系列课程为Python实战系列课程:使用微信控制电脑,使用Python的Web框架Flask搭建网页, 并使用网页控制电脑:使用wxPython编写图 ...

  3. Python实战|如何使用Python调用大华SDK实现视频监控

    Python实战|如何使用Python调用大华SDK实现视频监控 在当今社会,安全问题越来越受到人们的关注.而视频监控作为一种非常有效的手段,越来越得到人们的重视和使用.大华科技是国内著名的视频监控设 ...

  4. python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 全栈工程师开发手册 (作者:陈玓玏) python教程全解 白手起家,从头开启python的 ...

  5. python基础系列教程——python面向对象编程全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python面向对象编程全解. 面向对象技术简介 一个类占有一个独立的空间,类中的属性叫做类变量,类中的函数,叫做类的方法. 类(Class) ...

  6. python基础系列教程——python基础语法全解

    点击此处​​​​​​​ python教程全解 了解python 1.  了解Python Python是一种解释型(这意味着开发过程中没有了编译这个环节).面向对象(支持面向对象的风格或代码封装在对象 ...

  7. python应用系列教程——python使用SocketServer实现网络服务器,socket实现客户端

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python使用SocketServer实现网络服务器 SocketServer简化了网络服务器的编写.在进行socket创建时,使用Sock ...

  8. python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python中ftp操作: ftp=FTP() #设置变量 ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 ftp ...

  9. 【Python 实战基础】Python 中 PyQt6 的 QPen 介绍

    目录 一.实战场景 二.主要知识点 文件读写 基础语法 PyQt6 QPen 三.菜鸟实战 一.实战场景 实战场景:Python 中 PyQt6 的 QPen 介绍 二.主要知识点 文件读写 基础语法 ...

最新文章

  1. C_str的入门级notes
  2. 使用 fcntl 函数 获取,设置文件的状态标志
  3. docker centos7容器 安装ssh服务
  4. 什么?你还不了解JVM !
  5. android+5.0+ble,android5.0(Lollipop) BLE Peripheral牛刀小试(示例代码)
  6. Memcached安装与配置
  7. php常见错误及总结,PHP常见的错误级别总结
  8. [Linux]NIS: 集中化认证服务
  9. 《Oracle高性能自动化运维》一一3.3 Redo产生场景
  10. 时间频率科学数据管理控制与应用
  11. ORACLE 10G rman 备份脚本
  12. python抓包教程_Python Charles抓包配置实现流程图解
  13. spring 核心技术
  14. 深度学习 --- 卷积神经网络CNN(LeNet-5网络学习算法详解)
  15. 论文阅读-可变形卷积网络:Deformable Convolutional Networks
  16. 安装惠普打印机驱动HP LaserJet P1108
  17. 小米路由器青春版刷入其他固件
  18. 【多元函数微分学】易错点总结
  19. 中小型局域网上网管理组网方案
  20. 和Ajax斗志斗勇的日子

热门文章

  1. python制作表白神器_python3实现表白神器
  2. 数据挖掘-Task5:模型融合
  3. 【glib】Key-value文件解析器
  4. 知道Dubbo性能为什么这么强?看完你就懂了!
  5. 区块链农产品溯源系统 北京鸿蒙,区块链特色农产品溯源平台解决方案
  6. 如何学习AUTOSAR
  7. 从TCP报文理解三次握手
  8. 【Python从零到壹】用Python实现植物大战僵尸里的面向对象
  9. html网页设计主题大全,网页设计HTML大全(珍藏版)
  10. intreweb 在Http.sys 部署