python菜鸟日记4

1.在python中,0,‘’,{},(),[],空值,空列表,等等,都表示假值,反之都是真值在逻辑运算and,or中,返回的不是true或者false,返回的是逻辑运算符两边的其中一个值,而对于算数运算符,

==,!=,>,<,这些才返回的是true或者false

2.and,从左到右运算,当两边,都是真值时,返回最后一个真值,当两边都是假值时,就返回第一个假值,当同时存在真假值时,则返回第一个假值,其实,记法可根据逻辑运算结果记

例如: >>> ‘a‘ and ‘b‘

‘b‘

>>> ‘‘ and ‘b‘

‘‘

>>> ‘a‘ and ‘b‘ and ‘c‘

‘c‘

3.or,从左到右运算,当两边都是真值时,返回的是第一个真值,当两边都是假值时,返回最后一个值,当两边同时存在真假值时,则返回第一个真值,or和and的计算方法是相反的

例如:   >>> ‘a‘ or ‘b‘

‘a‘

>>> ‘‘ or ‘b‘

‘b‘

>>> ‘‘ or [] or {}

{}

>>> 0 or ‘a‘ or ‘c‘

‘a‘

4.filter(函数名,iteratable),filter()函数是将可迭代对象中的元素一一调入函数中,根据函数return的是true和false来决定那些元素留下,哪些元素删除,最后得到的是迭代对象,

可用list()函数进行全部输出

5.sorted([],key=函数),sorted函数也是高阶函数,可以利用key只想一个自定义的或者系统自带的函数,将[],中的元素依次调用key所指的函数,然后全部调用完毕以后,返回的值要与

原来的[]中的值,有一个一一对应的关系,然后sorted对返回的值进行排序,那么原值也将根据返回值排好的顺序进行排序,最终完成对[]的排序

6.在python中并不是所有函数都有返回值的,比如append(),sorted(),这些函数就是对调用他们的对象进行修改而已,并没有返回值(也就是说并不生存新的对象),所以当我们调用

这些函数的时候,如果再将结果赋值给一个变量的话,那么就得到None,因为python中将没有返回值的函数调用结果将返回一个NONE

7.将函数作为返回值,当我们在一个函数中嵌套一个函数并将这个函数作为返回值的时候,我们要注意的是,嵌套函数可以引用外部函数的形参和局部变量,当我们调用函数时,嵌套函数并

没有执行,而是被当作结果返回给一个变量,只有当我们用这个变量调用函数时,函数才执行

8.我们调用外部函数时,只执行嵌套函数以外的语句,如for,if,在这些语句里面,可能形参或局部变量会发生变化,而我们调用嵌套函数的时候,用的就是已经发生过变化的这些局部变量和参数值

9.匿名函数lambda x: x * x,关键字lambda表示匿名函数,冒号前面的x表示函数参数,匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果,匿名函数

也是一个对象,可以把匿名函数赋值给一个变量,那么这个变量就有了函数的功能,>>> f = lambda x: x * x

>>> f(5)

25

10.函数对象都有一个__name__属性,通过这个属性我们可以得到函数名,>>> a=abs>>> a.__name__结果:‘abs‘

11.对于int(非int型,base=n),int函数,将第一个参数转换成n进制的整数,默认是n=10,所以一般都是转换成10进制数

12.python中有很多模块,为了避免模块名重复,就引入了包(文件夹)的概念,一个包里面可以有很多模块,我们都知道模块名就是.py文件的文件名,当我们有了包以后,就是包名.文件名

这样模块,名就不会出现重复的问题了,但注意,每个包里面必须有一个__init__.py模块,这样系统才会把它当作一个包而不是一个普通的文件夹,类似的可以有多级目录

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-21 23:07:58

python菜鸟日记4的相关文章

python菜鸟日记2

1.对于类之间的的子类关系是可以传递的:比如C1是C2的子类,C2是C3的子类,那么C1也是C3的子类,任何类都可以看成是自身的子类,class类里面也可以嵌套一个class类 2.在类中,要想在函数中引用类的属性(全局变量),就必须使用完整名称(类名.变量名),而对于在类体中的语句,想引用类的属性,就必须使用属性的简单名称 例如: class c(): x=55 y=x+66                   --必须使用简单名称 def b(): f=c.x**3            

python菜鸟日记7

1. 如果直接在操作系统中进行命令行操作,那么一般使用的是操作系统所提供的接口函数,而如果想在python中也能够调用操作系统的接口函数来对文件,目录进行操作的话,可以使用os和os.path模块,这些模块可以直接调用操作系统提供的接口函数 2. >>>os.name ,name属性会反映出操作系统的一些信息,如果是posix,说明系统是Linux.Unix或Mac OS X,如果是nt,就是Windows系统,要获取详细的系统信息,可以调用uname()函数,注意uname()函数在W

python菜鸟日记5

1.在python中我们可以导入模块,来调用模块里面的函数,在一个模块中,我们可以定义很多的函数和变量,但有些函数我们并不希望被别人使用,只希望在模块内部使用,那么,我们 可以通过_(下划线)前缀来实现,比如_ABC,_qiuhe,但是python并没有强制限制访问函数或变量,只是一种编程的习惯而已 2.在python中,pip是一个包管理工具,我们通过它来安装第三方软件的,一般来说,第三方库都会在Python官方的pypi.python.org网站注册,我们进入该网址,然后搜索我们要下载的模块

python菜鸟日记6

在函数调用的过程中,假设函数里面有循环嵌套的函数,那么在里面的函数遇到异常的时候,就终止函数,后面的语句将不会执行,而try后面的语句也将会中止执行,转而except. 异常其实也是一个类,是一个对象 此外,如果没有错误发生,可以在except语句块后面加一个else,当有错误发生时,会自动执行else语句 Python所有的错误都是从BaseException类派生的,常见的错误类型和继承关系看这里 使用try-except捕获错误还有一个巨大的好处,就是可以跨越多层调用,也就是说,不需要在每

python菜鸟日记8

1. python中的多进程编程概念:由于Python是跨平台的,自然也应该提供一个跨平台的多进程支持.multiprocessing模块就是跨平台版本的多进程模块.multiprocessing模块提供了一个Process类来代表一个进程对象. 2. python中的多线程编程具体做法:当我们引入该multiprocessing模块后,对需要进行调用的函数创建进程:b= Process(target=函数名, args=(实参,)),因为process是一个类,所以b就是一个target函数的

Python菜鸟晋级03----repr() 与str() 函数的区别

两者均是将数值转换成字符串的形式,但是有细微的区别 str()会创建一个适合人阅读的字符串. repr()会创建适合解释器阅读的字符串. >>> hello = 'hello, world\n' >>> hellos = repr(hello) >>> hellos "'hello, world\\n'" #出现反斜杠进行转意 >>> hellos=str(hello) >>> hellos 'h

Python菜鸟晋级06----特殊属性整理

Python一切皆对象(object),每个对象都可能有多个属性(attribute). #现在我们来总结下所有的系统定义属性和方法, 先来看下保留属性: >>> Class1.__doc__ # 类型帮助信息 'Class1 Doc.' >>> Class1.__name__ # 类型名称 'Class1' >>> Class1.__module__ # 类型所在模块 '__main__' >>> Class1.__bases__

Python菜鸟之路:Django 路由补充FBV和CBV

在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view . 今天补充另外一种路由关系的写法:CBV,即:class base view , 也可以看做为面向资源编程的另外一种叫法,类似tornado中的路由写法. 1. 建立路由关系urls.py from app01 import views urlpatterns = [ url(r'^home/', views.Hom

Python菜鸟晋级08----str.format()方法

用法 str.format()方法会返回一个新的字符串,在新的字符串中,原字符串的替换字段(大括号中和数字是预留的替换字段)被format方法中的参数代替. 替换字段被format方法中参数代替有一下集中形式------------------------- 按照位置 '{0},{1}'.format('kzc',18) #按照替换字段中的数字带入format方法中的参数 'kzc,18' '{},{}'.format('kzc',18) #替换字段中没有数字就按照顺序带入format方法中的参