1、执行 Python 脚本的两种方式
脚本:脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。
、
关于编译器与解释器的区别:https://blog.csdn.net/touzani/article/details/1625760
从Hello World 谈Python运行原理:https://blog.csdn.net/sxb0841901116/article/details/21418885
2、简述位、字节的关系
位:"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。
字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。
简单的说
字(word) 占2字节
字节(byte) 占8位
位(bit) 最小的单位
比特就是 bit ,就是位。
1字=2字节
1字节=8位
1字=2*8=16位
3、简述 a sc ii、 u n i c o de、 u t f-8、 gbk 的关系
ASCII:(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
Unicode:(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
UTF-8:(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
GBK :是又一个汉字编码标准,全称《汉字内码扩展规范》(GBK),英文名称 Chinese Internal Code Specification ,中华人民共和国全国信息技术标准化技术委员会 1995 年 12 月 1 日制订,国家技术监督局标准化司、电子工业部科技与质量监督司 1995 年 12 月 15 日联合以技监标函 [1995] 229 号文件的形式,将它确定为技术规范指导性文件,发布和实施。这一版的 GBK 规范为 1.0 版。GB 即“国标”,K 是“扩展”的汉语拼音第一个字母。
a.Unicode 和 UTF-8 有何区别:
https://www.zhihu.com/question/23374078
b.GBK和UTF-8是什么,它们有什么区别:
GBK包含中日韩字符集合,他能完美支持简体中文和英文,但如果在IE没有安装简体中文支持的电脑上阅读GBK编码的网页,中文会变成乱码,例 如英国人浏览您的网站,电脑全是火星文,UTF-8则包含了大部分文字的编码,可以表达更多的语言,使用UTF-8一个最大的好处就是其他地区的用 户(美国、印度、台湾)无需安装简体中文支持,就能正常看您的文字,并且不会出现乱码,通常网络传输也是使用UTF-8编码。
- unicode:包含所有国家的字符编码,
- utf-8可变长的字符编码,英文表示一个字节,中文(繁文)表示3个字节
- ascii美国标志信息交换代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,一个字符占一个字节
- gbk全称《汉字内码扩展规范》,一个字符占用两个字节
4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数
- 在utf-8中,一个中文字符占用3个字节
- 在gbk中一个汉字占用2个字节
- 李杰 = utf-8(6字节)=48
- 李杰 = gbk(4字节)=32
5、Pyhton 单行注释和多行注释分别用什么?
- 单行注释 #被注释内容 :井号(#)常被用作单行注释符号,在代码中使用#时,它右边的任何数据都会被忽略,当做是注释。
print 1 #输出1
#号右边的内容在执行的时候是不会被输出的。
- 多行注释 ‘‘‘被注释内容‘‘‘:多行注释是用三引号‘‘‘ ‘‘‘包含的。
6、声明变量注意事项有那些?
声明变量:简单的说就是避免编程时产生不必要的错误,一位不同类型变量的存储格式和长度都不同,所以字节长度不同,声明变量可以让计算机知道你更需要用什么样的格式存储变量,从而高效稳定地运行程序。
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
- [‘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‘]
- 最好不好和python内置的东西重复
7、如有一下变量n1=5,请使用int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
n1=5 v = int(n1.bit_length()) print(v)
执行结果:
3
8.布尔值分别有什么?
- 一个布尔值只有True、False两种值,要么是True,要么是False
- 可以用0或1表示
a = "alex" b = a.capitalize() print(a) print(b)
执行结果:
alex
Alex
10、写代码,有如下变量,请按照要求实现每个功能
name="aleX"
a.移除 name 变量对应的值两边的空格,并输入移除后的内容
print(name.strip()) #aleX
b.判断 name 变量对应的值是否以"al"开头,并输出结果
print(name.startswith(‘al‘)) #False
c.判断 name 变量对应的值是否以"X"结尾,并输出结果
print(name.endswith(‘X‘)) #False
d.将 name 变量对应的值中的“l”替换为“p”,并输出结果
print(name.replace(‘l‘,‘p‘)) #aleX
e.将 name 变量对应的值根据“l”分割,并输出结果。
print(name.split(‘l‘)) #[‘a‘, ‘eX‘]
f.请问,上一题e分割之后得到值是什么类型(可选)
print(type(name.split(‘l‘))) #<class ‘list‘>
g.将 name 变量对应的值变大写,并输出结果
print(name.upper()) #ALEX
h.将 name 变量对应的值变小写,并输出结果
print(name.lower()) #alex
i.请输出 name 变量对应的值的第 2 个字符?
print(name[1:2]) #l
j.请输出 name 变量对应的值的前 3 个字符?
print(name[:3]) #ale
k.请输出 name 变量对应的值的后 2 个字符?
print(name[-2:]) #eX
l.请输出 name 变量对应的值中“e”所在索引位置?
print(name.index(‘e‘)) #2
m.获取子序列,仅不包含后一个字符。如:oldboy则获取oldbo;root则获取roo
字符?
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #Author: nulige 4 5 n1 = "oldboy" 6 n2 = n1.strip(‘y‘) 7 print(n2)
执行结果:
1 oldbo
21、字符串是否可迭代对象?如可以请使用for 循环每一个元素?