打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
十分钟看懂python3语言特性

看了王垠的《如何掌握所有程序语言》,感触甚深。如果说程序语言有其通用规律的话,那就是语言特性,也就是这些语言的通用概念。这些概念的具体语法的形式可能都不一样,但是所内涵的功能是一致的,比如英语中的bird和汉语中,其实指的都是同一种事物,关键是它们怎么运作的,而不是它们的形式是什么。

掌握语言特性,一开始要掌握最基本、最简单的概念和用法,然后由简单到复杂。不是让你从头到尾的学,而是先掌握框架,再逐渐丰富。

下面,尝试写出python的语言特性。

一、字符串和数

1.字符串

所有在单引号‘ ’、双引号“ ”、三引号‘’‘ ’‘’“”“ ”“”里面的单词、句子和数字等都是字符串。其中三个引号可以换行。

‘good’

'''123456'''

2.数字

数字不用加引号,包括整数,浮点数(带小数点的数和科学计数法的数)和复数。

1

3.14156

10E-10

(1+2j)

二、变量

字符串、数、函数、数据结构、类、类的属性等对象通过 = 赋值给变量。

a=55

b='good'

c=[1, 2, 3]

变量分为公共变量,特殊变量和私有变量.

1.公共变量。名称前后不带_,可以正常使用。

2.特殊变量。名称前后带_,一般在Python里有特殊用途,如

_main_

_name_

3.私有变量。名称前带_,不应该被直接引用。

三、算术运算

1.加减乘除,大于小于等于,变成二进制位移,以及二进制求同求异。

2.优先级跟数学算术一样。

3.字符串也可以进行算数运算

'abc'*3

四、数据结构

数据结构,Data Structures,就是储存数据的容器。数据包括字符串和数等对象。

四种数据结构:

1.列表[list],可以增删修改。

2.元组(tuple),不能修改。

3.字典,dict,格式如{key:value},可以增删修改。

4.集合,{set },储存key,不储存value,可以增删。

五、控制结构

1.if

如果...那么。

if ... : 代码块elif ...: 代码块else: 代码块

2.while

如果是TRUE,那么执行下面代码。

while True: 代码块

3.for

for ....in 循环,可迭代出(就是一个个取出)列表、元组、字典和字符串等对象里的元素。

for n in [1,2,3]: print(n)

4.break和continue

break和continue用在 if,while和for里面。

break是停止所有循环,continue是停止执行本次循环中continue下面的语句,继续执行下个循环。

六、函数定义

python有内置函数和自定义函数。内置函数是python定义好的,知道名称就可以直接使用,自定义函数就是用def去定义。

1.定义一个函数,def

def 函数名(参数): 代码块 return ...
  1. 参数类别

    参数共有五种

def 函数名(位置参数,默认参数,*可变参数,**关键字参数,命名关键字参数): 代码块 return

(1)位置参数

放在函数名称的( )里,且不带*,也不在 *参数 后的参数。

举例

def add(x): return x*x

这个x就是位置参数

(2)默认参数

在函数名称后面的( )里,给参数赋值的参数。

举例

def add(n,k=2): reutrn n+kadd(4) #只需要给n赋值即可

这里面的k就是默认参数。

(3)可变参数

可变参数,是指传入参数的个数可以变化,从0到任意个参数,均可。

形式为

def 函数名称(*可变参数): 代码块

举例

def calc(*n): sun=0 for x in n: sum=sum+x return sumcalc(1,2)num=[1,2,3] #如果传入的是个列表,则在列表名称前面加上*calc(*num)num=(1,2,3)#如果传入的是个元组,则在元组名称前面加上*calc(*num)

(4)关键字参数

关键字参数,是指参数名称的个数,可变化,可以放一个参数名称到任意个参数名称。这些参数名称会自动组成一个字典。

形式为

def 函数名称(**关键字参数): 代码块

举例

def add(**kw): print(kw)add(num1=1,num2=2) #必须写成 参数名称=对象 的形式。#结果显示如下{'num1':1,'num2'=2}

(5)命名关键字参数

命名关键字参数限制关键字参数名称的个数。有两种形式

  • 一种是在*后面的参数
def add(*,命名关键字参数名称1,命名关键字参数名称2)

举例如下:

def add(*,flower,tree): print(flower,tree)add(flower='rose',tree='apple')#结果显示rose apple
  • 一种是在 *可变参数 后面的参数
def add(*可变参数,命名关键字参数)

举例如下:

def add(*person,flower,tree): print(person,flower,tree)country=['China','America']add(*country,flower='rose',tree='apple')#结果显示如下('China', 'America') rose apple

七、函数调用

函数调用格式如下

(1)变量=函数名称(参数 )

a=abs(-5) #abs是求绝对值的内置函数。

(2)变量=函数名称

​ 变量(参数)

a=absa(-5)

八、递归

递归就是函数的套用。就是函数里套用一个函数。

使用方法:

def 函数(参数):

​ 代码块

​ return 函数(参数)

举例,求1+2+3+...+(n-1)+n的和

def fact(n): if n==1: return 1 return n*fact(n-1)

九、类型推导

1.推导式

推导式,英文名称Comprehensions,又称生成式。类型有三种,列表推导式,字典推导式和集合推导式,三种方式的语法结构都差不多。

[关于n的表达式 for n in collection if 条件]

举例如下

[x+x for x in range(1,10)]
[n+n for n in range(1,20) if n%2==1]
{ key_expr: value_expr for value in collection if condition }
{ expr for value in collection if condition }

2.生成器

生成器,generator。可以实现一边循环一遍计算,一次生成一个数。

生成器有两种语法结构

(1)把列表生成式的[ ] 改成( )即可

举例

g=(x+x for x in range(10))next(g) #可以不断成数字for n in g: #可以全部打出来 print(n)

(2)把函数里的print 改成 yield即可。

举例

def add(n): yield nnext(add(5))

十、lambda函数

lambda,又称匿名函数。语法结构为:

lambda x:表达式

举例如下

a=lambda x:x*xa(5)

十一、面向对象——class

类,即class,语法形式为

class 类名称(父类名称): #如果没有父类名称,就写object pass

参考:

1.Python中的推导式使用详解

2.廖雪峰的Python教程

3.Python官方指导手册

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python基础找茬系列20——python函数的秘密
Python函数的参数是如何工作的?
函数是如此重要,以至于Go对其做了大量的工作,让其强大好用
Dojo Javascript 编程规范(精)
Python函数学习:一文即可
指针作为函数参数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服