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. COJ 1003 WZJ的数据结构(三)ST表

    WZJ的数据结构(三) 难度级别:B: 运行时间限制:3000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 请你设计一个数据结构,完成以下功能: 给定一个大小为N的 ...

  2. linux中的cd ..和cd -命令有什么区别?

    cd ..是返回上一层目录, cd -是返回到上一次的工作目录,如果当前目录是/执行cd /usr/local再执行cd ..就是到 /usr而执行cd -就是到/

  3. CSU 1160 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示

    题目链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82974#problem/A 解题思路: 将16进制的表示方法列在一个数组里面 ...

  4. Objective-C中变量采用@property的各个属性值的含义

    我们在OC中定义变量,可以自己来定义变量的setter方法来设置变量值,用getter方法来获取变量值.但是当变量数量增多时,还采用手动添加setter/getter方法来操作变量,就会使得程序代码量 ...

  5. [C#技术] .NET平台开源JSON库LitJSON的使用方法

    一个简单示例: String str = "{’name’:’cyf’,’id’:10,’items’:[{’itemid’:1001,’itemname’:’hello’},{’itemi ...

  6. atitit.提升研发效率的利器---重型框架与类库的差别与设计原则

    atitit.提升研发效率的利器---重型框架与类库的差别与设计原则 1. 框架的意义---设计的复用 1 1.1. 重型框架就是it界的重武器. 1 2. 框架 VS. 库 可视化图形化 1 2.1 ...

  7. [Javascript] Advanced Function Scope

    Something like 'for' or 'while', 'if', they don't create a new scope: ,,]; ; i < ary.length; i++) ...

  8. 【移动开发】WIFI热点通信(二)

    相信大家在上一篇中已经了解了Android中WIFI热点通信的相关操作知识(http://smallwoniu.blog.51cto.com/3911954/1536126),今天我们将在上一篇代码基 ...

  9. linux命令chown修改文件所有权

      Changing User Ownership To apply appropriate permissions, the first thing to consider is ownership ...

  10. Filtering Specific Columns with cut

    Filtering Specific Columns with cut   When working with text files, it can be useful to filter out s ...