python3 第三天

一、文件操作

= open("file.txt",‘r‘

print(len(f.read()))     #文件总长度 

print(f.tell())          #读完文件,文件指针位置

f.seek(0,0)              #偏移回文件头 

print(f.readline())      #打印出文件中一行(第一行) 

print f.tell()           #显示文件指针现在的位置 

f.seek(2,1)              #从当前文件指针(向后)偏移2个字节 

print(f.readline())      #再打印一行(应该少2个字节) 

print(f.tell())          #显示 现在 的指针位置 

f.seek(-7,1)             #从当前位置向前偏移7个字节 

print(f.readline())      #打印下一行 

print(f.tell())          #显示 现在 的指针位置 

f.seek(-9,2)             #从尾部向前偏移9个字符 

print(f.tell())          #显示 现在 的指针位置 

print(f.readline())      #打印出内容 

f.seek(0)  #==>默认是0 等等seek(0,0) 

f.seek(80)      #等同上面的seek(-9,2) 从尾部向前取 

二、函数

形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

def stu_register(name, age, country, course):

print("----注册学生信息------")

print("姓名:", name)

print("age:", age)

print("国籍:", country)

print("课程:", course)

stu_register("王山炮", 22, "CN", "python_devops")

stu_register("张叫春", 21, "CN", "linux")

stu_register("刘老根", 25, "CN", "linux")

非固定参数

若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数

def stu_register(name, age, *args):  # *args 会把多传入的参数变成一个元组形式    print(name, age, args)

stu_register("Alex", 22)

stu_register("Jack", 32, "CN", "Python”)

还可以有一个**kwargs

def stu_register(name, age, *args, **kwargs):  # *kwargs 会把多传入的参数变成一个dict形式    print(name, age, args, kwargs)

stu_register("Alex", 22)

stu_register("Jack", 32, "CN", "Python", sex="Male", province="ShanDong")

1、普通调用

与其他语言中函数调用一样,Python中在调用函数时,需要给定和形参相同个数的实参并按顺序一一对应。

def fun(name, age, gender)

XXXX

调用:fun(‘Jack‘, 20, ‘man‘)

2、使用关键字参数调用函数

函数也可以通过keyword=value 形式的关键字参数来调用,因为我们明确指出了对应关系,所以参数的顺序也就无关紧要了。

def fun(name, age, gender): 

  XXXXX

 

调用:fun(gender=‘man‘, name=‘Jack‘, age=20

3、调用具有默认实参的函数

Python中的函数也可以给一个或多个参数指定默认值,这样在调用时可以选择性地省略该参数:

def fun(a, b, c=100): 

  print(a,b,c) 

 

fun(1,2

fun(1,2,3)

注意:通常情况下默认值只被计算一次,但如果默认值是一个可变对象时会有所不同, 如列表, 字典, 或大多类的对象时。例如,下面的函数在随后的调用中会累积参数值:

def fun(a, L=[]): 

  L.append(a) 

  print(L) 

 

fun(1# 输出[1] 

fun(2# 输出[1, 2] 

fun(3# 输出[1, 2, 3]

4、调用可变参数函数

通过在形参前加一个星号(*)或两个星号(**)来指定函数可以接收任意数量的实参。

def fun(*args): 

  print(type(args)) 

  print(args) 

 

fun(1,2,3,4,5,6

 

# 输出: 

# <class ‘tuple‘> 

# (1, 2, 3, 4, 5, 6) 

def fun(**args): 

  print(type(args)) 

  print(args) 

 

fun(a=1,b=2,c=3,d=4,e=5

 

# 输出: 

# <class ‘dict‘> 

# {‘d‘: 4, ‘e‘: 5, ‘b‘: 2, ‘c‘: 3, ‘a‘: 1}

从两个示例的输出可以看出:当参数形如*args时,传递给函数的任意个实参会按位置被包装进一个元组(tuple);当参数形如**args时,传递给函数的任意个key=value实参会被包装进一个字典(dict)。

5、通过解包参数调用函数

上一点说到传递任意数量的实参时会将它们打包进一个元组或字典,当然有打包也就有解包(unpacking)。通过 单星号和双星号对List、Tuple和Dictionary进行解包:

def fun(a=1, b=2, c=3): 

  print(a+b+c) 

 

fun()  # 正常调用 

list1 = [112233

dict1 = {‘a‘:40‘b‘:50‘c‘:60

fun(*list1)  # 解包列表 

fun(**dict1) # 解包字典 

 

# 输出: 

# 6 

# 66 

# 150

三、.返回值

要想获取函数的执行结果,就可以用return语句把结果返回

注意:

  1. 函数在执行过程中只要遇到return语句,就会停止执行并返回结果
  2. 如果未在函数中指定return,那这个函数的返回值为None

四、.内置函数

时间: 2024-10-07 09:28:17

python3 第三天的相关文章

python3基础三

一.if语句 if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3 1.每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块 2.使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块 3.在Python中没有switch – case语句 4.条件:(1)检查是否相等: ==:(2)检查是否不相等:!=:(3)比较数字:==,<=,>=:(4

循序渐进Python3(三) -- 0 -- 初识函数

函数 如果我们要计算一个圆的面积,就需要知道它的半径,然后根据公式S=3.14*r*r算出它的面积,如果我们要算100个圆的面积,则每次我们都需要写公式去计算,是不是很麻烦,但是有了函数的话,我们就不再每次写S=3.14 *r*r, 而是把计算圆面积的功能写到一个函数里比如说s=areacircle(r),然后每次求面积的时候,只要把半径传递给函数就可以实现计算圆面积,这样我 们写代码就简单多了.这就是函数的功能.在编程中,函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,能提高

python3 入门 (三) 函数与lambda表达式、闭包

函数 是组织好的.可重复使用的.用来实现单一或相关联功能的代码段. 函数代码块以def关键词开头,后接函数标识符名称和圆括号() 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明 函数内容以冒号起始,并且缩进 Return[expression]结束函数,选择性地返回一个值给调用方.不带表达式的return相当于返回 None 函数的定义: 1 def test0(): 2 "函数_文档字符串" 3 pri

循序渐进Python3(三) -- 3 -- 内置函数

上一篇我们又介绍了26个Python内置函数.现回忆一下吧: 1.all 2.any 3.ascii 4.bin 5.bool 6.bytes 7.bytearray 8.callable 9.chr 10.compile 11.complex 12.dir 13.divmod 14.enumerate 15.eval 16.exec 17.format 18.frozenset 19.globals 20.locals 21.hash 22.hex 23.id 24.iter 25.oct 2

Python3(三)

Python 模块 Python 输入和输出 代码区: # 包 # 点模块名称 # A.B 表示包A中的子模块B # 几种导包方式 import sound.effects.echo; form sound.effects import echo; form sound.effects import *; ########################### s = 'erbaohuadou'; print(s); # erbaohuadou print(repr(s)); # 'erbaoh

python3 第三十三章 - 标准库概览Part II

第二部分提供了更高级的模块用来支持专业编程的需要.这些模块很少出现在小型的脚本里. 1. 输出格式化reprlib 模块提供了一个用来缩写显示大型或深层嵌套容器的 定制版repr() . >>> import reprlib >>> reprlib.repr(set('supercalifragilisticexpialidocious')) "{'a', 'c', 'd', 'e', 'f', 'g', ...}" pprint模块为 打印对解释器

leetcode628 python3 124ms 三个数字的最大乘积

# 不是最优解,最优解应该用topK的思路 class Solution: def maximumProduct(self, nums): """ :type nums: List[int] :rtype: int """ nums.sort() res = [nums[-3]*nums[-2]*nums[-1], nums[0]*nums[1]*nums[-1]] return max(res) 原文地址:https://www.cnblogs

python3数据类型--数字

数字 Python数字数据类型用于存储数值.数字数据类型是不允许改变的,所以如果改变数字数据类型的值,将重新分配内存空间. 以下实例在变量赋值时Number对象被创建: #!/usr/bin/env python # _*_ coding:utf-8 _*_ var1 = 1 var2 = 10 可以使用del语句删除单个或多个对象的引用. del var1, var2 Python3支持三种不同的数值类型: 整型(int)--通常被称为是整型或整数,可以是正整数或负整数,不带小数点.Pytho

day10 Python作用域 Python2.7与Python3.x的类继承的区别及其他

一.Python作用域   1.Python中无块级作用域 if 1 == 1: name = 'test' print(name) #输出会报错,因为name的作用域仅限于if下的代码块,而不属于全局   2.Python中以函数为作用域 def func(): func_name = 'func_test' print(func_name) #这里同样会报错,因为变量func_name的作用于func函数中   3.Python作用域链,层层嵌套,使用时从内向外找   4.Python的作用