python整型变量化ascii,Python基础系列-语法、数据类型、变量、编码

Python基础系列----语法、数据类型、变量、编码

基本语法

Python的语法比较简单,采用缩进的方式。

145111372.gif

145111373.gif

#print absolute value of an integer:

a = 100

if a >=0:print(a)else:print(-a)

View Code

在上面代码中,以‘# ’是注释的标识符,可以记录当前代码所代表的意义,解释器会自动忽略这部分内容。

当语句以‘:’结尾时,缩进语句视为代码块。

在Python中,通常我们以4个空格的缩进来进行区分。由于个人习惯原因,可以在每句结束之后加一个‘;’号。通常在Python中,默认以换行为新的一行,若想在一行输入多句语句,一定要加‘;’,否则报错。由于Python采用缩进的语法,在你复制,粘贴语句时,一定要注意,重新检查当前代码的缩进格式。IDE很难格式化代码。

注意:在Python中,对大小写十分敏感,如果大小写错误,会报错。

数据类型

数据类型:一个值的集合以及定义在这个值集上的一组操作

Python提供的基本数据类型主要有:布尔类型、整型、浮点型、字符串、空值、列表、元组、集合、字典等等。在这里主要介绍布尔类型、整型、浮点型、字符串、空值,其他的后续介绍。

布尔类型

在Python中,None、任何数值中的0、空字符串、空元组、空列表、空字典都被当做false,还要自定义的 方法返回0或者false,则其实例当做False,其他对象均为Ture。

145111372.gif

145111373.gif

>>>True

True>>>False

False>>>1>0

True>>>1>2False

View Code

布尔类型只有两个值,不是true,就是false。布尔值可以进行运算,主要包括and,or,not

a.and  与运算,只有所有都为true,返回结果为true

b.or    或运算,只要其中有一个为true,返回结果为true

c.not  是非运算,它是一个但亩运算符,把true变为false,false变为true

145111372.gif

145111373.gif

>>>True andTrue

True>>>True andFalse

False>>>False andFalse

False>>>True or False orTrue

True>>>notTrue

False>>>notFalse

True

View Code

整形

在Python内部对整数的处理分为普通整数和长整数,普通整数长度为机器位长,通常都是32位,超过这个范围的整数就自动当长整数处理,而长整数的范围几乎完全没限制。例如:1,2,-1,1000000

浮点型

Python的浮点数就是数学中的小数,类似C#语言中的double。在运算中,整数与浮点数运算的结果是浮点数,浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。

字符串

Python字符串即可以用单引号也可以用双引号括起来,甚至还可以用三引号括起来。例如:‘abc’,"abc",'''I'm OK'''等。''或""本身只是一种表示方式,不是字符串的一部分。

如果字符串内部既包含'又包含",可以使用转义符\来标识。转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\。

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义.如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容

空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

变量

变量名必须是大小写英文、数字和_的组合,且不能用数字开头.变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错

a = 'ABC'b=a

a= 'XYZ'

print(b)

执行a = 'ABC',解释器创建了字符串'ABC'和变量a,并把a指向'ABC':

145111374.png

执行b = a,解释器创建了变量b,并把b指向a指向的字符串'ABC':

145111375.png

执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:

145111376.png

最后打印变量b,输出值为‘ABC’。

编码

在创建Python文件时,有些IDE会在文件最上方有这样一段代码

#-*- coding: UTF-8 -*-

这段代码表示,当前文件以utf-8的格式编码。有时,在浏览网页,或者打开文件时,发现全部是一堆看不懂的字符串,这就是乱码,也是由文件编码导致的。由于每个国家的语言不同,各国有各国的标准,如果多种语言的文本混合其中,这时就会导致乱码。因此为了将所有语言统一到一套编码规范中,产生了Unicode,这样就不会再存在乱码的情况了。 Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。在Python中,我们通常都需要指定当前文件具体的一种编码格式,避免后期产品乱码的情况。

ASCII编码和Unicode编码的区别:

ASCII编码是1个字节,而Unicode编码通常是2个字节。

字母A用ASCII编码是十进制的65,二进制的01000001;

字符0用ASCII编码是十进制的48,二进制的00110000,注意字符'0'和整数0是不同的;

汉字中已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的01001110 00101101。

如果统一成Unicode编码,乱码问题从此消失了。但是,如果你写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。 所以,本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间

字符

ASCIIUnicodeUTF-8

A

01000001

00000000 01000001

01000001

x

01001110 00101101

11100100 10111000 10101101

计算机系统通用的字符编码工作方式: 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

在Python中, ord()函数获取字符的整数表示; chr()函数把编码转换为对应的字符。

>>> ord('A')65

>>> ord('中')20013

>>> chr(66)'B'

>>> chr(25991)'文'

由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。对bytes类型的数据用带b前缀的单引号或双引号表示:x = b'ABC'。要注意区分'ABC'和b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节

以Unicode表示的str通过encode()方法可以编码为指定的bytes。要把bytes变为str,就需要用decode()方法

145111372.gif

145111373.gif

>>> 'ABC'.encode('ascii')

b'ABC'

>>> '中文'.encode('utf-8')

b'\xe4\xb8\xad\xe6\x96\x87'

View Code

Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行。#!/usr/bin/env python3# -*- coding: utf-8 -*-。第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

格式化

采用的格式化方式和C语言是一致的,用%实现。

>>> 'Hello, %s' % 'world''Hello, world'>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)'Hi, Michael, you have $1000000.'

%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略

常见占位符:%d(整数),%f(浮点数),%s(字符串),%x(十六进制整数)

格式化整数和浮点数还可以指定是否补0和整数与小数的位数

>>> '%2d-%02d' % (3, 1)'3-01'>>> '%.2f' % 3.1415926'3.14'

有些时候,字符串里面的%是一个普通字符,这个时候就需要转义,用%%来表示一个%

>>> 'growth rate: %d %%' % 7'growth rate: 7 %'

写在最后

以上就是Python的一些基本语法、数据类型、编码知识,有存在错误或不足的地方,及时沟通改正。下篇的时间可能要稍微朝后推迟了,周末需要去做个身体检查,也希望大家的身体棒棒的!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值