27、Python中没有{}括起来的代码块,使用pass来代替c语言中的{(无内容)};

28、使用__name__来指示模块是如何加载的,如果是被导入的,那么__name__就是该模块的名字,如果是直接执行的,那么__name__就是’__main__’;

29、异常捕获:使用try...excepti...except...或者try...finally...,抛出异常使用raise,不像java和c++一样可以讲try..catch...finally一起使用;

30、Python中函数的参数列表中的参数有5种:位置参数、缺省参数、可变长参数和关键字可变长参数。位置参数就是一般的参数,必须传值给他;缺省参数就是c++中的带有默认值的参数,可变长参数就是c#中的那个params,可以传递不确定个数的参数,关键字可变长参数可以看做是可变长参数的一种,只是他是用来传递键值对(字典)的;这四种参数的先后顺序为:位置参数,缺省参数,可变长参数,关键字可变长参数;例子:

def fun(a,b=1,*c,**d):

print(a);print(b);

for ele in c:

print(ele)

for ele in d.keys():

print(ele,'=',d[ele])

31、Python中有global关键字,用来声明即将使用的变量是一个全局变量,因为有时候局部变量和全局变量重名的时候,局部变量会覆盖全局变量,为了使用全局变量,我们需要使用global在函数中声明;

32、Python允许函数的嵌套定义,但是不管怎样定义,函数所能使用的变量最多只有两种:自己定义的局部变量和全局变量。比如下面的访问的:

def fun1():

a=1;

def fun2():

a=10

b=a+1

print(a,b)

fun2()

print('a=',a)

fun1()

结果输出为:

10 11

a= 1

其实在这里如果没有a=10这句代码的话那么b的值就是2;

33、global()和locals()分别以字典的形式返回当前作用域下的全局变量和局部变量:

def fun():

print('in foo')

aString='bar'

aInt=1

print(globals())

print(locals())

print('main globals ',globals())

print('main locals()',locals())

fun()

程序输出为:

main globals  {'__name__': '__main__', '__spec__': None, '__package__': None, '__loader__': <_frozen_importlib.SourceFileLoader object at 0x0000000002181710>, '__cached__': None, '__file__': 'F:\\CreationExercises\\pythonWorkspace\\HelloWorld\\first\\HelloWorld.py', '__doc__': None, 'fun': <function fun at 0x00000000021DDE18>, '__builtins__': <module 'builtins' (built-in)>}

main locals() {'__name__': '__main__', '__spec__': None, '__package__': None, '__loader__': <_frozen_importlib.SourceFileLoader object at 0x0000000002181710>, '__cached__': None, '__file__': 'F:\\CreationExercises\\pythonWorkspace\\HelloWorld\\first\\HelloWorld.py', '__doc__': None, 'fun': <function fun at 0x00000000021DDE18>, '__builtins__': <module 'builtins' (built-in)>}

in foo

{'__name__': '__main__', '__spec__': None, '__package__': None, '__loader__': <_frozen_importlib.SourceFileLoader object at 0x0000000002181710>, '__cached__': None, '__file__': 'F:\\CreationExercises\\pythonWorkspace\\HelloWorld\\first\\HelloWorld.py', '__doc__': None, 'fun': <function fun at 0x00000000021DDE18>, '__builtins__': <module 'builtins' (built-in)>}

{'aString': 'bar', 'aInt': 1}

34、reload()函数使用前提:模块之前被导入过,而且不是用from import导入的;参数必须是模块本身;reload()的意义:模块中的代码只会执行一次,reload之后同样也不会执行第二次,其作用在于绑定模块名字;

35、阻止某个属性被绑定:当使用import from 导入模块属性的时候,只要将不需要的属性前面加一个下划线就好了,另外那些带有下划线的属性本身就不会被导入;

36、类:Python中的类没有静态方法,这也就意味着所有的函数都应该通过实例进行访问,其次在类中定义的属性,都是静态属性,想要定义实例属性一般有两种方式,一个是通过构造函数(__init__),另外就是当使用构造函数生成对象之后再添加实例属性,道理上来说静态属性应该通过类名进行访问,但是通过实例也可以访问到,当定的实例变量和静态变量重名的时候使用实例访问到的是实例属性,所以对于静态变量,使用类名进行访问才是正确的姿势。除此之外,Python中也有类似c++中的析构函数,为__del__。其次,建议为每一个类都定义__inti__函数,和java与c++不一样的是如果本类没有定义自己的init方法,他就会去调用父类的,如果定义了自己的,那么父类的就不会被调用,如果想要调用父类的构造方法可以通过父类的类名调用。附一段代码:

class B:

count=0;

def __init__(self):

self.count=self.count+1;

B.count=B.count+1

def __del__(self):

self.count=self.count-1;

B.count=B.count-1

a=B();

a.name='cao'

a.count=10

c=B();

c.name='guanjie'

c.count=30

print(a.name,c.count,B.count)

程序的输出为:

cao 30 2

37、实例有两个重要的属性__class__和__dict__,通过实例进行访问,返回类type和以字典为形式的属性,另外可以通过dir来得到某个实例的所有实例属性

Python初识2的更多相关文章

  1. python初识(二)

    目录: 进制 基本数据类型 整形 布尔值 字符串 列表 元祖 字典 集合 range & enumerate 一.进制 二进制转换十进制计算: 十进制:==47 一个字节公式:==128 64 ...

  2. 小学生绞尽脑汁也学不会的python(初识面对对象)

    小学生绞尽脑汁也学不会的python(初识面对对象) 一. 面向对象思想 1. 面向过程. 重点在"过程". 按照实物的发展流程. 先干嘛,后干嘛, 最后干嘛.... 优点: 简单 ...

  3. Python 入门【一】Python 初识及学习资料

    Python 初识及学习路线: CodeCademy Python 在线教学: 廖雪峰 Python 2.7 教程: 廖雪峰 Python 3.0 教程: Python 官方文档(2.7~3.7:英文 ...

  4. Python初识类与对象

    Python初识类与对象 类与对象 世界观角度分析类与对象 类是一个抽象的概念,而对象是一个实体的存在,对象由类创造而出,每个对象之间互相独立互不影响,一个对象可以同时拥有多个类的方法,实例化就是通过 ...

  5. Python初识函数

    Python初识函数 函数理论篇 什么是函数 在编程语言中的函数不同于数学中的函数.不管是数学上的函数还是编程语言中的函数都是为了完成特定的某一功能而诞生的,他们的区别在于: 1.数学中的函数当输入的 ...

  6. Python初识与简介【开篇】

    目录 1.扯淡 2.Python历史 3.Python简介 4.Python应用 5.为什么是python而不是其他语言? 6.Python的种类 7.Python的特点 8.Python设计哲学 9 ...

  7. Python初识文本基本操作

    初识文本的基本操作 怎么在文件里面写内容和都内容 文件操作过程 1,找到文件 文件路径 2,打开文件 file_obj=file(文件路径,模式) 3,文件操作,读写文件 file_obj.read( ...

  8. python初识-day2

    1.模块初识 python中的库包括标准库和第三方库,需要使用时可直接导入,导入格式为"import  库模块",例如: import sys #sys为python的标准库 pr ...

  9. python - 初识面向对象

    1.初识面向对象       面向过程:一切以事务的发展流程为中心           优点:负责的问题流程化,编写相对简单         缺点:可扩展性差,只能解决一个问题,改造也会很困难,牵一发 ...

  10. 第一篇、Python初识

    1.Python文件后缀是否可以任意? 单独执行的时候没关系,但当文件需要导入(即导入模块)的时候,如果不是py后缀的,会出错. 2.执行方法 1) python +文件路径 python + fil ...

随机推荐

  1. 汉化Eclipse

    汉化Eclipse.. ----------------- /--------------------------------link连接: 将下载的语言包解压后会有eclipse文件夹,eclips ...

  2. Java中构造方法跟普通方法的区别?

    构造方法与普通方法的调用时机不同. 首先在一个类中可以定义构造方法与普通方法两种类型的方法,但是这两种方法在调用时有明显的区别. 1.构造方法是在实例化新对象(new)的时候只调用一次 2.普通方法是 ...

  3. C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 本篇..基 ...

  4. 用户管理-linux基础

    用户管理 useradd -u -g -G(附加组) ,-c -d -s -r(创建系统用户)   -M (不创建家目录)    思考:删除user1用户家目录,如何还原.        可以#cp ...

  5. SQL查询每个部门工资前三名的员工信息

    --通用sql select deptno, ename, sal from emp e1 where ( ) from emp e2 where e2.deptno=e1.deptno and e2 ...

  6. 使用idea和studio进行调试的方法

    新入职一个公司,使用得IDE发生了一些变化 ,对于idea的使用,之前有提到过,今天主要的内容是使用idea和studio进行调试的快捷键. 虽然现在计算机开发的语言多种多样,但是使用C#写客户端,使 ...

  7. macaca web(4)

    米西米西滴,吃过中午饭来一篇,话说,上回书说道macaca 测试web(3),参数驱动来搞,那么有小伙本又来给雷子来需求, 登录模块能不能给我给重新封装一下吗, 我说干嘛封装,现在不挺好,于是乎,接着 ...

  8. Net分布式系统之七:日志采集系统(1)

    日志对大型应用系统或者平台尤其重要,系统日志采集.分析是系统运维.维护及用户分析的基础. 一.系统日志分类 一般系统日志可分为三大类: 1.用户行为日志:通过采集系统用户使用系统过程中,一系列的操作日 ...

  9. sleep(强制等待)和implicitly_wait(隐式等待 )区别与理解---基于python

    我们在进行selenium页面自动化的测试的时候,由于需要等待目标页面的加载或由于网络或硬件配置导致的页面加载等待,经常会用到sleep,但是由于在不同场景下对于sleep时间的估计无法十分准确,导致 ...

  10. UIButton和UIimageView

    1.按钮控件使用的类是UIButton 点击按钮会触发某个事件 2.按钮控件的初始化 UIButton *button = [UIButton buttonWithType:UIButtonTypeC ...