python3基础语法-Python3入门(三)——Python基础语法
一、基本语法
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基础语法相关推荐
- python 基础系列(二) — Python基本语法
python 基础系列(二) - Python基本语法 python基础系列索引 python 基础系列(一) - Python介绍 python 基础系列(二) - Python基本语法 pytho ...
- 【python第一章 基础捋顺,第二章 python基础语法】
第一章 基础捋顺,第二章 python基础语法 第一章 基础捋顺 第二章 python基础语法 2.1输入输出 2.2代码注释 2.3代码缩进 2.4命名规范 2.5变量 2.6基本数据类型 2.7数 ...
- Python入门:Python基础
Python入门:Python基础 前言 随着Python的火爆发展,我们都想加入到这个热潮里.我们知道Python是一种面向对象的,解释型的计算机语言,它的特点是语法简介,优雅,简单易学.那么我们就 ...
- 零基础实践深度学习之Python基础
零基础实践深度学习之Python基础 Python数据结构 数字 字符串 列表 元组 字典 Python面向对象 Python JSON Python异常处理 Python文件操作 常见Linux命令 ...
- python基础代码库-python3.4第三方库的安装?python基础代码库
python怎么安装下载模块 python安装下载模块的:1.按盘上的[win r]快,打开运行窗口:2.输入cmd,点击定]:3.在打开的命令提示符中执行[pip install 模块名]命令即可. ...
- python基础入门视频-Python基础入门视频课程——笔记
Python基础,主讲:汤小洋 一.Python简介 1. Python是什么? Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(龟叔)于1989年 ...
- python免费入门手册-Python 基础入门教程
Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. <Python 基础入 ...
- 爬虫系列一:十天python爬虫基础学习实战第二天——python基础语法
第一天已经学会了基本的开发环境的安装,今天,可以开始学习如何写代码了,朋友们! 回顾: 1.爬虫能干什么? 2.python环境安装 3.pycharm安装(IDE) 4.简单打印输出hello wo ...
- 软件测试python基础_软件测试学习教程——python基础
原标题:软件测试学习教程--python基础 一,print()函数 print 作用:把" "内部的内容,输出到屏幕. print("hello world" ...
- python标准库很丰富支持多种编程范式_基础班-第03天{python基础}
声明:内容来源于网络,本人只是在此稍作整理,如有涉及版权问题,归传智播客官方所有. 认识python(了解) 1.Python发展历史 起源 Python的作者,Guido von Rossum,荷兰 ...
最新文章
- 解决 win10 pycurl安装出错 Command python setup.py egg_info failed with error code 10 编译安装包 安装万金油...
- C#给图片添加版权信息
- 在图像旁边垂直对齐文字?
- Spring Boot 2.2首个里程碑版本发布,改进性能和内存使用
- PyCharm 2019.1 EAP 5 发布,全新的 Jupyter Notebook
- 55. Jump Game
- 一个简单词法分析器的实现代码(java实现)
- MySQL调优(八):查缺补漏(mysql的锁机制,读写分离,执行计划详解,主从复制原理)
- 066:ORM查询条件详解-startswith和endswith:
- java异常标记_java异常机制
- 显示播客信息-bloginfo() 函数
- [原创]css设置禁止中文换行
- 2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_1-3课程要求与收益...
- python中return self用法详解
- linux常用的解压缩文件的命令
- Linux XAMP is currently only availably as 32 bit application.
- Clion设置背景图片
- 【修复】Word“文件发生错误”,无法保存文件
- Python正则匹配一招完整去除文本中的各类表情符号
- 非常详细的优化问题求解器列表