老男孩Python 3.5学习第02周:模块、数据类型、
导入模块,默认路径为本文件,所以文件名不能与模块名相同。
Python的标准库位于Lib文件目录下。
Python的第三方库默认安装在site-packages文件夹中。
os.sys('dir'),执行命令,不保存结果。
cmd_res = os.popen('dir').read(),将存在内存中的信息读出来。
os.mkdir('new_dir'),创建新目录。
pyc文件是Python程序执行后的预编译自解码文件。
32位系统中的32位是指2的32次幂,结果为4G左右,这也是为何32位系统内存最大支持4GB的原因。
&,按位与运算符,每位and为真为1,否则为0。
|,按位或运算符,每位or为真为1,否则为0。
^按位异或运算符,两个相应bit位相同为0,不同为1。
~按位取反运算符,每位取反。
<<左移动运算符,移几位,开几次平方。
>>右移动运算符,移几位,乘2的几次幂。
位运算的应用可以运用于很多场合:清零特定位(mask中特定位置0,其它位为1 , s = s & mask);取某数中指定位(mask中特定位置,其它位为0, s = s & mask)。
三元运算,结果在前,条件在后,否则另做他论。a = b if 有关b的语句为真得到a,else 输出c。
十六进制表示法,前缀0X,或者后缀H。
十六进制补位,小数点前部分最左侧添0,小数点后部分最右侧添0。
字符串,str类型,Unicode。
二进制数据,bytes类型,音频、视频。
bytes解码(decode)为str,str编码(encode)为bytes。
bytes.decode(encoding='目标码型')
string.encode(encoding='原码型')
Python码型默认为“tuf-8”。
names.remove('chenzhenhua')
del names[1]
names.pop()
列表中的元素若为列表,对子列表中的元素进行定位,要连用两个索引。
copy,浅copy,若列表中的元素为列表,子列表内的元素改变,输出结果为改变后的子列表。因为母列表中的每个元素是指向一个个内存地址的,copy只针对内存地址进行复制?!
deepcopy,可以完全复制改变前的列表,无论其中元素是否为列表,子列表是否发生改变。deepcopy会占据两份内存空间。(不仅仅是列表,字典也一样的。)
除了字符串,其他数据类型使用a = b,会出现类似浅复制的结果。
name[0:-1:2]=name[::2]
Python中sys模块是用C语言编写,所以不会像os模块那样在lib文件夹中找到pyc文件。
p1=copy.copy(person)
p2=person[:]
p3=list(person)
浅copy可以创建联合账号,改动其一,联动其余。
enumerate,将列表中的各项转换为索引和元素的元组。
for index,item in enumerate(product_list)
user_choice.isdigit()
name.capitalize(),首字母大写。
name.center(字符数,'补位字符'),name在中间。
name.endswith(),判断字符串是否以指定字符结尾。
name.format_map(),后面接字典。
name.isalnum(),数字和字母为真,特殊字符为假。
name.isalpha(),纯字母。
name.isdecimal(),十进制数。
name.isidentifier(),合法标识符。
name.islower(),是否小写。
name.isnumeric(),是否纯数字。
name.isspace(),是否为空格。
name.istitle(),每个单词首字母大写。
name.isprintable(),是否可打印,一般都为真值,只有tty file,drive file才返回假值。
name.isupper(),是否为大写。
print('+'.join['1','2','3','4']输出为1+2+3+4。
print(name.ljust('50','*'),长50个字符,不足部分,*右侧补齐。
print(name.rjust('50','*'),长50个字符,不足部分,*左侧补齐。
strip,去空格。
p = str.maketrans('abcdefg','1234567');print('Alex Li'.translate(p))。替换相应字母。
print('Alex Li'.replace('L','l',1),替换指定字符,替换几次。
name.rfind('a'),寻找最右侧‘a’的索引。
split(),把字符串按照空格转为列表中的每个元素。可以设置参数作为分割符,但是参数本身不在列表中显示。
splitlines(),以换行符为分割符。
swapcase(),大小写对调。
setdefault,在字典中寻找指定键值,找到之后返回;找不到就创建。
While True:可变形:While not exit_flag: