一、 range   数值列表生成器

  常与for循环搭配使用,产生一个数值列表生成器,数值范围由range参数控制,生成器被调用时才显示具体数值内容,节省内存空间。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# python 3.* 以后,xrange取消
# range直接生成一个生成器,调用的时候才显示具体值
a = range(0,5)
print(a,type(a)) # range(0, 5) <class 'range'>
# 调用时显示具体值
for i in range(0,5):
    print(i,end=' ')  # 0 1 2 3 4
print()
# 设置跳步
for i in range(0,5,2):
    print(i,end=' ')  # 0 2 4
print()
# 默认从0开始
for i in range(5):
    print(i,end=' ')  # 0 1 2 3 4
print()
 # 开始值比结束值大,无返回值
for i in range(5,2):
    print(i)          # None

View Code

二、 bytearray  生成bytes序列

  函数返回一个bytearray对象,它是一个可变bytes序列,序列中的元素范围是[0,255],调用时显示对象内具体值。  

# 如果参数为可迭代类型,则元素必须是0~255的整数,返回一个字节数组。
# 如果参数为整数,则返回一个长度为参数的初始化数组,元素全部为:\x00。
# 如果参数为空,则返回一个空字节数组:b''。

  # 如果参数是str,按指定的编码方式,将字符串转换成字节序列。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# 生成一个bytesarray对象,调用时显示具体数值
b = bytearray([1,4,5])
print(b,type(b)) # bytearray(b'\x01\x04\x05') <class 'bytearray'>
for i in b:
    print(i,end=' ')
print()          # 1 4 5

# 如果参数为可迭代类型,则元素必须是0~255的整数,返回一个字节数组
print(bytearray(range(1,5))) # bytearray(b'\x01\x02\x03\x04')
# 如果参数为整数,则返回一个长度为参数的初始化数组
print(bytearray(5)) # bytearray(b'\x00\x00\x00\x00\x00')
# 如果参数为空,则返回一个空字节数组
print(bytearray())  # bytearray(b'')
# 如果参数是str,按指定的编码方式,将字符串转换成字节序列
print(bytearray('name',encoding='utf_8'))  # bytearray(b'name')

# bytes序列,可以通过decode方法,转换成str
s_bytes = bytearray('4358',encoding='utf-8')
print(s_bytes,type(s_bytes)) # bytearray(b'4358') <class 'bytearray'>
c = s_bytes.decode()
print(c,type(c)) # 4358 <class 'str'>

View Code

bytes序列,可以通过decode方法,转换成str。

三、 chr 与 ord

chr  由ASCII码值取ASCII字符,参数int范围[0,255],返回str。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# chr返回ASCII码值对应的字符,参数范围[0,255]。
print(chr(0),type(chr(0)))       #   <class 'str'>
print(chr(255),type(chr(255)))   # ÿ <class 'str'>

# ASCII中,48~57,是数值0~9。
print(chr(48),type(chr(48)))     # 0 <class 'str'>
print(chr(57),type(chr(57)))     # 9 <class 'str'>

# ASCII中,65~90,是大写英文字母。
print(chr(65),type(chr(65)))     # A <class 'str'>
print(chr(90),type(chr(90)))     # Z <class 'str'>

#  ASCII中,97~122,是小写英文字母。
print(chr(97),type(chr(97)))     # a <class 'str'>
print(chr(122),type(chr(122)))   # z <class 'str'>

View Code

ord 与chr正相反,由ASCII字符取ASCII码值,参数str,返回[0,255]内int。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# ord返回ASCII码字符对应的数值,与chr正相反。
print(ord('0'),type(ord('0')))  # 48 <class 'int'>
print(ord('9'),type(ord('9')))  # 57 <class 'int'>
print(ord('A'),type(ord('A')))  # 65 <class 'int'>
print(ord('Z'),type(ord('Z')))  # 90 <class 'int'>
print(ord('a'),type(ord('a')))  # 97 <class 'int'>
print(ord('z'),type(ord('z')))  # 122 <class 'int'>

View Code

ASCII中,48~57是数值0~9;65~90是大写英文字母; 97~122是小写英文字母。

四、查看对象、方法

 (一)

  不带参数时,显示当前范围的变量、方法和类名列表;带参数时,显示参数的属性、方法名列表。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# 不带参数时,显示当前范围的变量、方法和类名列表。
a = 1243
print(dir())
'''['__builtins__', '__cached__', '__doc__', '__file__', '__loader__',
'__name__', '__package__', '__spec__', 'a']'''
# 带参数时,显示参数的属性、方法名列表。
# import time
# print(dir(time))
'''['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__',
 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime',
  'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime',
   'struct_time', 'time', 'timezone', 'tzname']'''

View Code

help() 查看全部方法名及内容

  根据所带参数不同,可以显示模块的帮助文档、方法说明、方法操作方法等信息。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

import time
help(time)  # 显示全部time模块的帮助内容

help(abs)   # 显示abs方法的简单说明
'''abs(x, /)
    Return the absolute value of the argument.'''
a = [1,2,3]
help(a)       # 显示list的操作方法
help(a.append)  # 显示append方法的简单说明
'''append(...) method of builtins.list instance
    L.append(object) -> None -- append object to end
'''

View Code

五、format  字符串格式化

使用{num}占位,num可以默认按顺序匹配,也可用数字指定:0表示第一个数、1表示第二个数,一个参数可以使用多次。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

name = 'lucy'
age = 5
# format格式化字符串
s = '{} is young!'.format(age)
print(s)  # 5 is young!

# 字符串内括号无参数,默认按顺序匹配
print('{} is {} years old!'.format(name,age))
# lucy is 5 years old!

# 可以接受不限个参数,位置可以不按顺序,可以不用或者用多次
# 字符串参数使用{num}表示,0表示第1个参数,1表示第2个参数指定参数
print('{0}:{1} is {0} years old!'.format(age,name))
# l5:lucy is 5 years old!

# 字符串内大括号,单用时作为占位符,两遍{{}}进行转义
print('{{}}'.format())  # {}
print('{}'.format(1))    # 1

View Code

  (二)format函数使用格式限定符(:),对元素进行格式控制:

^、<、>分别表示居中、靠右、靠左,后面用数字表示宽度。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# 填充与对齐
# ^、<、>分别表示居中、靠右、靠左,后面用数字表示宽度
print('{:^8}'.format('mid'))  #   mid
print('{:>8}'.format('rgt'))  #      rgt
print('{:<8}'.format('lef'))  # lef
# 默认空格填充,:后面可以带填充字符,但只能是一个字符
print('{:0^8}'.format('mid'))  # 00mid000
print('{:*>8}'.format('rgt'))  # *****rgt
print('{:$<8}'.format('lef'))  # lef$$$$$

View Code

.d表示整体位数,.df表示小数点后位数。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# float类型精度
# .d表示整体精度,.df表示小数点精度
print('{0}-->{0:.5}'.format(3.1415926))  # 3.1415926-->3.1416
print('{0}-->{0:.5f}'.format(3.1415926))  # 3.1415926-->3.14159
print('{0}-->{0:.5}'.format(26.888888))  # 26.888888-->26.889
print('{0}-->{0:.5f}'.format(26.888888))  # 26.888888-->26.88889

View Code

b,d,o,x分别表示二进制、十进制、八进制、十六进制。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# 使用b,d,o,x控制进制
s = '十进制数{0:d}:十六进制是{0:x}、八进制是{0:o}、二进制是{0:b}'.format(17)
print(s)  # 十进制数17:十六进制是11、八进制是21、二进制是10001

View Code

逗号,自动分隔;使用科学技术法e表示。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# 使用逗号,大数值自动分隔
print('{:,}'.format(873598475984375983))  # 873,598,475,984,375,983
# 用e表示科学计数法
print('{:.4e}'.format(87483947389))  # 8.7484e+10

View Code

%将小数按百分数显示,注意:.2%表示百分数的小数取两位,.2f%写法会报错。

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

# %将小数按百分数形式显示,注意:.2%表示百分数的小数取两位
print('{:.2%}'.format(0.25))  # 25.00%

View Code

id  获得对象的内存地址

a is b 与 id(a)==id(b)

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_带参数

怎么用python编写hello world 怎么用Python编写的viewbytes()函数_方法名_02

a = 1
b = 1
c = b
print(a is c)             # True
print(id(a),id(b),id(c))  # 1664741168 1664741168 1664741168

View Code

 七、 globals 和 locals

  (一) globals()  获得全部全局变量

  (二) locals()    获得全部局部变量