Python之路Part2--基础知识

变量

变量的定义

变量用来存储数据,是标识符的一种,其命名规则与标识符的命名规则一样,创建变量时会在内存中开辟一个空间,基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中,因此变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
Python中使用等号”=”用来给变量赋值,等号”=”运算符左边是一个变量名,等号”=”运算符右边是存储在变量中的值。

变量的基本形式

变量的基本形式为:

counter = 1 # 赋值整型变量
miles = 1.23 # 浮点型
name = "Chris" # 字符串

变量使用规则

  • Python是动态类型语言, 不需要预先声明变量的类型,变量的类型和值在赋值时将被初始化,即每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
  • Python中的变量赋值不需要类型声明。
  • Python允许同时为多个变量赋相同值,例如:a=b=c=1(三个变量被分配到相同的内存空间上)。
  • Python允许同时为多个变量赋不通值,例如:a, b, c = 1, 2.5, “Chris”
  • Python 也支持增量赋值,也就是运算符和等号合并在一起,例如:n * = 10(n=n*10)
  • Python不支持自增和自减运算符,这是因为+和-也是单目运算符,Python会将–n解释为-(-n)从而得到n,同样++n的结果也是n。

变量命名规则:

  • 变量名只能是 字母、数字或下划线的任意组合,且第一个字符不能是数字
  • 变量名是大小写敏感的。也就是说变量 “cAsE” 与 “CaSe” 是两个不同的变量。
  • 关键字不能声明为变量名
    [‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

变量赋值实例

变量赋值实例1:

name = 'Chris'
age = 28
job = 'engineer'
age += 1
miles = 1000.0
kilometers = 1.609 * miles
print("%s is %d,he is an %s." % (name,age,job))
print("%f miles is the same as %f km" % (miles, kilometers))
>>> Chris is 29,he is an engineer.
>>> 1000.000000 miles is the same as 1609.000000 km

变量赋值实例2:

name1 = "Chris"
name2 = name1
print(name1,name2)

name1 = "Jacky"
print(name1,name2)

>>> Chris,Chris 
>>> Jacky,Chris #name2的值不会随着name1的改变而改变

字符编码

ASCII码

Python解释器在加载.py文件中的代码时,默认会使用ASCII码对内容进行编码。
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示(一个字节),即2**8=256-1,所以ASCII码最多只能表示 255 个符号。

这里写图片描述

中文编码

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的BIG5。

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号,汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768,其中有5个空位是D7FA-D7FE。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区,汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准,该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求,所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理,区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030,不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

Unicode编码

由于ASCII码无法将世界上的各种文字和符号全部表示,因此就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码,Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536(注:此处说的的是最少2个字节,可能更多),Unicode分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节)。

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ASCII码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存。

这里写图片描述

字符编码使用规则

  • Python2.x中默认使用ASCII码进行编码,Python3.x中默认使用utf-8码进行编码。
  • Python3.x中encode在转码的同时还会把string变成bytes类型,decode在解码的同时还会把bytes变回string

字符编码实例

字符编码实例:
Python解释器在加载 .py 文件中的中文代码时,如果使用ASCII码进行编码,程序将报错,可在代码前添加coding语句指定编码

print("你好,世界!")
>>> SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared;
# -*- coding: utf-8 -*-
print("你好,世界!")
>>> 你好,世界!

注释

注释可标注代码运行的逻辑和原因,对读程序的人有很大辅助理解用处。

变量的基本形式

变量的基本形式为:

当行注释:

# 注释内容

多行注释:

""" 
  注释内容 
"""
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值