一团网资讯

一团资讯 > python > Python 快速入门

Python 快速入门

2017-11-09 03:01:22     发布者:来源网络

1.Python语句中一些基本的规则和特殊字符

2.变量

变量无需事先声明,变量一旦被赋值就可以使用它;变量无需指定类型,对象的类型和内存占用都是运行时确定的,变量都是动态类型,无需指定变量的类型。

var = 1

print var

var = "hello"

print var

注意:程序员不用关心内存的管理,Python解释器承担内存管理的复杂任务,变量名会被回收。

del语句能够直接释放资源

3.导入模块

import sys

sys.stdout.write('hello world!n')

print sys.platform

print sys.version

import PersonClass

s = PersonClass.Student("zhangzhe",25,60,2)

s.speak()

import PersonClass as Test

s = Test.Student("zhanghze",23,32,2)

s.speak()

from PersonClass import Student

s = Student("zhangzhe",25,60,2)

s.speak()

4.Pyhon新增的内建函数

ls1 = range(2,10,2)

print ls1 #[2, 4, 6, 8]

5.注释

#这是一段注释

#也可以在模块、类或者函数的起始添加一个字符串,起到在线文档的功能,这是Java程序员非常熟悉的一个特性。

def foo():

"This is a doc string."

print "foo funtion called."

return True

6.数字

7.字符串

先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1

= "hello,world"

如果要写成多行,那么就要使用 (“连行符”)吧,如:

s2 = "hello,

world"

s2与s1是一样的。如果你用3个双引号的话,就可以直接写了,如下:

s3 = """hello,

world,

hahaha.""",那么s3实际上就是"hello,nworld,nhahaha.", 注意“n”,

所以, 如果你的字符串里n很多,你又不想在字符串中用n的话,那么就可以使用3个双

引号。而且使用3个双引号还可以在字符串中增加注释,如下:

s3 = """hello, #hoho, this is hello, 在3个双引号的字符串内可以有注释哦

world, #hoho, this is world

hahaha."”"

这就是3个双引号和1个双引号表示字符串的区别了,3个双引号与1个单引号的区别也是和这个一样的,实际上python支持

单引号是有原因的,下面我来比较1个单引号和 1个双引号的区别。 当我用单引号来表示一个字符串时,如果要表示 Let's go 这个字符串,必须这样: s4 = 'Let's go',注意没有,字符串中有一个',而字符串又是用'来表示,所以 这个时候就要使用转义符 (,转义符应该知道吧), 如果你的字符串中有一大堆 的转义符,看起来肯定不舒服,python也很好的解决了这个问题,如下: s5 = "Let's go" 这时,我们看,python知道你是用 " 来表示字符串,所以python就把字符串中的那 个单引号

' , 当成普通的字符处理了,是不是很简单。 对于双引号,也是一样的,下面举个例子 s6 = 'I realy like "python"!’

8.操作符

算术操作符

+、-、*、/、//、%、**

/ 进行地板除法:传统除法是指两个操作数都是整型的话,他讲执行地板除法如果两个(取比商小的最大的整数)

// 浮点数除法:不管操作数是什么类型,浮点数除法总是执行真正的除法。

** 乘方操作符

比较操作符

逻辑操作符

9.元组和列表

列表用[]来表示 元组用()表示 元组可以看作是只读的列表。

10.字典

字典是Python中的映射数据。用{}来表示

键:可以是Python中的任意类型的对象 一般是数字和字符串

值:可以是任意类型的 Python对象

m = {'a':1,'b':2,'c':3}

print (m)

print(m['a'])

print(m.get('b'))

m2= m.copy()

print (m2)

m2['a']=100

print (m2)

print (m)

print (m.keys())

print (m.values())

print (m.items())

m.pop('a')

print (m)

11.代码块及缩进对齐

代码块通过缩进对齐表达式逻辑,而不是使用大括号。因为没有额外的字符,程序的可读性更高。

12.if语句

x = -2

if x < .0: #如果表达式的值非零或者布尔值为True 则执行if_suit(代码组)

print "x<0"

elif x ==0:

print "x==0"

else:

print "x>0"

13.for循环和range()内建函数

for item in ['hello','world','China']:

print item, #加逗号可以在同一行输出

x = 'helo world'

for c in x:

print c,

x = 'foo'

for i in range(len(x)):

print x[i],'(%d)' %i

for index,ch in enumerate(x):

print ch,'(%d)' %(index)

14.列表解析

可以在一行中使用for循环将所有值放到一个列表当中。

square=[x*2 for x in range(4)]

print square

square=[x**2 for x in range(4)]

print square

square=[x*2 for x in range(4) if x%2==0 ]

print square

15.文件和内建函数open()和file()

import pickle

import struct

d = {'a':1,'b':2}

f = open('datafile.txt','wb')

pickle.dump(d,f)

f.close()

f = open('datafile.txt','rb')

e = pickle.load(f)

print e

f = open('data.bin','wb')

data = struct.pack('hhl',1,2,3)

f.write(data)

f.close()

f = open('data.bin','rb')

data = f.read()

values = struct.unpack('hhl',data)

print values

16.错误和异常

try:

list[2]/0

except IndexError:

print("indexError")

except ZeroDivisionError:

print("zeroDivisionError")

else:

print "no error"

finally:

print("finally")

#define custom exception

class LengthRequiredException(Exception):

def __init__(self,length,minLength):

Exception.__init__(self)

self.length = length

self.minLength=minLength

l = [1,2,3,4,5,6]

minLength = 6

try:

raise LengthRequiredException(len(l),minLength)

except IndexError:

print("index out of bounds")

except LengthRequiredException:

print("Length not fit:length is %d required %d")

else:

print("no exception was raised.")

finally:

print("finally will be execute”)

class Test(object):

def __enter__(self):

print ("enter....")

return 1

def __exit__(self, exc_type, exc_val, exc_tb):

print("exit.....")

return True

with Test() as t:

print("t is not the result of test(), it is __enter__ returned")

print("t is 1, yes, it is {0}".format(t))

raise NameError("Hi there")

print("Never here")

17.函数

def AddMe2Me(x=20):

return (x + x)

print AddMe2Me()

x = 10

print AddMe2Me(x)

print AddMe2Me('Python')

AddMe2Me([1,'abc'])

18.类

类的私有属性:__private_attrs 两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问,在类内部的方法中使用时 self.__private_attrs

类的方法,在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数

私有的类方法,__private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用,在类的内部调用slef.__private_methods

类的专有方法:

__init__ 构造函数,在生成对象时调用

__del__ 析构函数,释放对象时使用

__repr__ 打印,转换

__setitem__按照索引赋值

__getitem__按照索引获取值

__len__获得长度

__cmp__比较运算

__call__函数调用

__add__加运算

__sub__减运算

__mul__乘运算

__p__除运算

__mod__求余运算

__pow__称方

class People:

"People class doc."

#attribute

name = ''

age = 0

__weight = 0

#method

def __init__(self,aName,aAge,aWeight):

self.name = aName

self.age = aAge

self.__weight = aWeight

def speak(self):

print("%s is speaking:I am %d years old." %(self.name,self.age))

单重继承

class Student(People):

#attribute

grade = 10

#method

def __init__(self,aName,aAge,aWeight,aGrade):

People.__init__(self,aName,aAge,aWeight)

self.grade = aGrade

def speak(self):

print("%s is speaking:I am %d years old. I am in grade %d." %(self.name,self.age,self.grade))

多重继承:需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索,即方法在子类中未找到时,从左到右查找父类中是否包含方法。

class Speaker():

topic = ' '

name = ' '

def __init__(self,aTopic,aName):

self.name = aName

self.topic = aTopic

def speak(self):

print("I m %s,I am a speaker!My topic is %s." %(self.name,self.topic))

class Sample(Speaker,Student):

a = ''

def __init__(self,aTopic,aName,aAge,aWeight,aGrade):

Speaker.__init__(self,aTopic,aName)

Student.__init__(self,aName,aAge,aWeight,aGrade)

[ 责任编辑:来源网络 ]

python内存管理 变量无需事先声明_Python 快速入门相关推荐

  1. python内存管理 变量无需事先声明_python 内存管理

    内存管理 包括: 变量无须事先声明 变量无须指定类型 不用关心内存管理 变量名会被"回收" del 语句能够直接释放资源 变量定义 python中, 变量在第一次被赋值时自动声明, ...

  2. python内存管理 变量无需事先声明_关于python本身的内存管理

    一.在python中,变量和内存管理的特点 1.变量无需事先声明 2.变量无需指定类型 3.程序员不用关心内存的管理问题 4.变量名会被回收 5.del语句能够直接释放资源 二.内存分配问题 在为变量 ...

  3. python内存管理 变量无需指定类型_Python内存管理

    到现在为止,你已经看了不少Python代码的例子.我们本节的主题是变量和内存管理的细节,包括: 变量无需事先声明. 变量无需指定类型. 程序员不用关心内存管理. 变量名会被"回收" ...

  4. python内存管理变量_Python变量内存管理

    Python变量内存管理 一 .引入 解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了(简称垃圾)就应 ...

  5. python内存管理错误的是_关于Python内存管理,下列说法错误的是

    53 Python中变量可以不指定类型,会自动根据赋值语句来决定类型 同时,使用前必须赋值,在赋值的同时变量也就创建了 发表于 2018-02-28 22:50:02 回复(0) 61 本题答案选 B ...

  6. python内存管理说法错误_python面试题总结1-内存管理机制

    1.python内存管理机制 (1).引用计数 (2). 垃圾回收 (3). 内存池机制 引用计数 在python中每创建一个对象,对应的会有一个引用计数,当发生赋值操作如a=b,对应的b的引用计数会 ...

  7. python内存管理机制_python内存管理机制

    python内存管理机制: 引用计数 垃圾回收(引用计数,标记清除,分带回收) 内存池 1. 引用计数 当一个python对象被引用时 其引用计数增加 1 ; 当其不再被变量引用时 引用计数减 1 ; ...

  8. 关于python变量使用下列说法中错误的是_关于Python内存管理,下列说法错误的是_学小易找答案...

    [单选题]Python 编程中用代码缩进表示逻辑递进关系,通常用几个空格 [判断题]决定系数(英语:coefficient of determination,记为R2或r2)在统计学中用于度量因变量的 ...

  9. python内存管理_Python内存管理(一):预备知识

    一.内存的理解 你可以将计算机中的内存理解为一本为短期存储而设计的书.这本书中现在什么都没写,但最终不同的"作者"会来寻求空间,写入他们想写的故事. 由于他们之间不能彼此覆盖,他们 ...

最新文章

  1. Lesson 15.2 学习率调度在PyTorch中的实现方法
  2. 【采用】【科技金融】CART树现金贷风控策略
  3. PowerPoint Storyboarding:Visual Studio 2012 RC带给开发者的秘密杀器
  4. java 用 jxl poi 进行excel 解析 *** 最爱那水货
  5. 基于JAVA+Servlet+JSP+MYSQL的校园一卡通管理系统
  6. 使用lua实现nginx rewrite
  7. 使用CPU时间戳进行高精度计时
  8. 新增磁盘,创建分区,分区挂载
  9. Win10_x86_x64PE维护光盘——我用过最好用的PE
  10. 简单粗暴卸载Oracle RAC
  11. U盘存储设备有回收站吗及如何快速恢复u盘数据
  12. 简析Apache Ignite
  13. 网页转圈打不开服务器,打不开网页怎么回事
  14. 外企常见英语口语面试题
  15. 【遥感物候】30年物候始期空间分布特征(平均值)和变化趋势分析(Slope 一元线性回归分析)
  16. OSPF/2/NBRCHG:The status of the non-virtual neighbor changes.
  17. 自然语言处理--gensim.word2vec 模块加载使用谷歌的预训练模型googlenews-vectors-negative300.bin.gz
  18. 单片机:中断系统控制二极管的亮灭
  19. RobotFramework安装记录
  20. 极光推送 使用实例 (一)服务端

热门文章

  1. 数据结构期末考试试题总结
  2. C++桌面应用开发(Qt学习)——对话框(1)
  3. dequeue(enqueue和dequeue)
  4. js跨域解决方案php,详解js跨域原理以及2种解决方案_javascript技巧
  5. Final和Finally区别
  6. 关于SQL server 中无效列的解决办法
  7. 软件实施:应标现场讲解
  8. ABB阀门定位器里液压控制阀的作用
  9. Android.mk文件详解介绍
  10. scp使用跳板机传输文件