二进制与字符编码 标识符和保留字 变量与数据类型 注释

本文介绍了Python中的字符编码,如ASCII、GB18030、Unicode和UTF-8,并探讨了不同编码的特点。同时,详细阐述了Python中的数据类型,包括整数、浮点数、布尔和字符串,以及变量的概念和类型转换。此外,还讨论了注释在代码中的作用和不同类型注释的使用。
摘要由CSDN通过智能技术生成

一、二进制与字符编码
1.ASCII表,一个位置有两种状态,‘A’使用了8个位(置)表示:01000001,8个位置有256种状态,对应256种符号
8位(bit)=1字节(byte),1024字节(byte)=1千字节(kB),1024千字节(kB)=1兆字节(MB),1024兆字节(MB)=1吉字节(GB),1024吉字节(GB)=1太字节(TB)
2.进制转换
键盘win+r打开小窗,输入calc,选择程序员,输入数字就可以转换了
3.字符编码
中国使用的是GB18030(每个字符可以是1,2或者4个字节组成)
Unicode几乎包含了全世界的字符(每个字符用2个字符表示)
UTH-8规定英文用1个字节表示,中文用3个字节表示

#‘乘’在汉字编码表中4e50行第8列,用计算器输入十六进制4e58,得出十进制20056,二进制100111001011000
print(chr(100111001011000))#报错 OverflowError: Python int too large to convert to C long
print(chr(0b100111001011000))#显示:乘
print(ord('乘'))#显示:20056

二、标识符和保留字
1.保留字:有一些单词被赋予了特定的含义,这些单词在给任何对象起名的时候都不能用

import keyword
print(keyword.kwlist)
#显示:['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']

2.标识符:变量,函数,类,模块和其它对象起的名字
规则:可以使用字母,数字,下划线
不能以数字开头
不能是保留字
要严格区分大小写
三、变量与数据类型
1.变量:其值可以改变的量
变量是内存中一个带标签的盒子,把需要的数据放进去

name='玛丽亚' #name是变量名、=是赋值运算符、玛丽亚是值
print(name)#显示:玛丽亚

2.变量由三部分组成
(1)标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取
(2)类型:表示对象的数据类型,使用内置函数type(obj)来获取
(3)值:表示对象所存储的具体数据,使用print(obj)可以将值进行打印输出

name下存储的是标识

print('标识',id(name))#显示:标识 1938578893680
print('类型',type(name))#显示:类型 <class 'str'>
print('值',name)#显示:值 玛丽亚

3.变量的多次赋值
变量多次赋值之后,变量名会指向新的空间

name='玛丽亚' 
name='楚留冰'
print(name)#显示:楚留冰

4.数据类型
常用的数据类型:
(1)整数类型——int——98
英文为integer,可以表示正数、负数和零
十进制—默认的进制,基本数0,1,2,3,4,5,6,7,8,9
二进制—以0b开头,基本数0,1
八进制—以0o开头,基本数0,1,2,3,4,5,6,7
十六进制—以0x开头,基本数0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

n1=90
n2=-76
n3=0
print(n1,type(n1))#显示:90 <class 'int'>
print('十进制',118)#显示:十进制 118
print('二进制',0b10101111)#显示:二进制 175
print('八进制',0o176)#显示:八进制 126
print('十六进制',0x1EAF)#显示:十六进制 7855

(2)浮点数类型——float——3.14159
浮点数由整数部分和小数部分组成
浮点数存储具有不精确性,当使用浮点数进行计算时,可能会出现小数位数不确定的情况

print(1.1+2.2)#显示:3.3000000000000003
print(1.1+2.1)#显示:3.2

可以导入模块decimal解决该问题

from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))#显示:3.3

(3)布尔类型——bool——True,Flase
用来表示真或假的值,True表示真,Flase表示假
布尔值可以转化为整数True—>1,Flase—>0

print(True+1)#显示:2
print(False+1)#显示:1

(4)字符串类型——str——‘人生苦短,我用python’
字符串类型又称为不可变的字符序列,可以用单引号’'双引号"“或三引号”"" “”"来定义,
单引号和双引号定义的字符串必须在一行,三引号定义的字符串可以分布在连续的多行

str1='人生苦短,我用Python'
str2="人生苦短,我用Python"
str3="""人生苦短,
我用Python"""
str4='''人生苦短,
我用Python'''
print(str1,type(str1))#显示:人生苦短,我用Python <class 'str'>
print(str2,type(str2))#显示:人生苦短,我用Python <class 'str'>
print(str3,type(str3))#显示:人生苦短,
                      #     我用Python <class 'str'>
print(str4,type(str4))#显示:人生苦短,
                      #     我用Python <class 'str'>

5.数据类型转换(将不同数据类型的数据拼接在一起)
数据类型转换的函数
str()将其他数据类型转成字符串,也可用引号转换。如str(123)或’123’
int()将其他数据类型转成整数,文字类和小数类字符串无法转化成整数,浮点数转化成整数要抹零取整,不会四舍五入。如int(‘123’)或int(9.8)
float()将其他数据类型转成浮点数,文字类无法转化成浮点数,整数转化成浮点数,末尾是.0。如float(‘9.9’)或float(9)

name='张三'
age=20
print(type(name),type(age))
#print('我叫'+name+'今年'+age+'岁')#报错TypeError: can only concatenate str (not "int") to str意思是不能连接整数类和字符串
print('我叫'+name+'今年'+str(age)+'岁')#显示:我叫张三今年20岁
a=10
b=198.8
c=False
d='128'
e='76.75'
f='hello我爱你'
g=76.7
print(type(a),type(b),type(c),type(d),type(e),type(f))
print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(c),)
print(int(b),int(c),int(d),int(g),type(int(b)),type(int(c)),type(int(d)),type(int(g)))
print(float(a),float(d),float(c),float(e),type(float(a)),type(float(d)),type(float(c)),type(float(e)))#字符串中的数据如果是是非数字串,则不允许转换

在这里插入图片描述
四、注释
注释是在代码中对代码的功能进行解释说明的标注性文字,可以提高代码的可读性,注释的内容会被python解释器忽略
通常包括三种类型的注释
单行注释:以#开头,直到换行结束
多行注释:没有单独的多行注释标记,将一对三引号之间的代码称为多行注释
中文编码声明注释:在文件开头加上中文声明注释,用以指定源码文件的编码格式(用记事本打开程序,点击文件->另存为,可以看到编码是UTF-8,是我们python的默认存储编码,在程序的第一行写上#coding:gbk,再用记事本打开程序,点击文件->另存为,可以看到编码是ANSI,第一行改为#coding:utf-8可以改回默认存储编码)

#单行注释
'''嘿嘿,
 我是
 多行注释'''
#coding:gbk
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值