今天小编给大家带来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的变量无需声明,可直接给变量赋值。

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的关键字只包含小写字母。

5.行和缩进

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

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

ifTrue:

print"True"

else:

print"False"

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

ifTrue:

print"Answer"

print "True"

else:

print "Answer"

print"False"

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

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

s="peteris

writing this article"

二、运算符与表达式

1. 运算符与其用法

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

​关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货

每天晚上20:00都会开直播给大家分享python学习知识和路线方法,群里会不定期更新最新的教程和学习方法,大家都是学习python的,或是转行,或是大学生,还有工作中想提升自己能力的,如果你是正在学习python的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实

三.控制流

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__importdivision

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 -*-

classswitch(object):

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

self.value=value

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

def__iter__(self):

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

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

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

ifself.fallornotargs: # 如果fall为true,则继续执行下面的case子句

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

returnTrue

elifself.valueinargs: # 匹配成功

self.fall=True

returnTrue

else: # 匹配失败

returnFalse

operator="+"

x=1

y=2

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

ifcase('+'):

print x+y

break

ifcase('-'):

printx-y

break

ifcase('*'):

printx*y

break

ifcase('/'):

printx/y

break

ifcase(): # 默认分支

print""

2.while...语句

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

whileTrue:

pass

else:

pass

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

3.for 循环

foriinrange(0, 5):

print i

else:

pass

# 打印0到4

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

关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货

每天晚上20:00都会开直播给大家分享python学习知识和路线方法,群里会不定期更新最新的教程和学习方法,大家都是学习python的,或是转行,或是大学生,还有工作中想提升自己能力的,如果你是正在学习python的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实

四、函数

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

defsumOf(a, b):

returna+b

4.1 局部变量

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

deffunc():

globalx

print "x is ", x

x=1

x=3

func()

printx

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

3

1

4.2 默认参数

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

defsay(msg, times=1):

print msg*times

say("peter")

say("peter", 3)

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

4.3 关键参数

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

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

deffunc(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表示没有任何东西的特殊类型。

python编程语法-Python编程入门——基础语法详解相关推荐

  1. python命名空间和闭包_Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】...

    本文实例讲述了Python函数基础用法.分享给大家供大家参考,具体如下: 一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点: 1.约束函数的调用者必须按照Kye=value的 ...

  2. SQL入门基础知识详解

    ////// 导读:科学技术的快速发展正在改变我们的社会,也在不经意间改变着未来人们的职业规划.据媒体预测,数据分析将是未来最重要的工作技能之一.或许不久的将来,一家企业中80%的岗位,都需要数据分析 ...

  3. CSS3入门基础(详解)

    CSS3入门基础详解 一.基本概念 css:层叠样式表(Cascading Style Sheets) 样式定义如何显示html元素 样式是为了解决内容与表现分离的问题 多个样式定义可层叠为一 样式通 ...

  4. c语言基础循环程序设计,C语言编程新手入门基础——循环详解!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  5. python画笔粗细函数_Python 画图基础操作详解

    python 画图介绍 本文以实用为第一目标,保证读者在看完此文之后可以迅速上手 python 画图,掌握所有画图的基本技巧.(收藏的同时点个赞呗ヽ(•̀ω•́ )ゝ)库加载 我们使用 matplot ...

  6. python布尔值的作用_Python基础教程详解布尔变量的作用

    布尔值也叫真值,在Python开发(http://www.maiziedu.com/course/python-px/)中所有的值都被解释为真值,标准的真值为true和false.那么布尔变量在Pyt ...

  7. Python标准库之turtle库——基础函数详解

    turle库使用海龟绘图体系,是简单的图形绘制库,包含近百个功能函数. 一.引用turtle库 可使用以下3种方法:   方法1 方法2 方法3 引用方式 import turtle from tur ...

  8. 【视频分享】Java Spring 经典入门基础教程详解

    看到有小伙伴留言说想要Spring相关的,今天就分享一波关于 Spring 的入门视频,有需要的可以领取. Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架 ...

  9. Windows API-GDI入门基础知识详解 来源: PConline.com.cn

    什么是GDI? GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出. 在Wind ...

  10. SQL与NoSQL数据库入门基础知识详解

    这几年的大数据热潮带动了一激活了一大批hadoop学习爱好者.有自学hadoop的,有报名培训班学习的.所有接触过hadoop的人都知道,单独搭建hadoop里每个组建都需要运行环境.修改配置文件测试 ...

最新文章

  1. 图形化编程 html,用GoJS实现图形化交互编程界面示例
  2. 为什么铺天盖地都是Python的广告?
  3. MICROSOFT IGNITE 2018 大会成功举办,Docker 现场揭秘全新版本内容!
  4. java 获取spring对象数组_解析Java中如何获取Spring中配置的bean
  5. Java 中接口和抽象类竟然有 7 点不同?
  6. [转]SQL:JOIN用法
  7. Javascript创建对象几种方法解析
  8. linux中间人攻击工具,[web安全]使用ARPspoof进行中间人(MiTM)攻击
  9. ThinkPHP去除url中的index.php
  10. JUC学习之CountDownLatch入门
  11. 盘点客户管理软件应有的功能有哪些?
  12. Android 字体引入
  13. 运用supervisor管理thinkqueue 和swoole推送
  14. SpringBoot集成移动云MAS平台(SDK版本)
  15. 『随笔』基本功与招式
  16. Transformer代码详解与项目实战之Masking
  17. java-opencv拍照(可自定义分辨率)
  18. 遥感场景识别数据集(场景分类)
  19. C# 里弹出“确定”“取消”对话框
  20. 【移动机器人导航架构】navigation(mose_base)

热门文章

  1. pythongps聚类_python实现K聚类算法
  2. 列名必须是一个字符串或者数组_我爱Julia之入门-078(字符串08)
  3. SubBuilder使用
  4. CNN中的局部连接(Sparse Connectivity)和权值共享
  5. Merkle 树——空间换时间,分而治之的hash表,通过根节点是由它的两个子节点内容的哈希值组成来校验数据完整性,定位篡改的数据位置...
  6. windows10 上运行 linux -- WSL(Windows Subsystem for Linux)
  7. C语言用char数组存储一串整数时的一个陷阱
  8. Entity Framework 数据部分更新之Attach Detach
  9. 摄像头(Ov965x)驱动分析
  10. DOCKER上运行DOTNET CORE