本文实例讲述了Python简明入门教程。分享给大家供大家参考。具体如下:

一、基本概念

1、数

在Python中有4种类型的数——整数、长整数、浮点数和复数。

(1)2是一个整数的例子。

(2)长整数不过是大一些的整数。

(2)3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。

(4)(-5+4j)和(2.3-4.6j)是复数的例子。

2、字符串

(1)使用单引号(')

(2)使用双引号(")

(3)使用三引号('''或""")

利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。例如:

'''This is a multi-line string. This is the first line.

This is the second line.

"What's your name?," I asked.

He said "Bond, James Bond."

'''

(4)转义符

(5)自然字符串

自然字符串通过给字符串加上前缀r或R来指定。例如r"Newlines are indicated by \n"。

3、逻辑行与物理行

一个物理行中使用多于一个逻辑行,需要使用分号(;)来特别地标明这种用法。一个物理行只有一个逻辑行可不用分号

二、控制流

1、if

块中不用大括号,条件后用分号,对应elif和else

if guess == number:

print 'Congratulations, you guessed it.' # New block starts here

elif guess < number:

print 'No, it is a little higher than that' # Another block

else:

print 'No, it is a little lower than that'

2、while

用分号,可搭配else

while running:

guess = int(raw_input('Enter an integer : '))

if guess == number:

print 'Congratulations, you guessed it.'

running = False # this causes the while loop to stop

elif guess < number:

print 'No, it is a little higher than that'

else:

print 'No, it is a little lower than that'

else:

print 'The while loop is over.'

# Do anything else you want to do here

3、for

用分号,搭配else

for i in range(1, 5):

print i

else:

print 'The for loop is over'

4、break和continue

同C语言

三、函数

1、定义与调用

def sayHello():

print 'Hello World!' # block belonging to the function

sayHello() # call the function

2、函数形参

类C语言

def printMax(a, b):

if a > b:

print a, 'is maximum'

else:

print b, 'is maximum'

3、局部变量

加global可申明为全局变量

4、默认参数值

def say(message, times = 1):

print message * times

5、关键参数

如果某个函数有许多参数,而只想指定其中的一部分,那么可以通过命名来为这些参数赋值——这被称作 关键参数 ——使用名字(关键字)而不是位置来给函数指定实参。这样做有两个 优势 ——一,由于不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,可以只给我们想要的那些参数赋值。

def func(a, b=5, c=10):

print 'a is', a, 'and b is', b, 'and c is', c

func(3, 7)

func(25, c=24)

func(c=50, a=100)

6、return

四、模块

1、使用模块

import sys

print 'The command line arguments are:'

for i in sys.argv:

print i

如果想要直接输入argv变量到程序中(避免在每次使用它时打sys.),可以使用from sys import argv语句

2、dir()函数

可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。

五、数据结构

1、列表

shoplist = ['apple', 'mango', 'carrot', 'banana']

print 'I have', len(shoplist),'items to purchase.'

print 'These items are:', # Notice the comma at end of the line

for item in shoplist:

print item,

print '\nI also have to buy rice.'

shoplist.append('rice')

print 'My shopping list is now', shoplist

print 'I will sort my list now'

shoplist.sort()

print 'Sorted shopping list is', shoplist

print 'The first item I will buy is', shoplist[0]

olditem = shoplist[0]

del shoplist[0]

print 'I bought the', olditem

print 'My shopping list is now', shoplist

2、元组

元组和列表十分类似,只不过元组和字符串一样是不可变的即你不能修改元组。

zoo = ('wolf', 'elephant', 'penguin')

print 'Number of animals in the zoo is', len(zoo)

new_zoo = ('monkey', 'dolphin', zoo)

print 'Number of animals in the new zoo is', len(new_zoo)

print 'All animals in new zoo are', new_zoo

print 'Animals brought from old zoo are', new_zoo[2]

print 'Last animal brought from old zoo is', new_zoo[2][2]

像一棵树

元组与打印

age = 22

name = 'Swaroop'

print '%s is %d years old' % (name, age)

print 'Why is %s playing with that python?' % name

3、字典

类似哈希

ab = { 'Swaroop' : 'swaroopch@byteofpython.info',

'Larry' : 'larry@wall.org',

'Matsumoto' : 'matz@ruby-lang.org',

'Spammer' : 'spammer@hotmail.com'

}

print "Swaroop's address is %s" % ab['Swaroop']

# Adding a key/value pair

ab['Guido'] = 'guido@python.org'

# Deleting a key/value pair

del ab['Spammer']

print '\nThere are %d contacts in the address-book\n' % len(ab)

for name, address in ab.items():

print 'Contact %s at %s' % (name, address)

if 'Guido' in ab: # OR ab.has_key('Guido')

print "\nGuido's address is %s" % ab['Guido']

4、序列

列表、元组和字符串都是序列。序列的两个主要特点是索引操作符和切片操作符。

shoplist = ['apple', 'mango', 'carrot', 'banana']

# Indexing or 'Subscription' operation

print 'Item 0 is', shoplist[0]

print 'Item 1 is', shoplist[1]

print 'Item -1 is', shoplist[-1]

print 'Item -2 is', shoplist[-2]

# Slicing on a list

print 'Item 1 to 3 is', shoplist[1:3]

print 'Item 2 to end is', shoplist[2:]

print 'Item 1 to -1 is', shoplist[1:-1]

print 'Item start to end is', shoplist[:]

# Slicing on a string

name = 'swaroop'

print 'characters 1 to 3 is', name[1:3]

print 'characters 2 to end is', name[2:]

print 'characters 1 to -1 is', name[1:-1]

print 'characters start to end is', name[:]

5、参考

当你创建一个对象并给它赋一个变量的时候,这个变量仅仅参考那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。

print 'Simple Assignment'

shoplist = ['apple', 'mango', 'carrot', 'banana']

mylist = shoplist # mylist is just another name pointing to the same object!

del shoplist[0]

print 'shoplist is', shoplist

print 'mylist is', mylist

# notice that both shoplist and mylist both print the same list without

# the 'apple' confirming that they point to the same object

print 'Copy by making a full slice'

mylist = shoplist[:] # make a copy by doing a full slice

del mylist[0] # remove first item

print 'shoplist is', shoplist

print 'mylist is', mylist

# notice that now the two lists are different

6、字符串

name = 'Swaroop' # This is a string object

if name.startswith('Swa'):

print 'Yes, the string starts with "Swa"'

if 'a' in name:

print 'Yes, it contains the string "a"'

if name.find('war') != -1:

print 'Yes, it contains the string "war"'

delimiter = '_*_'

mylist = ['Brazil', 'Russia', 'India', 'China']

print delimiter.join(mylist) //用delimiter来连接mylist的字符

六、面向对象的编程

1、self

Python中的self等价于C++中的self指针和Java、C#中的this参考

2、创建类

class Person:

pass # An empty block

p = Person()

print p

3、对象的方法

class Person:

def sayHi(self):

print 'Hello, how are you?'

p = Person()

p.sayHi()

4、初始化

class Person:

def __init__(self, name):

self.name = name

def sayHi(self):

print 'Hello, my name is', self.name

p = Person('Swaroop')

p.sayHi()

5、类与对象的方法

类的变量 由一个类的所有对象(实例)共享使用。只有一个类变量的拷贝,所以当某个对象对类的变量做了改动的时候,这个改动会反映到所有其他的实例上。

对象的变量 由类的每个对象/实例拥有。因此每个对象有自己对这个域的一份拷贝,即它们不是共享的,在同一个类的不同实例中,虽然对象的变量有相同的名称,但是是互不相关的。

class Person:

'''Represents a person.'''

population = 0

def __init__(self, name):

'''Initializes the person's data.'''

self.name = name

print '(Initializing %s)' % self.name

# When this person is created, he/she

# adds to the population

Person.population += 1

population属于Person类,因此是一个类的变量。name变量属于对象(它使用self赋值)因此是对象的变量。

6、继承

class SchoolMember:

'''Represents any school member.'''

def __init__(self, name, age):

self.name = name

class Teacher(SchoolMember):

'''Represents a teacher.'''

def __init__(self, name, age, salary):

SchoolMember.__init__(self, name, age)

self.salary = salary

七、输入输出

1、文件

f = file('poem.txt', 'w') # open for 'w'riting

f.write(poem) # write text to file

f.close() # close the file

f = file('poem.txt')

# if no mode is specified, 'r'ead mode is assumed by default

while True:

line = f.readline()

if len(line) == 0: # Zero length indicates EOF

break

print line,

# Notice comma to avoid automatic newline added by Python

f.close() # close the file

2、存储器

持久性

import cPickle as p

#import pickle as p

shoplistfile = 'shoplist.data'

# the name of the file where we will store the object

shoplist = ['apple', 'mango', 'carrot']

# Write to the file

f = file(shoplistfile, 'w')

p.dump(shoplist, f) # dump the object to a file

f.close()

del shoplist # remove the shoplist

# Read back from the storage

f = file(shoplistfile)

storedlist = p.load(f)

print storedlist

3、控制台输入

输入字符串 nID = raw_input("Input your id plz")

输入整数 nAge = int(raw_input("input your age plz:\n"))

输入浮点型 fWeight = float(raw_input("input your weight\n"))

输入16进制数据 nHex = int(raw_input('input hex value(like 0x20):\n'),16)

输入8进制数据 nOct = int(raw_input('input oct value(like 020):\n'),8)

八、异常

1、try..except

import sys

try:

s = raw_input('Enter something --> ')

except EOFError:

print '\nWhy did you do an EOF on me?'

sys.exit() # exit the program

except:

print '\nSome error/exception occurred.'

# here, we are not exiting the program

print 'Done'

2、引发异常

使用raise语句引发异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。

class ShortInputException(Exception):

'''A user-defined exception class.'''

def __init__(self, length, atleast):

Exception.__init__(self)

self.length = length

self.atleast = atleast

raise ShortInputException(len(s), 3)

3、try..finnally

import time

try:

f = file('poem.txt')

while True: # our usual file-reading idiom

line = f.readline()

if len(line) == 0:

break

time.sleep(2)

print line,

finally:

f.close()

print 'Cleaning up...closed the file'

九、Python标准库

1、sys库

sys模块包含系统对应的功能。sys.argv列表,它包含命令行参数。

2、os库

os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。

os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。

os.getenv()和os.putenv()函数分别用来读取和设置环境变量。

os.listdir()返回指定目录下的所有文件和目录名。

os.remove()函数用来删除一个文件。

os.system()函数用来运行shell命令。

os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。

os.path.split()函数返回一个路径的目录名和文件名。

>>> os.path.split('/home/swaroop/byte/code/poem.txt')

('/home/swaroop/byte/code', 'poem.txt')

os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()函数用来检验给出的路径是否真地存在。

希望本文所述对大家的Python程序设计有所帮助。

python简单入门_Python简明入门教程相关推荐

  1. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  2. 爬虫python入门_python爬虫入门教程有哪些?适合的只有这三个

    python爬虫是现在包括以后一种很重要的获取数据的方式. 当然,也因为网络爬虫本身也很有趣,所以很多人了解过一次爬虫后,就产生了浓厚的兴趣. 但是,想学python爬虫的话,应该看什么python爬 ...

  3. python初步入门_python如何入门

    不少新手总是纠结是学 Python2 还是 Python3,就像手里同时有包子和馒头,不知道先吃哪个,这种纠结完全就是徒增烦恼,因为它们 是同一种语言,只有少部分地方语法不兼容,尽管目前大部分公司还在 ...

  4. python免费入门_python免费入门教程/求完整的Python入门教程

    python不错的入门学习教程或者学习路线?适合新手的 可以去菜鸟教程去学,里面有很多基础入门的教程. 不过你想深入学习的话,学马哥python, 网上有一些免费的教程,课程很系统,讲的通俗易懂 求完 ...

  5. python爬虫专家_Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider

    1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. 安装起来是非常简单的 pip install pyspi ...

  6. python爬虫专家_Python爬虫入门教程:微医挂号网专家团队数据抓取pyspider

    1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. github地址: https://github.com ...

  7. python爬虫专家_Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider-阿里云开发者社区...

    1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. 安装起来是非常简单的 pip install pyspi ...

  8. python数据结构中文版_Python官方入门教程_中文版_5.数据结构

    5. 数据结构 本章将详细介绍一些您已经了解的内容,并添加了一些新内容. 5.1. 列表的更多特性 列表数据类型还有很多的方法.这里是列表对象方法的清单: list.append(x) 在列表的末尾添 ...

  9. python在线爬虫_Python爬虫入门教程 99-100 Python爬虫在线服务大全

    本篇文章梦想橡皮擦会为大家介绍一些 python 爬虫相关的在线服务,这些在线服务或者工具很多时候都会大幅度的提高爬取数据的速度. 为何写本篇文章 爬虫百例博客已经临近结尾,最即将收尾之际,希望这篇文 ...

最新文章

  1. 国务院发文!这些专业,将被撤销!
  2. R语言包_rCharts
  3. python中rfind函数_Python rfind()方法
  4. c 链表之 快慢指针 查找循环节点(转)
  5. abp框架java,【Net】ABP框架学习之正面硬钢
  6. Hyperledger Fabric Membership Service Providers (MSP)——成员服务
  7. 在线编程语言模拟(Java,C,Python,R语言,Ruby,PHP,Perl,Go等)
  8. apache php mysql_PHP环境搭建(php+Apache+mysql)
  9. Selenium WebDriver架构
  10. 深入理解Sentinel如何构建Node调用树
  11. bzoj3453: tyvj 1858 XLkxc(拉格朗日插值)
  12. Message from debugger: Terminated due to signal 6
  13. win10任务栏假死原因和解决方法
  14. Android NDK不得不说的秘密
  15. iPhoneX设计稿适配Android,三分钟弄懂iPhoneX设计尺寸和适配(二)
  16. oracle导出辅助账明细,AO2011导入国库集中支付系统3.0的辅助账
  17. Docker Compose 容器编排基础使用
  18. python翻译成中文_Python调用有道智云文本翻译API接口实现“智能”伪原创
  19. android系统允许icon角标,安卓手机角标显示方案
  20. 京东商城 最具争议的B2C

热门文章

  1. β射线与哪些物质可产生较高的韧致辐射_辐射防护试题库(无评分标准)
  2. phpbreak跳出几层循环_4.2.5 PHP break语句跳出循环
  3. vue 修改模板{{}}标签_详解Vue 动态添加模板的几种方法
  4. vue防抖和节流是什么_防抖和节流为什么重要!!!
  5. PHP获取当前毫秒时间戳
  6. linux服务器性能监控命令汇总之sar命令(五)
  7. linux安装软件不同用户名密码,Linux的安装和基本命令
  8. linux安装显卡驱动的run文件,Linux系统下安装NVIDIA显卡驱动(run格式文件)
  9. python切片操作例题_Python之切片操作
  10. 通过IP获取地址,限制某些地址访问(GeoIp)