day03
1.set集合--无序的,不重复的序列,类似dict,但是只有key,没有value
创建一个集合:
s1 = {11,22,33}
s2 = set((22,33,44))必须传入一个可迭代对象(tuple、list、字符串)作为参数
s3 = set([11,22,33])
s4 = set('112233')
s1.add(44)增加一个元素
s1.update(s4)批量增加
s1.difference(s2) s1里边有的,s2里边没有的
s2.difference(s1) s2里边有的,s1里边没有的
2.异常检查 try except else finally语句
try为异常检语句
如果try语句范围内代码执行成功,则else下的语句也执行
否则执行except下的语句
finally下的代码无论try是否成功都执行。
3.while else 语句
当while循环顺利执行完毕后,else语句会被执行,当while循环被中断(例如break),else语句不会执行。
下边代码 else会执行
count = 0
while count < 3:
print(count+1)
count += 1
else:
print('else执行了')
下边代码else不会执行
count = 0
while count < 3:
print(count+1)
if count ==2:
break
count += 1
else:
print('else执行了')
4.函数返回值return
如果函数里边没有写return语句,函数会自动返回一个值None
def func():
print('test') req = func()
print(req)
5.os.path.exists(filename)用来判断文件是否存在
举例:
file = '/root/result.txt'
if os.path.exists(file):
os.remove(file)
6.函数的参数:
普通参数:(形式参数<-->实际参数)
举例:
def func1(name, age, sex): # name,age,sex为形式参数
print(name, age, sex) func1('Jack', 22, 'male') # Jack,22,male为实际参数
默认参数:(必须放在参数列表的后边)
def func1(name, age, sex='male'): # sex为默认参数
print(name, age, sex) func1('Miffy', 22, 'female')
func1('Terry', 23)
指定参数:
def func1(name, age, sex='male'):
print(name, age, sex) func1(age=22, sex='female', name='Lily') # 不必注意顺序
动态参数:
一个*
如果传的参数是单个元素,默认将传入的参数放到一个元祖中,如果参数是一个列表,则将列表作为元祖的一个元素。
def func1(*args):
print(args) func1(11, 22, 33, 44)
def func1(*args):
print(args) l1 = ['aa','bb','cc']
func1(11, l1, 33, 44)
如果给参数加上*,将会把元素通过for循环展开把参数的每个元素组成一个元祖。
def func1(*args):
print(args) l1 = ['aa','bb','cc']
func1(*l1)
动态参数:
**2个星
默认传入一个指定参数,将指定参数以key,value的方式放到一个字典中。
def func1(**args):
print(args) func1(name='terry')
如果传入的指定参数的值为字典,dic的value将为一个字典。
def func1(**args):
print(args) d1 = {'k1': 'v1', 'k2': 'v2'}
func1(dic=d1)
如果传入的字典带**,将会把传入的字典的每个元素放入新的字典中。
def func1(**args):
print(args) d1 = {'k1': 'v1', 'k2': 'v2'}
func1(**d1)
万能参数(*args,**kwargs)必须一个星在前边,2个星的在后边 (args,kwargs可以随便写,一般建议写成这样)
def func1(*args, **kwargs):
print(args)
print(kwargs) d1 = {'k1': 'v1', 'k2': 'v2'}
func1(11,22,33,dict=d1)
python的字符串format函数:其实就是万能参数的形式
举例:
s = 'I am {0},my age is {1}'.format('terry', 18)
print(s)
s = 'I am {0},my age is {1}'.format(*['terry', 18])
print(s)
s = 'I am {name},my age is {age}'.format(age=18, name='terry')
print(s) d1 = {'name':'terry', 'age':18}
s = 'I am {name},my age is {age}'.format(**d1)
print(s)
python的函数传参数传递的是一个引用,而非重新复制一份参数
例子:
def func1(a1):
a1.append(999) l1 = [11, 22, 33]
func1(l1)
print(l1) 如果是重新复制的话,a1指向的列表是另一个地址,所以a1.append(999)和l1是没有关系的
如果是引用的话,a1和l1都指向同一个列表地址,a1.append(999)后,l1也会改变。
如下执行结果
7.三元运算符(对于简单的if else语句可写成三元运算符的形式)
if 1 == 1:
name = 'alex'
else:
name = 'eric' name = 'alex' if 1 == 1 else 'eric'
8.lamda表达式(对于简单的函数可以写成lamda表达式的方式)
def f1(a1):
return a1 + 100
print(f1(10)) f = lambda a1: a1 + 100
print(f(10))
9.python 内置函数bytes()
s = '奥运' ret = bytes(s,encoding='utf-8') # 用utf-8编码,一个汉字占3个字节
print(ret) ret = bytes(s,encoding='gbk') # 用gbk编码,一个汉字占2个字节
print(ret)
10.文件操作
f = open('xxx','r+') # 可读,可写
f.tell() # 获取指针,以字节为单位
f.seek(1) # 调整当前指针的位置,从指针位置往后写,后边的内容会覆盖,以字节为单位。
f.flush() # 强刷
f.truncate() #截断,将指针后边的内容清空
for 循环迭代文件:
f = open('xxx')
for line in f:
print(line)
f.close()
day03的更多相关文章
- 传智播客JavaWeb day03
ServletContext 这堂课主要讲ServletContext这个web域(可以看得见范围的)对象,web在启动的时候会创建唯一的ServletContext域对象. 作用:1.用来web域共 ...
- Java基础毕向东day03
Java基础毕向东day03 1.变量 2.条件结构 3.循环结构,for while,和几种特殊的情况. 4.函数重载
- My way to Python - Day03
列表和字典的赋值 dict1 = {} dict1['k1'] = 'v1' list1 = [] list1.append('v1') 集合系列 1,计数器 Python 2.7.6 (defaul ...
- Oracle DB Day03(SQL)
--day03 --创建一个包含下面信息的表,并添加一些记录待用 --EMPLOYEE_ID NOT NULL NUMBER(6) --FIRST_NAME VARCHAR2(20) --LAST_N ...
- python day03笔记总结
2019.3.29 S21 day03笔记总结 昨日回顾及补充 1.运算符补充 in not in 2.优先级 运算符与运算符之间也有优先级之分 今日内容 一.整型(int) py2 与 py3 的区 ...
- Python基础-day03
写在前面 上课第三天,打卡: 不要让干净的灵魂染上尘埃,永远年轻.永远热泪盈眶 一.再谈编码 - 文件的概念 '文件' 是一个抽象的概念,是操作系统提供的外部存储设备的抽象,对应底层的硬盘:它是程序 ...
- day03用户交互、基本数据类型、运算符
用户交互 在实际应用中,我们经常需要用户输入相应信息,根据用户输入信息进行反馈,此时我们需要input/output信息 python中提供了便捷的输入方法input()和print() 在pytho ...
- html--笔记day03
html--笔记day03 1.结构标记 1.<header>元素 <header></header> ==> <div id="header ...
- Day03 javascript详解
day03 js 详解 JavaScript的基础 JavaScript的变量 JavaScript的数据类型 JavaScript的语句 JavaScript的数组 JavaScript的函数 Ja ...
- python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)
s12-20160116-day03 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
随机推荐
- git init
git clone git@code.easyunion.net:516059158/cloud-basic-knowledge.git添加codes;git add .;git commit -m ...
- js中方法类型比较
参考链接 http://bbs.csdn.net/topics/390775296/ function People(name){this.name=name;//对象方法this.Introduce ...
- Python之路【第一篇】:Python前世今生
Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...
- c++对象模型之Data布局
Data语意学 class X{}; class Y : publicvirtual X {}; class Z : publicvirtual X {}; class A : publicY, pu ...
- 定时关机命令——shutdown
通常会用到的定时关机命令有两种: Shutdown -s -t 36001小时后自己主动关机(3600秒) at 12:00 Shutdown -s 12:00自己主动关闭计算机 系统定时关机: Wi ...
- USACO lamps
IOI 98称号.然后,它似乎没有很困难.即使我能做到这一点微弱的残留物.所有的button按两次不按,高达因此实际上总的等效按4二级,首先C往下<=4,则搜索将能直接照射,总共只有16状态(事 ...
- PowerDesigner 生成带凝视SQL 各个版本号通用10(12、15)
做数据库是设计时最苦恼的事就是用PowerDesigner工具设计完数据库运行SQL文件后没有凝视.那么怎么才干让PowerDesigner设计完有凝视呢,下边教你一个笨的方法,方法尽管笨,可是能实现 ...
- 【移动开发】WIFI热点通信(一)
之前调查过Android中WIFI模块的使用,也写过两篇学习总结的文章(http://smallwoniu.blog.51cto.com/3911954/1334951),后来发现DEMO里面还是有许 ...
- 线段树---HDU2795Billboard
这道题跟第二个题差不多,求单点的最大值. 题目大意:有个高和宽分别为h, w的广告牌, 这个广告牌分成高为 1 的长条, 每条分别能贴长度为wi长度的广告, 输入的n为广告的条数,广告优先贴在最上边和 ...
- 本机运行.net 2.0项目报错,解决方案
本机在iis上运行.net 2.0项目时,报以下错误“请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”: 本机环境配置: 安装有以下几个.net 版本:v1.0.3705,v1.1.4322 ...