一、基本语法

1.行和缩进

Python中,不使用括号来表示代码的类和函数定义块或流程控制。

代码块是由行缩进,缩进位的数目是可变的,但是在块中的所有语句必须缩进相同的量。

如下所示:

a = 100

if a >=0:print(a)else:print(-a)

// 同样的,建议一个tab设置成4个空格(Editor->Code Sytle)

2.注释

“#”号之后字符和到物理行是注释的一部分,Python解释器会忽略它们。

多行注释,使用三引号 """ """(单引号亦可)

#First comment

print "Hello, Python!"; #second comment

3.引号

Python接受单引号('),双引号(“)和三(''或”“”)引用,以表示字符串常量,只要是同一类型的引号开始和结束的字符串。

三重引号可以用于跨越多个行的字符串。例如,所有下列是合法的:

word = 'word'sentence= "This is a sentence."paragraph= """This is a paragraph. It is

made up of multiple lines and sentences."""

4.分号

和scala一样,分号是可选的。一般而言可以省略

二、数据类型

a) 数字

b) 字符串

c) 列表

d) 元组

e) 字典

f) set

补充还有布尔值:True和False

python中定义变量时不需要显示指定变量类型,如果要查看数据类型,可以使用type(var),以下为python中变量使用的典型语法:

#基本使用(连scala中的val都省了,全自动类型推断)

counter = 100 #整型

miles = 1000.0 #浮点

name = "John" #字符串

三、字符串和编码

1.字符串

在python3中,默认的字符串编码是Unicode,提供了类似

ord()——字符的整数表示(例如A:65)

decode()/encode()——字符串与bytes之间的互转

len()——表示字符串长度等常规方法

取值支持str[1],str[1:8]这样的区间取值,直接取出某些字符串中的指定位字符。步长也是支持的str[0:5:2]——切片

同样,字符串支持for in的迭代!

字符串格式化与C保持一致:

print("your name is %s,you are %s" % ("Bob", "Good"))

2.编码

通常在py文件的头加上以下两行:来防止乱码

#!/usr/bin/env python3#-*- coding: utf-8 -*-

第一行和shell一样,告诉liunx系列系统这是一个可执行程序

第二行则用于指定编码(当然文件也要指定编码,这部分在pycharm中也应该设定编码)

3.占位符

>>> print('it is %s,i %s it' %('good','like'))

itis good,i like it

和C的占位符类似,不再赘述;相同功能的有format方法:

>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)'Hello, 小明, 成绩提升了 17.1%'

四、list列表和tuple元组

1.List列表

与普通列表list的定义一样是个可变有序列表,注意python的写法:中括号[]

>>> list = ['i','love','chnia']>>>list

['i', 'love', 'chnia']

访问使用从0开始的下标访问,并且支持正负访问:

>>>list[0]'i'

>>> list[1]'love'

>>> list[-1]'chnia'

元素的增删改操作:完整的操作在文档第五章

#末尾插入元素

>>> list.append('you')>>>list

['i', 'love', 'chnia', 'you']#指定位置插入元素

>>> list.insert(1,'really')>>>list

['i', 'really', 'love', 'chnia', 'you']#删除末尾元素

>>>list.pop()'you'

>>>list

['i', 'really', 'love', 'chnia']#删除指定位置元素,remove删除指定元素,clear清空列表

>>> list.pop(1)'really'

>>>list

['i', 'love', 'chnia']>>>

list保存的还可以是不同类型的元素:

>>> list = [1,'love',True]>>>list

[1, 'love', True]>>>

list的遍历:

#!/usr/bin/env python#-*- coding: utf-8 -*-

if __name__ == '__main__':

list= ['html', 'js', 'css', 'python']#方法1

print '遍历列表方法1:'

for i inlist:print ("序号:%s 值:%s" % (list.index(i) + 1, i))print ' 遍历列表方法2:'

#方法2

for i inrange(len(list)):print ("序号:%s 值:%s" % (i + 1, list[i]))#方法3

print ' 遍历列表方法3:'

for i, val inenumerate(list):print ("序号:%s 值:%s" % (i + 1, val))#方法3

print ' 遍历列表方法3 (设置遍历开始初始位置,只改变了起始序号):'

for i, val in enumerate(list, 2):print ("序号:%s 值:%s" % (i + 1, val))

2.tuple元组

tuple就是不可变的list了,表示上使用括号()

>>> tuple = ('i','love',10086)>>>tuple

('i', 'love', 10086)

隐式使用tuple可以进行多重赋值:

a,b = 1,2

# 利用隐式tuple可以简便的交换两个元素的值

x,y = y,x

这里为了避免歧义,定义一个元素的元组时,需要在末尾加逗号,,Python在显示只有一个元素的时候也会加上逗号

>>> tuple1 = (1,)

访问和list一样,使用下标:

>>> tuple[1]'love'

>>>

五、条件判断与循环

1.条件判断

直接从示例看起:注意冒号

age = 20

if age >= 18:print('your age is', age)print('adult')

根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。

结合else的语法如下:(注意else后的冒号:)

age = 3

if age >= 18:print('adult')elif age >= 6:print('teenager')else:print('kid')

python也支持:

ifx:print('True')

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

2.循环

for

和scala有点儿类似(当然,Python先于scala出现),同样注意冒号:

>>> list = [1,'love',True]>>> for e inlist:print(e)1love

True

同样,python提供类似scala的to函数的range用于控制循环:

range是左闭右开的;如果需要控制起始与步长,可以使用range(初始值,结束值,步长)

sum =0for x in range(101):

sum= sum +xprint(sum)

需要使用下标时可以通过相关函数使用:

list1 = ['i', 'love', 'china']for i, e inenumerate(list1):print(i, e)

while

sum =0

n= 99

while n >0:

sum= sum +n

n= n - 2

print(sum)

break和continue同样支持,但是这样会造成程序的分支混乱,慎用!

循环的else可以在循环正常结束时执行!

list1 = ['i', 'love', 'china']for i, e inenumerate(list1):print(i, e)else:print("正常执行完成")

六、dict和set

1.dict

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map

定义的方式是使用冒号分割,大括号包围:

>>> d = {'M': 80,'F': 90}>>>d

{'M': 80, 'F': 90}

# 下标风格的取值,key不存在时为赋值

>>> d['M']

80

使用dict也可以定义:

d1 = dict(a=99, b=98)

类似scala的getOrElse方法进行取值:

>>> d.get('Thomas') # 返回空,None>>> d.get('Thomas', -1)-1

需要注意的是由于需要计算key的hash来确定位置,所以key必须是不可变对象,例如整型、字符串

删除键值对:

是否存在key:

'a' in d1

遍历keys values可以使用keys() values()等

2.set

和其他语言的set类似的定义,但是注意语法,需要给出一个list作出输入来产生一个set

>>> s = set(['i',1,'love'])>>>s

{'i', 'love', 1}

可以通过add(key),remove(key)进行key的增删

由python这类语言的for可以知道,可以使用for进行遍历:for e in s

python3基础语法-Python3入门(三)——Python基础语法相关推荐

  1. python 基础系列(二) — Python基本语法

    python 基础系列(二) - Python基本语法 python基础系列索引 python 基础系列(一) - Python介绍 python 基础系列(二) - Python基本语法 pytho ...

  2. 【python第一章 基础捋顺,第二章 python基础语法】

    第一章 基础捋顺,第二章 python基础语法 第一章 基础捋顺 第二章 python基础语法 2.1输入输出 2.2代码注释 2.3代码缩进 2.4命名规范 2.5变量 2.6基本数据类型 2.7数 ...

  3. Python入门:Python基础

    Python入门:Python基础 前言 随着Python的火爆发展,我们都想加入到这个热潮里.我们知道Python是一种面向对象的,解释型的计算机语言,它的特点是语法简介,优雅,简单易学.那么我们就 ...

  4. 零基础实践深度学习之Python基础

    零基础实践深度学习之Python基础 Python数据结构 数字 字符串 列表 元组 字典 Python面向对象 Python JSON Python异常处理 Python文件操作 常见Linux命令 ...

  5. python基础代码库-python3.4第三方库的安装?python基础代码库

    python怎么安装下载模块 python安装下载模块的:1.按盘上的[win r]快,打开运行窗口:2.输入cmd,点击定]:3.在打开的命令提示符中执行[pip install 模块名]命令即可. ...

  6. python基础入门视频-Python基础入门视频课程——笔记

    Python基础,主讲:汤小洋 一.Python简介 1. Python是什么? ​ Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(龟叔)于1989年 ...

  7. python免费入门手册-Python 基础入门教程

    Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. <Python 基础入 ...

  8. 爬虫系列一:十天python爬虫基础学习实战第二天——python基础语法

    第一天已经学会了基本的开发环境的安装,今天,可以开始学习如何写代码了,朋友们! 回顾: 1.爬虫能干什么? 2.python环境安装 3.pycharm安装(IDE) 4.简单打印输出hello wo ...

  9. 软件测试python基础_软件测试学习教程——python基础

    原标题:软件测试学习教程--python基础 一,print()函数 print 作用:把" "内部的内容,输出到屏幕. print("hello world" ...

  10. python标准库很丰富支持多种编程范式_基础班-第03天{python基础}

    声明:内容来源于网络,本人只是在此稍作整理,如有涉及版权问题,归传智播客官方所有. 认识python(了解) 1.Python发展历史 起源 Python的作者,Guido von Rossum,荷兰 ...

最新文章

  1. 解决 win10 pycurl安装出错 Command python setup.py egg_info failed with error code 10 编译安装包 安装万金油...
  2. C#给图片添加版权信息
  3. 在图像旁边垂直对齐文字?
  4. Spring Boot 2.2首个里程碑版本发布,改进性能和内存使用
  5. PyCharm 2019.1 EAP 5 发布,全新的 Jupyter Notebook
  6. 55. Jump Game
  7. 一个简单词法分析器的实现代码(java实现)
  8. MySQL调优(八):查缺补漏(mysql的锁机制,读写分离,执行计划详解,主从复制原理)
  9. 066:ORM查询条件详解-startswith和endswith:
  10. java异常标记_java异常机制
  11. 显示播客信息-bloginfo() 函数
  12. [原创]css设置禁止中文换行
  13. 2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_1-3课程要求与收益...
  14. python中return self用法详解
  15. linux常用的解压缩文件的命令
  16. Linux XAMP is currently only availably as 32 bit application.
  17. Clion设置背景图片
  18. 【修复】Word“文件发生错误”,无法保存文件
  19. Python正则匹配一招完整去除文本中的各类表情符号
  20. 非常详细的优化问题求解器列表

热门文章

  1. oracle常用关键字和函数
  2. ASP.NET Web API
  3. 极客Web前端开发资源大荟萃#017
  4. ACM中java的使用
  5. poj 1637 Sightseeing tour
  6. python、java实现二叉树,细说二叉树添加节点、深度优先(先序、中序、后续)遍历 、广度优先 遍历算法...
  7. java容器类的继承结构
  8. Linux:vim环境设置
  9. 基础中的基础。CANVAS step01
  10. mapxtreme开发资料全集