pythonwithelse
1. 如何串联python知识点
1)避免‘\n'等特殊字符的两种方式:
a)利用转义字符‘\'b)利用原始字符‘r' print r'c:\now'
2)单行注释,使用一个#,如:
#hello Python多行注释,使用三个单引号(或三个双引号),如:'''hello pythonhello world'''或"""hello pythonhello world"""另外跨越多行的字符串。也可以使用三个单引号或三个双引号,如:'''......'''或者"""......"""
3)字符串中嵌入双引号等特殊符号
a)利用转义字符‘\'b)使用单引号括起这个字符串。print ('i l"o"ve fis.com')
4)条件分支:
if condition: 条件为真执行的操作 else: 条件为假执行的操作 if condition: action elif condition: action else: action python可以有效避免“悬挂else”(if else对应关系出错)条件表达式(三元操作符) small = x if x<y else y 如果x<y ,small=x.否则small=y断言assert:当这个关键字后面的条件为假,程序自动崩溃并抛出异常 assert 3>4 可以利用他置入检查点
5)while条件:
条件为真执行的操作 for 目标 in 表达式:循环体 例:favorite='fishc' for i in favorite: print(i,end='') range([start,] stop[,step=1])生成一个从start参数的值到stop参数值的数字序列 break:终止当前循环体。跳到外层程序continue:终止本轮循环,开始下一轮循环(if condition true)
6)and逻辑操作符可以将任意表达式连接在一起,并得到一个布尔类型值
7)引入外援:
a)random模块b)randint(),返回一个随机的整数import random 或 from random import randint()secret=random.randint(1,10)
8)python数据类型
a)数值类型:整型、布尔类型、浮点型、e记法(1.5e10)b)类型转换: int()转换为整数 str()转换为字符串 float()转换为浮点数c)获取关于类型的信息: type()函数 a=520 type(a) isinstance()函数 a=12 isinstance(a,int) --->返回true isinstance(a,str) -->返回false
9)Python值常用操作符
+ - * / % **(幂运算) //(地板除法,结果偏小)比较操作符 > < >= <=逻辑操作符 and or not 优先级: 幂运算** 正负号 + - 算术操作符 * / // + - 比较操作符 < > = 逻辑擦作福 not and or
10)列表-->可以把整数、浮点数、字符串等打包在一起。数组却不能
创建一个普通列表: member = ['小甲鱼','小布丁','黑夜']创建一个混合列表: mix=[1,'小甲鱼',3.12,[1,2,3]]创建空列表: empty=[]向列表添加元素: append(): member.append('福禄娃')-->只能添加一个。末尾添加 extend(): member.extend(['test','test1'])-->只能以列表形式添加.末尾添加 insert(): member.insert(1,'牡丹')-->第一位插入牡丹列表中获取元素:使用索引index。 mix[1]列表中删除元素:使用remove()。 mix.remove('小甲鱼') 使用del。 del mix[3]/mix 使用pop()。 mix.pop()/mix.pop(1)列表切片:使用slice。 mix[1:4]/mix[1:]/mix[:4]列表操作符:>,and,+,*,in/not in列表的小伙伴:dir(list) mix.count('小甲鱼') mix.index('小甲鱼')列表逆序:使用reverse。 mix.reverse()列表排序:使用sort。 mix.sort() mix.sort(func,key) mix.sort(reverse=True)
11)元组--->不可改变的列表
和列表的主要不同点:a)创建和访问一个元组: 大部分用()/, ;列表用[]b)元组不可修改数值c)更新和删除一个元组:temp = temp[:2] + ('test3',) + temp[2:] del tempd)IN/NOT IN,关系操作符,逻辑操作符,乘号操作符,连接操作符
12)字符串的各种内置方法
str1='i love fishc.com'a=str1[:6] + '插入的字符串'+str1[6:]capitalize(): str2.capitalize()casefold()--->全部小写 str2.casefold()center(width)-->居中,不足空格填充count(sub[,start[,end]])-->返回sub在string中出现的次数endswith(sub[,start[,end]])-->以sub结束?startswith(prefix[,start[,end]])-->以prefix开头expandtabs([tabsize=8])-->将tab键转换为空格find(sub[,start[,end]])-->sub是否在字符串中出现rfind(sub)...index(sub[,start[,end]])-->跟sub一样,不过会产生异常rindex(sub..).....istitle()/isupper()/ljust(width)/lower()/strip()/title()/lower()join(sub):以字符串做分隔符,分割subpartion(sub):找到子字符串sub,把字符串分成一个3元组replace(old,new[,count])split(sep=none,maxsplit=-1)-->不带参数以空格做分隔符swapcase()-->字符串大小写翻转zfill(width)-->返回长度为width的字符串,不够补充空格
13)字符串格式化 replacement
"{0} love {1}.{2:.2f}".format("i","fishc",3.1424)"{a} love {b}.{c}".format(a="i",b="fishc",c="com")"{0} love {b}.{c}".format("i",b="fishc",c="com")格式化符号含义: %c:格式化字符及其ASCII码 '%c %c %c' % (97,98,99) %s:格式化字符串 %d:格式化整数 %o:格式化无符号八进制数 %x:格式化无符号十六进制数 %X:...(大写) %f:格式化定点数,可指定小数点后的精度 %e:用科学技术发格式化定点数===%E %g:根据值的大小决定使用%f或%e===%G格式化操作符辅助命令: m.n :m是显示的最小总宽度,n是小数位精度 - :用于左对齐 + :在正数面前添加正号 # :在八进制面前显示0,在十六进制面前显示0x 0 :空格用0填充字符串转义字符 \a:发出系统响铃声 \b、\t、\n
14)序列
列表、元组和字符串的共同点: a)都可以通过索引 b)索引值从零开始内置方法: list()-->help-->转换为序列 list() a=list() list(iterable) b='i love fishc.com' b=list(b) tuple([iterable])-->把一个可迭代对象转换为元组 b=tuple(b) str(obj)-->把obj对象转换为字符串 len(obj)-->返回obj的长度 max(序列/元组) / min(序列/元组) sum(iterable[,start=0])-->返回序列iterable。。的总和 sorted(序列/元组)-->排序 reversed(序列/元组)-->返回一个迭代器对象 list(reversed(序列/元组))-->返回序列 enumerate(序列/元组)-->返回一个迭代器对象 list(enumerate(序列/元组))-->返回数组形式列表 zip(a,b)-->合并成以元组形式的列表 list(zip(a,b))
15)函数
定义:def Myfunction(): print('this is my first function')调用:Myfunction()函数的参数: def Myfunction(name,age): print(name+age+'test') Myfunction('gncao',‘age')函数的返回值: return value形参(parameter):函数定义时的参数实参(argument):实际传递的参数函数文档:在函数中实现在函数体中用 '' 或 #查看函数文档: a) functionname.__doc__ (四个下划线) b) help(functionname)关键字参数:避免参数出乱 def Myfunction(words,name): ...... Myfunction(words='words123',name='name123') 默认参数: def Myfunction(name='name123',words='words123') ...... 收集参数:在参数前面加上*号 def test(*params): print('参数的长度是:',len(params)) print('第二个参数是:',params[1]) test(1,'小甲鱼',2,4,5,6,7) def test(*params,exp): print('参数的长度是:',len(params),exp) print('第二个参数是:',params[1]) test(1,'小甲鱼',23,4,2,5,7,exp=0)
16)函数有返回值,过程没有返回值
17)函数变量作用域(可见性)
局部:local-->函数内部定义的变量,局部可用全局:global-->全局可访问当在函数内部试图修改全局变量时,则会在函数内部新建一个跟 全局变量名相同的局部变量
18)内嵌函数和闭包
global关键字: def myfun(): global count ->>>全局变量 count=10 print(count)内嵌函数: def fun1(): print('fun1()正在被调用...') def fun2(): print('fun2()正在被调用') fun2()只能通过fun1()访问fun2()闭包:在一个内部函数中,对外部函数的变量的引用。成内部函数为闭包 def funx(x): def funy(y): return x * y return funy调用方式: i=funx(8) i(5) 或 funx(4)(5) 通过关键字nonlocal可以使得内部函数调用外部函数变量。 def fun1(): x=5 def fun2(): nonlocal x x*=x return x return fun2()
19,递归:
recursion() def fac(n): if n==1: return 1 else: return n*fac(n-1) number=int(input('请输入一个整数:')) result=fac(number) print('%d 的阶乘是:%d' % (number,result)) 迭代方法:def fab(n): n1=1 n2=1 n3=1 if n <1: print('输入有错') return -1 while ( n-2>0 ): n3=n2+n1 n1=n2 n2=n3 n-=1 return n3 result=fab(20)if result != -1: print('总共有%d对小兔子诞生:' % result) 递归方法:def fab(n): if n < 1: print('error') return -1 if n==1 or n==2: return 1 else: return fab(n-1) + fab(n-2) result=fab(20)print('总共有%d对兔子诞生' % result) 但是递归的效率比较低
20)字典(key-value)映射/序列例1:dict1={'李宁':'一切皆有可能','耐克':'just do it','阿迪达斯':'impossible is nothing'} print('李宁的口号是:',dict1['李宁']) 例2:dict3=dict((('f',70),('i',105))) 例3:dict4=dict(小甲鱼='编程改变世界',test='test')dict4['小甲鱼']='修改小甲鱼对应的value' -->如果没有该KEY,则会自动添加一个KEY 字典的内建方法:a)dict2['key']-->访问字典的元素b)fromkeys(s[,v]) -->创建或查询keydict1.fromkeys((1,2,3)){1: None, 2: None, 3: None}dict1.fromkeys((1,2,3),'number'){1: 'number', 2: 'number', 3: 'number'}c)keys()-->dict.keys() -->打印出dict的所有keyvalues()-->dict.values() -->打印出dict的所有valueitems()-->dict.items() -->打印出dict所有(key,value)get()--> dict.get(key) -->打印key对应的valuedict.get(key,'text')-->打印key对应的value,如果不存在,则打印textin操作符 --> key in dict2clear() -->dict.clear() -->清空dict的数据() -->b=a.() -->拷贝字典id(a)-->查看idpop(key) --> dict.pop(key) -->弹出keypopitem() -->dict.popitem() -->随机弹出keysetdefault() -->dict.setdefault(key) -->新建keyupdate() -->dict.update(dict) -->更新字典
2. python中可以使用if作为变量名吗
不可以,if为python保留的字符
下面的列表显示了在 Python 中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称,所有 Python 的关键字只包含小写字母。
and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield
3. python2.x中31个关键字分别是什么意思
Python 2 has 31 keywords:
and del from not while
as elif global or with
assert else if pass yield
break except import print
class exec in raise
continue finally is return
def for lambda try
In Python 3, exec is no longer a keyword, but nonlocal is.
更详细解释参见:http://blog.csdn.net/wangeen/article/details/8676547
4. python关键字有哪些
paython的关键字有and、or、not(逻辑运算符);if、elif、else(条件语句);for、while(循环语句);True、False(布尔变量);continue、break(循环控制)等。
一、and、or、not(逻辑运算符)
and:如果两个语句都返回True,则返回值将仅为True,否则它将返回False。
or:如果其中一条语句返回True,则返回值为True,否则它将返回False。
not:如果语句不是True,则返回值为True,否则返回False。
5. PYTHON的问题
没调试,而且英文不太行,不知道是不是这样
就是从一个文件里读出所有的温度,然后输出一个由最低温度和最高温度组成的列表?
#from file getting lowest and highest temperature
import os
import sys
import re
lowHigh = []
if not os.path.exists(sys.argv[1]):
lowHigh = []
else:
with open(sys.argv[1], 'r') as f:
fCon = f.readlines()
tempList = [re.split(r's+', x.strip())[-1] for x in fCon]
lowHigh = [min(tempList), max(tempList)]
print lowHigh
6. 如何用python 中with 用法
要使用 with 语句,首先要明白上下文管理器这一概念。有了上下文管理器,with 语句才能工作。
下面是一组与上下文管理器和with 语句有关的概念。
上下文管理协议(Context Management Protocol):包含方法 __enter__() 和 __exit__(),支持
该协议的对象要实现这两个方法。
上下文管理器(Context Manager):支持上下文管理协议的对象,这种对象实现了
__enter__() 和 __exit__() 方法。上下文管理器定义执行 with 语句时要建立的运行时上下文,
负责执行 with 语句块上下文中的进入与退出操作。通常使用 with 语句调用上下文管理器,
也可以通过直接调用其方法来使用。
运行时上下文(runtime context):由上下文管理器创建,通过上下文管理器的 __enter__() 和
__exit__() 方法实现,__enter__() 方法在语句体执行之前进入运行时上下文,__exit__() 在
语句体执行完后从运行时上下文退出。with 语句支持运行时上下文这一概念。
上下文表达式(Context Expression):with 语句中跟在关键字 with 之后的表达式,该表达式
要返回一个上下文管理器对象。