Python基础语法学习总结(2)

Python基础语法学习总结(2)

一、条件和循环

1.条件语句的语法变化不大,主要就是多了个引号还把大括号给整没了,其他基本一样了。

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

2.循环语句有一些区别
(1)while循环:没有do…while循环了,多了while…else循环

#!/usr/bin/python3
 
count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")

执行以上脚本,输出结果如下:

0  小于 5
1  小于 5
2  小于 5
3  小于 5
4  小于 5
5  大于或等于 5

(2)for循环:for循环更方便了,现在专用来遍历可迭代的对象了,如果要像C语言里的for一样也可以使用range()

>>>languages = ["C", "C++", "Perl", "Python"] 
>>> for x in languages:
...     print (x)
... 
C
C++
Perl
Python
>>>
>>>for i in range(5):
...     print(i)
...
0
1
2
3
4

二、迭代器与生成器

这两个都是挺有意思的新东西
1.迭代器就是从头到尾遍历一遍的工具,只可以向前不可以向后,有两个基本的方法:iter() 和 next()。iter()就是创建迭代器,next()就是让迭代器迭代到下一个。

>>> list=[1,2,3,4]
>>> it = iter(list)    # 创建迭代器对象
>>> print (next(it))   # 输出迭代器的下一个元素
1
>>> print (next(it))
2
>>>

2.生成器就只要在函数中加入yield关键词该函数就成为了一个生成器,函数执行到yield时,函数不会结束运行,而是暂停并保存此次运行的信息,然后继续运行函数。例子如下:

import sys

def fibonacci(n):  # 生成器函数 - 斐波那契
    a, b, counter = 0, 1, 0
    while True:
        if (counter > n):
            return
        yield a
        print("继续执行")
        a, b = b, a + b
        counter += 1

f = fibonacci(10)  # f 是一个迭代器,由生成器返回生成

while True:
    try:
        print(next(f), end=" ")
    except StopIteration:
        sys.exit()

运行结果如图:
在这里插入图片描述

三、函数

Python的函数和其他语言差别似乎并不大,就格式区别大些,例子如下

# 定义函数
def printme( str ):
   # 打印任何传入的字符串
   print (str)
   return
 
# 调用函数
printme("我要调用用户自定义函数!")
printme("再次调用同一函数")

另外还有一个值得提的地方,就是因为Python里的变量不同于C语言中的变量,Python中的每个变量都相当于一个指针,给一个变量赋值相当于分配好内存保存该数据然后让变量指针去指向该地址,实例如下:

def change(a):
    print(id(a))   # 指向的是同一个对象
    a=10
    print(id(a))   # 一个新对象
 
a=1
print(id(a))
change(a)

以上实例输出结果为:

4379369136
4379369136
4379369424
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值