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的更多相关文章

  1. 传智播客JavaWeb day03

    ServletContext 这堂课主要讲ServletContext这个web域(可以看得见范围的)对象,web在启动的时候会创建唯一的ServletContext域对象. 作用:1.用来web域共 ...

  2. Java基础毕向东day03

    Java基础毕向东day03 1.变量 2.条件结构 3.循环结构,for while,和几种特殊的情况. 4.函数重载

  3. My way to Python - Day03

    列表和字典的赋值 dict1 = {} dict1['k1'] = 'v1' list1 = [] list1.append('v1') 集合系列 1,计数器 Python 2.7.6 (defaul ...

  4. Oracle DB Day03(SQL)

    --day03 --创建一个包含下面信息的表,并添加一些记录待用 --EMPLOYEE_ID NOT NULL NUMBER(6) --FIRST_NAME VARCHAR2(20) --LAST_N ...

  5. python day03笔记总结

    2019.3.29 S21 day03笔记总结 昨日回顾及补充 1.运算符补充 in not in 2.优先级 运算符与运算符之间也有优先级之分 今日内容 一.整型(int) py2 与 py3 的区 ...

  6. Python基础-day03

    写在前面 上课第三天,打卡:  不要让干净的灵魂染上尘埃,永远年轻.永远热泪盈眶 一.再谈编码 - 文件的概念 '文件' 是一个抽象的概念,是操作系统提供的外部存储设备的抽象,对应底层的硬盘:它是程序 ...

  7. day03用户交互、基本数据类型、运算符

    用户交互 在实际应用中,我们经常需要用户输入相应信息,根据用户输入信息进行反馈,此时我们需要input/output信息 python中提供了便捷的输入方法input()和print() 在pytho ...

  8. html--笔记day03

    html--笔记day03 1.结构标记 1.<header>元素 <header></header> ==> <div id="header ...

  9. Day03 javascript详解

    day03 js 详解 JavaScript的基础 JavaScript的变量 JavaScript的数据类型 JavaScript的语句 JavaScript的数组 JavaScript的函数 Ja ...

  10. python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)

    s12-20160116-day03 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

随机推荐

  1. perl 正则前导字符

    uat-prx02:/root# cat a1.pl my $str="123"; if ($str =~/(abc)*/){print "111111111\n&quo ...

  2. bzoj3575[Hnoi2014]道路堵塞

    http://www.lydsy.com/JudgeOnline/problem.php?id=3575 总赶脚第二题总是比第三题难...... 好吧,这题一点思路都没有 听说用民科可以过掉大部分数据 ...

  3. Number of 1 Bits——LeetCode

    Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also know ...

  4. HDOJ 1048 The Hardest Problem Ever(加密解密类)

    Problem Description Julius Caesar lived in a time of danger and intrigue. The hardest situation Caes ...

  5. Java 中 MongoDB 使用指南

    一.引入MongoDB Java Driver包 如果需要操作MongoDB的Java项目是一个Maven项目,可以在依赖中加上以下的配置. <dependencies> <depe ...

  6. 迁移ADT/ANT构建的Android项目至Gradle,a walk through。

    LibModule 配置更新 9 months ago   app 配置更新 9 months ago   gradle/wrapper 配置更新 9 months ago   screenshots ...

  7. JavaScript实现自定义短信模板

    自定义短信模板,要求:可以插入关键字,当然是可以在点击到文本域中的任意位置,关键字以中括号包裹的形式出现[关键字],删除关键字要整个关键都删掉,而不是自己全删除. 详细在简书中 http://www. ...

  8. motan源码分析一:服务发布及注册

    motan是新浪微博开源的服务治理框架,具体介绍请看:http://tech.sina.com.cn/i/2016-05-10/doc-ifxryhhh1869879.shtml. 本系列的文章将分析 ...

  9. "解密"微信开放高级接口 企业如何应对

    今天(2013年10月29日)腾讯终于对外公开了微信公众平台最新的接口,一石激起千层浪,对于很多微信公众平台的运营人员来说,今天是令人兴奋的一天!微信在向申请服务号的企业开发了大量接口.用户不想输入文 ...

  10. intent的startActivityForResult()方法

      /******************************************************************************************** * au ...