开始之前

基础示例

Python语法基础,python语法比较简单,采用缩紧方式。

# print absolute value of a integer

a = 100

if a >= 0:

print(a)

else:

print(-a)

可以看到,注释以#开头,python的变量不需要任何前缀,行结束不需要结束符号,非常符合我们自然语言的阅读和书写习惯。当语句以:结尾时,缩紧的语句视为代码块。Python是大小写敏感的,这一点需要特别注意。

输入与输出

Python可以使用input()函数读取用户的输入,使用print()进行屏幕的输出。默认情况下,输入的内容为字符数据类型。

数据类型

整数

Python可以处理任意大小的整数,在程序中的表示方法和数学上的写法一模一样,可以使用0xff00的方式表示十六进制。Python中使用/进行除法运算,得到的结果是浮点数。使用//进行除法运算,得到的结果是整数。使用%,表示取余数。

浮点数

浮点数就是小数,可以使用数学写法,如:1.23,-9.01,也可以使用科学计数法表示,如:1.23e9,1.2e-5。

字符串

字符串是使用`或”括起来的任意文本。可以使用*对特殊字符进行转义。可以使用r''的形式,表示内部的字符串默认不进行转义。对于字符串内有换行等多行内容的,可以使用’’’…’’’的形式,多行字符前也可以加r*。在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言。对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符。以Unicode表示的str通过encode()方法可以编码为指定的bytes,如:>>> 'ABC'.encode('ascii’)。反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法

在Python中,采用的格式化方式和C语言是一样的,如下:

>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)

布尔值

布尔值:True、False。也可以用布尔代数表示:3 > 2,* 3 < 2。布尔值的运算符号:and、or、not*。

空值

空值是Python里一个特殊的值,用None表示。

变量

Python中的变量时动态变量,即变量的属性是在赋值的时候才决定的,变量名称必须是大小写英文、数字和*_*的组合,且不能用数字开头。Python中没有常量的概念,通常使用全部大写的变量来表示常量。

列表 list

list 是一种有序的集合,可以随时添加和删除其中的元素。用索引来访问list中每一个位置的元素,索引是从0开始的。当索引超出了范围时,Python会报一个IndexError错误。如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素。

>>> classmates = [‘Michael’,’Bob’,’Tracy']

>>> classmates

[‘Michael’,’Bob','Tracy’]

>>> len(classmates)

3

>>> classmates[0]

‘Michael’

>>> classmates.append('Adam’) #追加元素到末尾

>>> classmates

['Michael', 'Bob', 'Tracy', 'Adam’]

>>> classmates.insert(1, 'Jack’) #追加元素到指定位置

>>> classmates

['Michael', 'Jack', 'Bob', 'Tracy', ‘Adam’]

>>> classmates.pop() #删除末尾的元素,使用pop(i)可以删除指定位置的元素

'Adam'

>>> classmates

['Michael', 'Jack', 'Bob', 'Tracy']

元组 tulp

元组 tulp 也是有序列表,与list的区别在于,一旦初始化就不能修改。没有append、insert等方法。

tulp的定义方式如下:

>>> classmates = (‘Michael’, ‘Bob’, ’Tracy')tulp 本身的元素不能发生变化,但是如果元素为list,那么list中的内容是可变的。

字典 dict

dict 全称 dictionary ,在其他语言中称为 map,在PHP中其实就是 Array,使用键-值(Key-Value)的方式进行存储,具有极快的查找速度。使用范例

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} #dict的定义

>>> d['Michael’] #dict取值的方式

95

>>> d['Adam'] = 67 #dict设置新值的方式

>>> 'Thomas' in d #判断key是否存在

False

>>> d.get('Thomas’) #get方式取值,如果不存在则返回None

>>> d.get('Thomas',-1)#指定不存在时的返回值

-1

>>> d.pop('Bob’) #删除某个key

75

set

set和dict类似,也是一组key的集合,但不存储value。如下示例:

>>> s = set([1, 2, 3]) #初始化时提供一个list作为输入集合

>>> s

{1, 2, 3}

>>> s.add(4) #使用add方法添加元素

>>> s

{1, 2, 3, 4}

>>> s.remove(2) #使用remove方法

>>> s

{1, 3, 4}

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作。

控制语句

条件判断

条件判断比较简单,主要是不要忘记写:,看看例子吧。

>>> age = 3

>>> if age >= 18:

... print('your age is', age)

... print('adult')

... else:

... print('your age is', age)

... print('teenager')

...

your age is 3

teenager

更多的条件判断。

>>> age = 3

>>> if age >= 18:

... print('adult')

... elif age >= 6:

... print('teenager')

... else:

... print('kid')

...

kid

循环

Python中的循环有两种,一种是for...in循环,依次把list或tulp中的每个元素迭代出来。

>>> classmates

['Michael', 'Jack', 'Bob', 'Tracy']

>>> for name in classmates:

... print(name)

...

Michael

Jack

Bob

Tracy

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。

sum = 0

n = 99

while n > 0:

sum = sum + n

n = n - 2

print(sum)跳出循环,可以使用 break 跳出循环。

跳过本次循环,可以使用 continue 跳过本次循环,继续下一次循环。

函数

调用函数

Python中内置了很多函数,可以直接调用。在交互模式中,可以通过help(abs)查看函数的用法。

定义函数

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。

示例如下:

def my_abs(x):

if x >= 0:

return x

else:

return -x在Python交互环境中定义函数时,注意Python会出现…的提示。函数定义结束后需要按两次回车重新回到>>>提示符下。

返回多个值

在其他语言中,一般只能返回一个值或者一个数组、对象,在Python中,可以通过tulp变通的返回多个值。

import math

def move(x, y, step, angle=0):

nx = x + step * math.cos(angle)

ny = y - step * math.sin(angle)

return nx, ny

>>> x, y = move(100, 100, 60, math.pi / 6)

>>> print(x, y)

在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

位置参数

Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。

def power(x): #x 就是一个位置参数

return x * x

def power(x, n): #x,n都是位置参数

s = 1

while n > 0:

n = n - 1

s = s * x

return s

def power(x, n=2): #x,n都是位置参数,n设置了默认值

s = 1

while n > 0:

n = n - 1

s = s * x

return s有几点要注意:

一是必选参数在前,默认参数在后,否则Python的解释器会报错

二是当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。

有多个默认参数时,调用的时候,既可以按顺序提供默认参数。也可以不按顺序提供部分默认参数。当不按顺序提供部分默认参数时,需要把参数名写上。

需要注意的是:默认参数必须指向不变对象!

可变参数

def calc(*numbers):

sum = 0

for n in numbers:

sum = sum + n * n

return sum

定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数。Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去。

关键字参数

关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。

def person(name, age, **kw):

print('name:', name, 'age:', age, 'other:', kw)关键字参数有什么用?它可以扩展函数的功能。比如,在person函数里,我们保证能接收到name和age这两个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。

#可以先组装出一个dict,然后,把该dict转换为关键字参数传进去

>>> extra = {'city': 'Beijing', 'job': 'Engineer'}

>>> person('Jack', 24, city=extra['city'], job=extra['job'])

name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}

#简化的写法

>>> extra = {'city': 'Beijing', 'job': 'Engineer'}

>>> person('Jack', 24, **extra)

name: Jack age: 24 other: {'city': 'Beijing', 'job': ‘Engineer'}extra表示把extra这个dict的所有key-value用关键字参数传入到函数的kw参数,kw将获得一个dict,注意kw获得的dict是extra的一份拷贝,对kw的改动不会影响到函数外的extra。

命名关键字参数

如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数。这种方式定义的函数如下。命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。

def person(name, age, *, city, job):

print(name, age, city, job)

>>> person('Jack', 24, city='Beijing', job='Engineer')

Jack 24 Beijing Engineer如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了。

def person(name, age, *args, city, job):

print(name, age, args, city, job)

参数组合

在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

python 3.6.0新语法,Python 3.6学习笔记(附2018最新python初学者入门视频教学)相关推荐

  1. python 3.6.0新语法_详解Python3.6正式版新特性

    按照Python官网上的计划,Python3.6正式版期望在2016-12-16号发布,也就是这周五.从去年的5月份开始,Python3.6版本就已经动手开发了,期间也断断续续的发布了4个Alpha版 ...

  2. 用python处理excel的基本语法_Python操作Excel学习笔记(28):条件格式

    excelperfect Excel支持3种不同类型的条件格式:内置.标准和自定义.内置条件格式将特定规则与预定义样式相组合.标准条件格式将特定规则与自定义格式相组合.此外,可以定义自定义公式来应用使 ...

  3. 《Python核心编程(第3版)》学习笔记及书评

    <Python核心编程(第3版)>学习笔记 文章目录 <Python核心编程(第3版)>学习笔记 写在前面 1. 正则表达式 1.1 常用语法 1.2 re模块 2. 网络编程 ...

  4. 第十六节:语法总结(3)(C#6.0和C#7.0新语法)

    一. C# 6.0 新语法 1. 自动属性初始化可以赋值 1 /// <summary> 2 /// 自动属性初始化 3 /// </summary> 4 public cla ...

  5. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-04-基于Python的LeNet之MLP

    原文地址可以查看更多信息 本文主要参考于:Multilayer Perceptron  python源代码(github下载 CSDN免费下载) 本文主要介绍含有单隐层的MLP的建模及实现.建议在阅读 ...

  6. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR

    原地址可以查看更多信息 本文主要参考于:Classifying MNIST digits using Logistic Regression  python源代码(GitHub下载 CSDN免费下载) ...

  7. python学习笔记(一)Python 简单介绍

    Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...

  8. Python学习笔记(二)——Python基本图形绘制

    Python学习笔记(二)--Python基本图形绘制 文章目录 Python学习笔记(二)--Python基本图形绘制 不同编程语言的初心和适用对象 Python蟒蛇绘制 五星红旗绘制 这次笔记主要 ...

  9. Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件

    Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件 用Polyworks脚本开发,没有高级语言的支持,功能难免单一,一些比较复杂的交互实现不了,界面和报告也很 ...

最新文章

  1. SimpliVity:我是你的完美选择,HPE!
  2. 利用ISA Server 2006服务器阵列构建高性能、高可靠的企业防火墙
  3. 赋能云HBase备份恢复 百T级别数据量备份恢复支持
  4. 阿里云引领云原生进化 | 云原生生态周报 Vol. 60
  5. iperf3 测速跑不满的解决办法
  6. oracle查数据存入数组,如何在SQL查询中使用Oracle关联数组
  7. ensp保存文件在哪_eNSP——配置通过FTP进行文件操作
  8. 楚留香手游服务器维护,【楚留香手游】4.27日游戏维护公告
  9. 虽然有失落的即时通讯
  10. 如何使用Pinterest新推出的功能Rich Pin
  11. orm2 中文文档 3.2 模型验证器
  12. New Concept English Two 5
  13. MOS驱动电路设计需要注意的地方
  14. [Linux]在Ubuntu下虚拟机的安装以及在Ubuntu中进行UDP套接口通信
  15. 魔窗7式之微信一键唤起App内页
  16. saltstack return mysql_10-saltstack 数据返回到MySQL
  17. Wilbur and Array
  18. 【如何在知网下载学位论文PDF版本】
  19. html中如何调整图片的对比色,最好的在线配色器 网页配色 在线配色
  20. 【python】pymysql

热门文章

  1. numpy实用技巧(一)
  2. Python中的三目运算符
  3. keil c语言中断怎么写,如何利用keil C实现单片机中断功能
  4. python画简便的图-python如何画出漂亮的地图?网友:教教我呗
  5. python函数定义及调用-python函数基础(函数的定义和调用)
  6. python数据分析-《Python数据分析与数据化运营》电子版
  7. python从入门到精通需要多久-学习Python从入门到精通需要多长时间
  8. python单词的含义-python 前面几个单词含义
  9. python和java哪个好学-Java VS Python 应该先学哪个?
  10. 声智科技陈孝良:没有好的语音数据收集,语音识别和交互不可能做好