Learn Python the Hard Way,ex37-1
本练习为复习python的符号和关键字
关键字有:
- #and or False True
- print(1==0 and 2==0, 1==0 or 2==0)
- print(False)
- print(True)
输出:
False False
False
True
- lists = ['1', '2', 'a', 'afds', 3, 463]
- """
- del:Deletion of a target list recursively deletes each target, from left to right.
- for……in print
- if……elif……else
- """
- # del lists[] values/name
- for i in range(0,len(lists)):
- print(lists, end='\t')
- del lists[0]
- print(lists)
- del lists
- if 'lists' not in locals().keys():
- print("lists is not variable")
- elif 'lists' in locals().keys():
- print("lists is variable")
- else:
- pass
输出结果:
['1', '2', 'a', 'afds', 3, 463] ['2', 'a', 'afds', 3, 463]
['2', 'a', 'afds', 3, 463] ['a', 'afds', 3, 463]
['a', 'afds', 3, 463] ['afds', 3, 463]
['afds', 3, 463] [3, 463]
[3, 463] [463]
[463] []
lists is not variable
- """
- pass: "pass" is a null operation
- def class
- """
- def temp_function(): # a function that does nothing (yet)
- pass
- class temp_class: # a class with no methods (yet)
- pass
- """
- with EXPRESSION as TARGET:
- SUITE
- is semantically equivalent to:
- manager = (EXPRESSION)
- enter = type(manager).__enter__
- exit = type(manager).__exit__
- value = enter(manager)
- hit_except = False
- try:
- TARGET = value
- SUITE
- except:
- hit_except = True
- if not exit(manager, *sys.exc_info()):
- raise
- finally:
- if not hit_except:
- exit(manager, None, None, None)
- """
- with open("temp.txt") as fp:
- lines = fp.readlines()
- i = 0
- while i < len(lines):
- if i == 3:
- i += 1
- continue
- print("%d:" % i, lines[i])
- i += 1
- #is semantically equivalent to:
- try:
- fp = open("temp.txt")
- lines = fp.readlines()
- i = 0
- while i < len(lines):
- if i == 3:
- i += 1
- continue
- print("%d:" % i, lines[i])
- i += 1
- except:
- print("ERROR!!")
- else:
- print("There nothing to print!")
- finally:
- print("This is finally print!")
输出结果:
0: a
1: applw
2: sjklfjs
4: 发的是加费的
5: drwjksjfr
0: a
1: applw
2: sjklfjs
4: 发的是加费的
5: drwjksjfr
There nothing to print!
This is finally print!
tuples = ('1', '2', 'a', 'afds', 3, 463)
sets = {'1', '2', 'a', 'afds', 3, 463}
- """
- is
- """
- if tuples is not sets:
- print("tuple is noe sets!")
输出结果:
tuple is noe sets!
- """
- yield: *generator* function
- yield_stmt ::= yield_expression
- """
- def foo(n):
- a, b = 0, 1
- while 0 < n:
- print(b)
- a, b = b, a+b
- n -=1
- def foo1(n):
- a, b = 0, 1
- L = []
- while 0 < n:
- L.append(b)
- print(L)
- a, b = b, a+b
- n -=1
- return L
- def foo2(n):
- a, b = 0, 1
- while 0 < n:
- yield b
- a, b = b, a+b
- n -=1
- foo(5)
- foo1(5)
- for i in foo2(5):
- print(i)
输出结果:
1
1
2
3
5
[1]
[1, 1]
[1, 1, 2]
[1, 1, 2, 3]
[1, 1, 2, 3, 5]
1
1
2
3
5
- """
- lambda
- lambda_expr ::= "lambda" [parameter_list] ":" expression
- def <lambda>(parameters):
- return expression
- """
- fp = lambda para : open(para)
- print(fp("temp.txt").readlines())
- """
- async for TARGET in ITER:
- SUITE
- else:
- SUITE2
- iter = (ITER)
- iter = type(iter).__aiter__(iter)
- running = True
- while running:
- try:
- TARGET = await type(iter).__anext__(iter)
- except StopAsyncIteration:
- running = False
- else:
- SUITE
- else:
- SUITE2
- """
import asyncio
import time
- async def test2(i):
- r = await other_test(i) #uspend the execution of *coroutine* on an *awaitable* object.
- print("*****",i,r)
- async def other_test(i):
- r = i
- print(i,end="*\t")
- await asyncio.sleep(0)
- print(time.time()-start)
- return r
- url = ["https://segmentfault.com/p/1210000013564725",
- "https://www.jianshu.com/p/83badc8028bd",
- "https://www.baidu.com/"]
- loop = asyncio.get_event_loop() # Get the event loop for the current context.
- task = [asyncio.ensure_future(test2(i)) for i in url] #Wrap a coroutine or an awaitable in a future.
- start = time.time()
- loop.run_until_complete(asyncio.wait(task)) #Wait for the Futures and coroutines given by fs to complete.
- endtime = time.time()-start
- print(endtime)
- loop.close()
输出结果:
https://segmentfault.com/p/1210000013564725* https://www.jianshu.com/p/83badc8028bd* https://www.baidu.com/* 0.0
***** https://segmentfault.com/p/1210000013564725 https://segmentfault.com/p/1210000013564725
0.0019965171813964844
***** https://www.jianshu.com/p/83badc8028bd https://www.jianshu.com/p/83badc8028bd
0.0029840469360351562
***** https://www.baidu.com/ https://www.baidu.com/
0.0039823055267333984
- """
- local global nonlocal
- """
- sets = {'1', '2', 'a', 'afds', 3, 463}
- def temp_global():
- global sets
- print("temp_global", sets)
- sets.add('temp') #+
- print(1, sets)
- sets.update('temp') #+ 重复的就不添加了,可以添加多个
- print(2, sets)
- sets.remove('1') #- 没有会提示错误
- print(3, sets)
- sets.discard('temp') #- 没有不提示错误
- sets.pop() #- 随机删除
- print(4, sets)
- def temp_local():
- print("temp_local", sets)
- sets.add('1') #+
- print(1, sets)
- sets.update('temp') #+ 重复的就不添加了,可以添加多个
- print(2, sets)
- sets.remove('1') #- 没有会提示错误
- print(3, sets)
- sets.discard('temp') #- 没有不提示错误
- sets.pop() #- 随机删除
- print(4, sets)
- def temp_nonlocal():
- name = ['1', '2']
- def temp_nonlocal_fuc():
- nonlocal name
- name.append('3')
- return name
- return temp_nonlocal_fuc
- temp_global()
- print("*", sets)
- temp_local()
- print("**", sets)
- tn = temp_nonlocal()
- print(tn()) #不可单独调用
- print(tn())
输出结果:
temp_global {'2', 3, 'a', 'afds', 463, '1'}
1 {'2', 3, 'a', 'temp', 'afds', 463, '1'}
2 {3, 463, 'e', 'm', '2', 'a', 'afds', 'p', '1', 't', 'temp'}
3 {3, 463, 'e', 'm', '2', 'a', 'afds', 'p', 't', 'temp'}
4 {463, 'e', 'm', '2', 'a', 'afds', 'p', 't'}
* {463, 'e', 'm', '2', 'a', 'afds', 'p', 't'}
temp_local {463, 'e', 'm', '2', 'a', 'afds', 'p', 't'}
1 {463, 'e', 'm', '2', 'a', 'afds', 'p', 't', '1'}
2 {463, 'e', 'm', '2', 'a', 'afds', 'p', 't', '1'}
3 {463, 'e', 'm', '2', 'a', 'afds', 'p', 't'}
4 {'e', 'm', '2', 'a', 'afds', 'p', 't'}
** {'e', 'm', '2', 'a', 'afds', 'p', 't'}
['1', '2', '3']
['1', '2', '3', '3']
Learn Python the Hard Way,ex37-1的更多相关文章
- Learn Python the Hard Way,ex37-2
本练习为复习python的符号和关键字 数据类型有:True False None Strings numbers floats lists dict tuple set ""&q ...
- [IT学习]Learn Python the Hard Way (Using Python 3)笨办法学Python3版本
黑客余弦先生在知道创宇的知道创宇研发技能表v3.1中提到了入门Python的一本好书<Learn Python the Hard Way(英文版链接)>.其中的代码全部是2.7版本. 如果 ...
- 笨办法学 Python (Learn Python The Hard Way)
最近在看:笨办法学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注 ...
- 《Learn python the hard way》Exercise 48: Advanced User Input
这几天有点时间,想学点Python基础,今天看到了<learn python the hard way>的 Ex48,这篇文章主要记录一些工具的安装,以及scan 函数的实现. 首先与Ex ...
- 学 Python (Learn Python The Hard Way)
学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注释和井号 习题 ...
- 算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!
算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!
- python安装完毕后,提示找不到ssl模块的解决步骤
转载自 醇酒醉影 python安装完毕后,提示找不到ssl模块: [root@localhost ~]# python2.7.5 Python 2.7.5 (default, Jun 3 2013, ...
- linux下,Python 多版本共存,及Pip,Easy_install 安装扩展包
Python2与Python3共存 安装Python3后,建立ln,使用Python(Python2),Python3 来区分两个版本 使用sudo apt-get install python3-s ...
- python学习03——设计,与input有关
笨办法学python第36节,我写的代码如下: from sys import exit def rule(): print "Congratulations! You made the r ...
随机推荐
- Codeforces Round #656 (Div. 3) A. Three Pairwise Maximums (数学)
题意:给你三个正整数\(x\),\(y\),\(z\),问能够找到三个正整数\(a\),\(b\),\(c\),使得\(x=max(a,b)\),\(y=max(a,c)\),\(z=max(b,c) ...
- 递归实现jsonTree
using System;using System.Collections.Generic;using System.Text;using WeChatApi.Model;using System.L ...
- 6.Header交换机之模拟验证用户身份
标题 : 6.Header交换机之模拟验证用户身份 目录 : RabbitMQ 序号 : 6 var channel = connection.CreateModel(); //设置服务质量 ch ...
- mysql(五)--性能优化总结
1 优化思路 作为架构师或者开发人员,说到数据库性能优化,你的思路是什么样的? 或者具体一点,如果在面试的时候遇到这个问题:你会从哪些维度来优化数据库, 你会怎么回答? 我们在第一节课开始的时候讲了, ...
- C#通过NI-VISA操作Tektronix TBS 2000B系列示波器
一.概述 本文描述采用C#语言访问控制Tektronix TBS 2000B 系列示波器.接口协议采用NI-VISA. 最近一个项目需要和一款示波器进行通信,需要对示波器进行一些简单控制并获取到波形数 ...
- 字节跳动-前端面试题 Multi Promise Order
字节跳动-前端面试题 Multi Promise Order Promise Order Async/Await async function async1 () { console.log('asy ...
- 如何禁用 Chrome Taps Group feature 💩
如何禁用 Chrome Taps Group feature bug https://support.google.com/chrome/go/feedback_confirmation How to ...
- 联合登录 & OAuth 2.0 & OpenID
联合登录 & OAuth 2.0 & OpenID 第三方联合登录一般可以降低网站的获客成本,所以一般的网站都会做一些联合登录,常用的就是QQ.微信.微博; https://www.z ...
- Virtual Reality In Action
Virtual Reality In Action VR WebXR immersive 沉浸式 https://github.com/immersive-web/webxr https://imme ...
- git in depth
git in depth git delete remote branch # Deleting remote branches in Git $ git push origin --delete f ...