标签:
一、课程内容回顾
1.python基础
2.基本数据类型 (str|list|dict|tuple)
3.将字符串“老男人”转换成utf-8
s = "老男人" ret = bytes(s,encoding="utf-8") print(ret) ret1 = bytes(s,encoding="gbk") print(ret1) #程序运行结果如下: b‘\xe8\x80\x81\xe7\x94\xb7\xe4\xba\xba‘ b‘\xc0\xcf\xc4\xd0\xc8\xcb‘
4.函数的小误区
请观察下面一段代码,猜猜运行结果是什么?
li = [11,22,33,44,55,] def f1(arg): arg.append(66) li = f1(li) print(li)
大多数人都认为返回结果是[11,22,33,44,55,66],有个别人认为结果是None,亲,你认为的运行结果是什么,是其中之一么,还是别的?
#正确的答案是:None
li = [11,22,33,44,55,] def f1(arg): arg.append(66) li = f1(li) print(li) 程序运行结果: None
有的人还是不理解,结果怎么回事None呢,应该是[11,22,33,44,55,66]才对呀,别着急,听我慢慢说,我们来看下面的一段代码:
li = [11,22,33,44,55,] def f1(arg): arg.append(66) return arg li = f1(li) print(li) 程序运行结果: [11, 22, 33, 44, 55, 66]
看到这儿,大部分人已经明白了,或许还有一小部分还是不太理解,大家想一想,学习函数的时候,如果我们想要获取程序的执行结果,通过显示的return进行返回,如果没有指定的话,函数的默认返回值是None,我们在接着说第一段代码的 li = f1(li),此处是将程序的返回结果赋值给li,而我们知道程序的默认返回值是None,再将其值赋值给li,所以li的也是None,当我们执行print(li)将li的值给打印出来的时候,输出结果当然是None,现在应该知道为什么上一段代码的执行结果是None了吧。
说明:这段代码主要考察的是一个知识点:函数的默认返回值是None
5.返回值为False
常见的有:空列表:[] 空元组:() 空字典:{} 空集合:set() None 数字0 空格 “ ”
6.看了试卷上的几个题目,涉及的相关知识点
二、内置函数
1.callable():判断传入的参数是否可以被调用
#定义一个函数 def f1(): print(123) #定义一个变量 s1 = ‘hello‘ #判断f1和s1是否可以被调用 print(callable(f1)) print(callable(s1)) 程序运行结果: True False
2.chr() ord() :数字和字母之间的转换
#chr:将数字转换成字母(ASCII) let = chr(65) #ord:将字母转换成数字(ASCII) num = ord(‘C‘) print(let) print(num) 程序运行结果如下: A 67
3.random():生成随机数
#random.randrange(1,10):随机生成1-9之间的任何一个数字
#random.random():随机生成0-1之间的小数
import random ret = random.randrange(1,10) print(ret) ret1 = random.random() print(ret1) 程序运行结果: 8 0.22612376370730292
4.compile() |eval() |exec()
compile():把字符串编译成python代码,然后由exec()来执行
其内部实现的机制: 1.通过open读取文件内容,然后放到内存中 2.python内部把字符串---->编译---->特殊代码 3.执行代码 s = "print(123)" r = compile(s,"<string>","exec") #编译,把字符串编译成python代码 exec(r) #执行python代码
其中,compile中的第三个参数有三种: single:单行执行程序 eval:把字符串转换成python表达式 exec:编译成和python代码一样的内容 程序执行结果如下: print(123) 123
eveal():执行函数,把字符串转换成python表达式后再执行,并获取运算结果,默认有返回值
exec():执行函数,接收字符串或者是python代码,如果是python代码直接执行,如果是字符串先转换成python代码再执行
s1 = ‘7+9+8‘ r = eval(s1) print(r) exec(‘7+9+8‘) 程序运行结果: 24
5.dir()|help()
dir():查看某个类的属性和方法
help():查看帮助
help(list):查看list类的详细的属性和方法
print(dir(list))
程序执行结果如下:
[‘__add__‘, ‘__class__‘, ‘__contains__‘, ‘__delattr__‘, ‘__delitem__‘, ‘__dir__‘, ‘__doc__‘, ‘__eq__‘, ‘__format__‘, ‘__ge__‘, ‘__getattribute__‘, ‘__getitem__‘, ‘__gt__‘, ‘__hash__‘, ‘__iadd__‘, ‘__imul__‘, ‘__init__‘, ‘__iter__‘, ‘__le__‘, ‘__len__‘, ‘__lt__‘, ‘__mul__‘, ‘__ne__‘, ‘__new__‘, ‘__reduce__‘, ‘__reduce_ex__‘, ‘__repr__‘, ‘__reversed__‘, ‘__rmul__‘, ‘__setattr__‘, ‘__setitem__‘, ‘__sizeof__‘, ‘__str__‘, ‘__subclasshook__‘, ‘append‘, ‘clear‘, ‘copy‘, ‘count‘, ‘extend‘, ‘index‘, ‘insert‘, ‘pop‘, ‘remove‘, ‘reverse‘, ‘sort‘]
6.divmod()
divmod():返回值有两个,一个是商,一个是余数
r = divmod(97,10) print(r) print(r[0]) print(r[1]) 程序运行结果如下: (9, 7) 9 7
7.enumerate():枚举
dic1 = {"mouse":65,"clothes":200,"shoes":500} for key in enumerate(dic1): print(key) 程序运行结果如下: (0, ‘clothes‘) (1, ‘mouse‘) (2, ‘shoes‘)
8.isinstance():判断对象是否是某个类的实例
s = [11,22,33] r = isinstance(s,list) print(r) 程序运行结果如下: True
9.filter()
10.map()
11.globals() locals()
12.hash()
13.len()
14.max()|min()|sum()
15.memoryview():和内存地址相关的类
16.object():所有类的父类
17.pow():次方,幂
18.property():特性,面向对象时会具体讲解
19.range()
20.repr()
21:reversed():反转
22.round():四舍五入
23.set():集合
24.slice():切片 python3新增
25.sorted():排序
26.super():面向对象时会进行讲解
27.vars():当前模块可用的变量
28.zip():
标签:
原文地址:http://www.cnblogs.com/yamei/p/5541906.html