Python 每天一小时(10.16)

模版的导入:

import somemodule
from somemodule import somefunction
from somemodule import somefunction,anotherfunction,threefunction
from somemodule import *
from somemodule as somename

bool值:False None 0 ‘‘ {} () [] 都会认为是False,其他的一切都会被解释为真。

条件语句:if else elif while for (这里比较不写了和以前了解的基本一样)

is 和 ==的区别  is判断是否是同一 == 表示是否相等

一些迭代工具:

在python中迭代对象的时候,内建函数是非常有用的。

zip可以将两个序列‘压缩在一起’然后返回一个元组列表。

>>> names = [‘hanxingzhi‘,‘zhengli‘,‘zhangli‘]
>>> ages = [12,32,43]
>>> for i in range(len(names)):
    print names[i],‘is‘,ages[i],‘years old‘

hanxingzhi is 12 years old
zhengli is 32 years old
zhangli is 43 years old
>>> for name,age in zip(names,ages):
    print name,‘is‘,age,‘years old‘

hanxingzhi is 12 years old
zhengli is 32 years old
zhangli is 43 years old
>>> 

其中zip的返回值是

>>> zip(names,ages)
[(‘hanxingzhi‘, 12), (‘zhengli‘, 32), (‘zhangli‘, 43)]

另外要了解的是zip可以应用任意多的序列,对应不同长度的序列当最短的序列用完的时候zip方法就会停止。

循环中的else语句:

import math

num = 0
for i in range(101,200):
    k = int(math.sqrt(i))
    for j in range(2,k + 1):
        if i % j == 0:
            break;
    else:
        num += 1
        print ‘%-4d‘ % i
print ‘the total num is‘,num

上面的语句是查找101到200之间的所有的素数,可以好好体会一下else的使用。

在循环内部使用break常常是因为找到了某个事物或者某个事件发生了,在跳出之前做一些事情,如果我们要在没有找到某个事物或者没有发生某个事件的时候做一些事情。

一种方式是使用bool变量在循环之前设置为False,当在循环中发生了事情的时候将起设置为True然后在循环的外部使用if来判断循环是否跳出了。

另一种方式是使用else关键字,在循环的外面添加else,如果在循环的内部没有发生break语句,那么在循环结束就会执行else中的语句。

列表推倒式:(已经了解过了在了解一下了当巩固了)

是利用其他列表创建新的列表

>>> [x*x for x in range(0,10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

在后面可以添加条件:

>>> [x*x for x in range(0,10) if x % 3 == 0]
[0, 9, 36, 81]

还可以添加更多的for循环

>>> [(x,y) for x in range(0,10) if x % 3 == 0 for y in range(3)]
[(0, 0), (0, 1), (0, 2), (3, 0), (3, 1), (3, 2), (6, 0), (6, 1), (6, 2), (9, 0), (9, 1), (9, 2)]

走马观花三个语句:pass del exec

pass :有些时候程序什么都不做,那么就使用pass,相当与在c#中使用的空语句。

name = ‘han‘
if name == ‘some‘:
    print ‘name is %s‘ % name
elif name == ‘sb‘:
    pass
else:
    print ‘name is han‘

del:Python会删除那些不在使用的对象,del语句用来删除变量,或者数据结果中一部分,但是不用用来删除值。

exec:语句用来执行与python程序相同的字符串。

时间: 2024-08-09 10:24:53

Python 每天一小时(10.16)的相关文章

python 每天一小时(10.12)

变量和内存管理: 和大多数的编程语言一样,在使用变量之前一定要先声明变量.在python中变量的声明和赋值时同时进行的,在第一次赋值的时候自动声明. 但是要注意的是python中变量的类型是动态的,他的类型和内存占有都是在运行的时候确定的,其是这和经常使用的语言是不一样的,比如C#. 他的变量的类型和所占的内存在声明的时候就是确定的. 引用计数 为了追踪内存中的对象,python使用了引用计数这一简单技术,就是说在python内部记录着所有使用中的引用各有多少引用,当对象被创建的时候就创建了一个

python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)

进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上,直接上例子 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 16进制转10进制: int('0x10', 16)  ==>  16 类似的还有oct(), bin() ------------------- 字符串转整数: 10进制字符串: int('10')  ==>  10 16进制字符串: int('10', 16)  ==>  16 16进

经典C语言程序设计100例 -- C 和 Python 版 (06 - 10)

[06]格式化输出 题目:用*号输出字母C的图案. 思路:可先用'*'号在纸上写出字母C,再分行输出.如果输出图形较大,且有规律可循,可考虑使用循环. C 语言代码 int main() { const char *p = " **** \n" " ** ** \n" "** \n" "** \n" "** \n" " ** ** \n" " **** \n"; pr

python 如何将md5转为16字节

python的hashlib库中提供的hexdigest返回长度32的字符串. md5sum是128bit,也就是16字节,如何将python生成字符串的转为16字节呢? 请看下面代码 import hashlib def get_md5(s): m = hashlib.md5(s) return m.hexdigest() def convert_md5(origin): result = [] s = "" for i in range(len(origin)): s += ori

2019.10.16&17小结

话说也蛮久没写小结了,主要这两次考试失分严重,还是总结下吧. 10.16 T1 小奇挖矿2 100/0 [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿石交易市场,以便为飞船升级无限非概率引擎. [问题描述] 现在有m+1个星球,从左到右标号为0到m,小奇最初在0号星球. 有n处矿体,第i处矿体有ai单位原矿,在第bi个星球上. 由于飞船使用的是老式的跳跃引擎,每次它只能从第x号星球移动到第x+4号星球或x+7号星球.每到一个星球,小奇会采走该星球上所有的

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展 iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html sant,dnat,masquerade http://www.aminglinux.com/bbs/thread-7255-1-1.html iptables限制syn速率 http://www.aminglinux.com/bbs/thre

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中。例如123放在num[0]中,456放在num[1]中……统计共有多少个整数,并输出这些数。

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中.例如123放在num[0]中,456放在num[1]中--统计共有多少个整数,并输出这些数. #include <stdio.h> int main(){ void search(char * parr, int * pnum); char arr[100],* parr; int num[30],* pnum; parr=arr;

C# 中2,10,16进制及其ASCII码之间转化

C# 中2,10,16进制及其ASCII码之间转化             --------//C#中各种字符类型的转化,使用于串口通信------------ //字符长度的理解            string s = "我是一个2兵";            int len = s.Length;//6个字符              byte[] sarr = System.Text.Encoding.Default.GetBytes(s);            len =

ERROR: openstack Error finding address for http://10.16.37.215:9292/v1/images: [Errno 32] Broken pipe

Try to set: no_proxy=10.16.37.215 this should help 转自: http://askubuntu.com/questions/575938/error-in-devstack-installing-on-ubuntu

ERROR 2003 (HY000): Can&amp;#39;t connect to MySQL server on &amp;#39;10.16.115.101&amp;#39; (111)

ubuntu安装之后mysql,使用apt-get安装命令,默认为同意只本地访问 [email protected]:~/software# mysql -uroot -p123456 -h10.16.115.101 -P3306 ERROR 2003 (HY000): Can't connect to MySQL server on '10.16.115.101' (111) 默认配置文件: 须要把bind-address凝视掉 重新启动mysql服务 [email protected]:~/