码迷,mamicode.com
首页 > 编程语言 > 详细

python学习之路基础篇(第四篇)

时间:2016-05-30 12:41:31      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

一、课程内容回顾

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.看了试卷上的几个题目,涉及的相关知识点

  •   集合的交集 
  •   将字符串转换成utf-8
  •   False
  •   内置函数:any all bool abs 

二、内置函数

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():

 

 

 

 

  

 

 

 

python学习之路基础篇(第四篇)

标签:

原文地址:http://www.cnblogs.com/yamei/p/5541906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!