Python编程入门基础语法详解经典

一、基本概念

1.内置的变量类型:

Python是有变量类型的,而且会强制检查变量类型。内置的变量类型有如下几种:

#浮点

float_number = 2.3

#复数

complex_number = 1 + 5j

#整型

integer_number = 1

#list 序列

sample_list = [2,52,36,‘abc‘]

#嵌套

sample_nest = [(2,4,6),{5:7,9:11,‘key‘:[2,5]},6]

#dictionary 字典

sample_dic = {"key":value, 5:10}

#tuple 只读的序列

sample_tuple = (3,9,"ab")

从上面的示例可以看出,python的变量无需声明,可直接给变量赋值。

我还是要推荐下我自己创建的Python学习交流群935711829,这是Python学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习Python的资料和入门教程

2.字符串

python中声明一个字符串通常有三种方法,‘‘、" "和‘‘‘ ‘‘‘,这三种方法在声明普通字符串时的效果是完全一样的,区别在于字符串本身中存在引号的情况,举例如下:

word = ‘good‘

sentence = "hello world"

paragraph = ‘‘‘good noon:"nice to meet you."‘‘‘

python中单行注释采用#开头。

#!/usr/bin/python

# First comment

print "Hello, world!"; # second comment

上述内容输出:hello,Python!。注释可以在语句或表达式行末。

多行注释可采用三引号,比如:

‘‘‘This is a comment.

This is a comment, too.

This is a comment, too.

I said that already.‘‘‘

转义符 ‘‘;

自然字符串, 通过在字符串前加r或R。 如 r"this is a line with " 则 会显示,并不是换行。

python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。

3.Python标识符

在python里,标识符有字母、数字、下划线组成。

在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。

python中的标识符是区分大小写的。

以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;

以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。

4.Python保留字符

下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。

所有Python的关键字只包含小写字母。

?

?

如果你在学习Python的过程中遇见了很多疑问和难题,可以加-q-u-n 227 -435-450里面有软件视频资料免费

5.行和缩进

学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:

if True:

print "True"

else:

print "False"

上述,if与else的缩进空白数量相同。以下代码将会报错:

if True:

print "Answer"

print "True"

else:

print "Answer"

print "False"

python中分号;标识一个逻辑行的结束,但是实际中一般每个物理行只写一个逻辑行,可以避免使用分号。这样书写便于阅读。注意:不要混合使用空格和制表符来缩进,因为在跨越不同的平台时无法正常工作。

多个物理行中可以写一个逻辑行,使用行连接符,如下:

s = "peter is

writing this article"

二、运算符与表达式

1. 运算符与其用法

?

?

?

2. 运算符优先级(从低到高)

?

?

三.控制流

1. 条件语句

1.1 if语句

例子, 执行if语句内的程序

a = input("a:")

b = input("b:")

if(a > b):

print a, " > ", b

if else语句:

a = input("a:")

b = input("b:")

if(a > b):

print a, " > ", b

else:

print a, " < ", b

1.2 if…elif…else语句

例子:根据输入的分数,输出分数等级:

score = raw_input("score:")

score=int(score)

if(score >= 90) and (score <= 100):

print "A"

elif(score >= 80) and (score < 90):

print "B"

elif(score >= 60) and (score < 80):

print "C"

else:

print "D"

raw_input() 读取输入值。

?

1.3 if语句的嵌套

编写条件语句时,应该尽量避免使用嵌套语句。嵌套语句不便于阅读,而且可能会忽略一些可能性。

x = -1

y = 99

if(x >= 0):

if(x > 0): #嵌套的if语句

y = 1

else:

y = 0

else:

y = -1

print "y =", y

1.4 实现switch语句的功能

python中没有switch特殊字,Python可以通过字典实现switch语句的功能。

实现方法分两步。首先,定义一个字典。字典是由键值对组成的集合。其次,调用字典的get()获取相应的表达式。

from __future__ import division

x = 1

y = 2

operator = "/"

result = {

"+" : x + y,

"-" : x - y,

"*" : x * y,

"/" : x / y

}

print result.get(operator)

输出为0.5;

另一种使用switch分支语句的方案是创建一个switch类,处理程序的流程。

a) 创建一个switch类,该类继承自Python的祖先类object。调用构造函数init( )初始化需要匹配的字符串,并需要定义两个成员变量value和fall。Value用于存放需要匹配的字符串,fall用于记录是否匹配成功,初始值为false,标识匹配不成功。如果匹配成功,程序往后执行。

b) 定义一个match( )方法,该方法用于用于匹配case子句。这里需要考虑三种情况:首先是匹配成功的情况,其次是匹配失败的默认case子句,最后是case子句中没有使用break中断的情况。

c) 重写__iter__( )方法,定义该方法后才能使switch类用于循环语句中。__iter__( )调用match( )方法进行匹配。通过yield保留字,使函数可以在循环中迭代。此外,调用StopIteration异常中断循环。

d) 编写调用代码,在for…in…循环中使用switch类。

#!/usr/bin/python

# -*- coding: UTF-8 -*-

class switch(object):

def __init__(self, value): # 初始化需要匹配的值value

self.value = value

self.fall = False # 如果匹配到的case语句中没有break,则fall为true。

def __iter__(self):

yield self.match # 调用match方法 返回一个生成器

raise StopIteration # StopIteration 异常来判断for循环是否结束

def match(self, *args): # 模拟case子句的方法

if self.fall or not args: # 如果fall为true,则继续执行下面的case子句

# 或case子句没有匹配项,则流转到默认分支。

return True

elif self.value in args: # 匹配成功

self.fall = True

return True

else: # 匹配失败

return False

operator = "+"

x = 1

y = 2

for case in switch(operator): # switch只能用于for in循环中

if case(‘+‘):

print x + y

break

if case(‘-‘):

print x - y

break

if case(‘*‘):

print x * y

break

if case(‘/‘):

print x / y

break

if case(): # 默认分支

print ""

2.while...语句

只要在一个条件为真的情况下,while语句允许你重复执行一块语句。while语句是所谓 循环 语句的一个例子。while语句有一个可选的else从句。

while True:

pass

else:

pass

#else语句可选,当while为False时,else语句被执行。 pass是空语句。

3.for 循环

for i in range(0, 5):

print i

else:

pass

# 打印0到4

注:当for循环结束后执行else语句;range(a, b)返回一个序列,从a开始到b为止,但不包括b,range默认步长为1,可以指定步长,range(0,10,2);

?

四、函数

函数通过def定义。def关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。

def sumOf(a, b):

return a + b

4.1 局部变量

在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。global语句, 为定义在函数外的变量赋值时使用global语句。

def func():

global x

print "x is ", x

x = 1

x = 3

func()

print x

以上代码,输出的结果为:

3

1

4.2 默认参数

通过使用默认参数可以使函数的一些参数是‘可选的’。

def say(msg, times = 1):

print msg * times

say("peter")

say("peter", 3)

注意:只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。

4.3 关键参数

如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为‘关键参数’)。

优点:不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。

def func(a, b=2, c=3):

print "a is %s, b is %s, c is %s" % (a, b, c)

func(1) #输出a is 1, b is 2, c is 3

func(1, 5) #输出a is 1, b is 5, c is 3

func(1, c = 10) #输出a is 1, b is 2, c is 10

func(c = 20, a = 30) #输出a is 30, b is 2, c is 20

4.3 return语句

return语句用来从一个函数返回,即跳出函数。可从函数返回一个值。

没有返回值的return语句等价于return None。None表示没有任何东西的特殊类型

原文地址:https://www.cnblogs.com/A12321/p/10052953.html

时间: 2024-10-09 04:31:50

Python编程入门基础语法详解经典的相关文章

经典Spring入门基础教程详解

经典Spring入门基础教程详解 https://pan.baidu.com/s/1c016cI#list/path=%2Fsharelink2319398594-201713320584085%2F%E7%BB%8F%E5%85%B8Spring%E5%85%A5%E9%97%A8%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B%E8%AF%A6%E8%A7%A3&parentPath=%2Fsharelink2319398594-201713320584085 博达远

HTML5零基础入门之HTML基础语法详解

HTML5标签 HTML不是一种编程语言,而是一种标记语言(Hyper Text Markup Language).HTML5标记标签是由尖括号括起来的关键词,比如<html>. HTML5的标签通常是成对出现的,如<b>和</b>其中第一个标签是开始标签,第二个标签是结束标签. 语法: <标签名称>文本内容</标签名称> 成对的标签只对包含在其中的文本发生作用: 在每个标签中,大写小写或混写均可. 元素 HTML5元素是指从开始标签到结束标签的

Python基础知识详解 从入门到精通(七)类与对象

本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详解 从入门到精通(三)语法与函数Python基础知识详解 从入门到精通(四)列表.元组.字典.集合Python基础知识详解 从入门到精通(五)模块管理Python基础知识详解 从入门到精通(六)文件操作PS:很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃,为此

RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ基础知识详解,RabbitMQ布曙

消息队列及常见消息队列介绍 2017-10-10 09:35操作系统/客户端/人脸识别 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候. 消息队列主要解决了应用耦合.异步处理.流量削锋等问题. 当前使用较多的消息队列有RabbitMQ.RocketMQ.ActiveMQ.Kafka.ZeroMQ.MetaMq等,而部分数据库如Re

Velocity魔法堂系列二:VTL语法详解

一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不同的平台上,如.Net的NVelocity和js的Velocity.js,虽然各平台在使用和实现上略有差别,但大部分语法和引擎核心的实现是一致的,因此学习成本降低不少哦. 最好的学习资源——官网:http://velocity.apache.org/ 本系列打算采用如下结构对Velocity进行较为

Python安装、配置图文详解(转载)

Python安装.配置图文详解 目录: 一. Python简介 二. 安装python 1. 在windows下安装 2. 在Linux下安装 三. 在windows下配置python集成开发环境(IDE) 1. 在Eclipse中安装PyDev插件 2. 配置Python Interpreters 四. 创建Python Project 五. 编写HelloWorld 六. 小结 一. Python简介: Python在Linux.windows.Mac os等操作系统下都有相应的版本,不管在

分享《Python核心编程(第3版)》《Python编程入门(第3版)》高清中英文版PDF+源代码

<Python核心编程(第3版)>经典<Python核心编程(第二版)>的全新升级版本,总共分为3部分.第1部分为讲解了Python的一些通用应用,包括正则表达式.网络编程.Internet客户端编程.多线程编程.GUI编程.数据库编程.Microsoft Office编程.扩展Python等内容.第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器.CGI和WSGI相关的Web编程.Django Web框架.云计算.高级Web服务.第3部分则为一个补充/实验章节,包括文

Nmap扫描教程之基础扫描详解

Nmap扫描教程之基础扫描详解 Nmap扫描基础扫描 当用户对Nmap工具了解后,即可使用该工具实施扫描.通过上一章的介绍,用户可知Nmap工具可以分别对主机.端口.版本.操作系统等实施扫描.但是,在实施这些扫描工作之前,需要先简单了解下Nmap工具的使用,以方便后面实施扫描.所以,本章将通过使用Nmap工具实施基础的扫描,来帮助用户了解该工具. Nmap扫描扫描概述 在实施基本的扫描之前,需要先了解一些Nmap网络扫描的基本知识,及需要考虑的一些法律边界问题.本节将对网络基本扫描进行一个简单介

Java8初体验(二)Stream语法详解

原文链接:http://ifeve.com/stream/ 1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel aggregate operations. 我们来解读一下上面的那句话: Stream是元素的集合,这点让Stream看起来用些类似Iterator: 可以支持顺序和并行的对原Stream进行汇聚的操作: 大家可以把Stream当成一个高级版本的