python中的函数与文件操作

【1】系统函数、自定义函数

def test_converter(C):
    expression_1=C*9/5 + 32
    return str(expression_1)+'F'
print(test_converter(30))
86.0F
def test():
    num=1+1
    print(num)
print(test())
2
None

练习:重量转换器k换成kg

def weight_switch(k):
    return k/1000
print(weight_switch(1500))
1.5

练习:求直角三角形的斜边长

from  math import *;
print(pow(10,2),end=' ');
def lenth_1(long,high):
    return (pow(long,2)+pow(high,2))**0.5
print(lenth_1(3,4))

100.0 5.0

【1.1】关键字参数

在使用函数的时候,我们一般情况是位置参数,入参与定义参数的位置一一对应。

但关键字参数可以切换位置,用参数名来赋值的方式,这种方式就叫关键字参数

from  math import *;
print(pow(10,2))
def lenth_1(long,high):
    return (pow(long,2)+pow(high,2))**0.5

print(lenth_1(long=3,high=4))

100.0
5.0
def area(base_up,base_down,height=2):
    return (base_up+base_down)*height/2
print(area(4,4,5),area(4,4))
20.0 8.0

练习:构造函数获取value对应的key

def getkey_byvalue(dict_var,value_var):
    return ([key for key,value in dict_var.items() if value==value_var])
dict_var1={
    'a':100,
    'b':200,
    'c':300
}
print(getkey_byvalue(dict_var1,200))
['b']

【1.2】参数的收集

*args ,收集所有未知参数,这里的单词并非固定 主要是 一个 * 和 ** 的区别

**kwargs 收集我们的关键字参数,什么是关键字参数?比如key value的字典类型参数

def test(name,age,*args,**kargs):
    print(*args)
    #print('aaaa~~~{}'.format(*args))
    #print(**kargs)

name1='abc'
name2='李四'
age1=123
age2=18
desc_var1='abc是个百岁老人'
desc_var2='李四是一个年轻小伙'
dict_var1={
    'name':'abc',
    'age':123,
    'desc':'abc是一个百岁老人'
    
}
test(name1,age1,name2,age2,desc_var1,desc_var2,dict_var1)
李四 18 abc是个百岁老人 李四是一个年轻小伙 {'name': 'abc', 'age': 123, 'desc': 'abc是一个百岁老人'}

【2】文件操作

file=open('d://test.txt','w')
file.write('hello,world')
file.close()

高级文件操作,新建文件

def text_create(name,msg):
    file_dir='d://'
    full_path=file_dir+name+'.txt'
    file=open(full_path,'w')
    file.write(msg)
    file.close()
    print('Done')
text_create('test1','create a test1 file');
Done
print('hello \nrunoob')
print(r'hello \n runoob')
print('hello \\n runoob')
hello 
runoob
hello \n runoob
hello \n runoob
input('hello,your city:')
hello,your city:hanzhou





'hanzhou'
import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
    print (i)
print ('\n python 路径为',sys.path)

================Python import mode==========================
命令行参数为:
E:\My_Program\Python\Anaconda_Python\lib\site-packages\ipykernel_launcher.py
-f
C:\Users\guochaoqun\AppData\Roaming\jupyter\runtime\kernel-5784a8b5-e752-4514-bef8-e510a4e706cb.json

 python 路径为 ['C:\\Users\\guochaoqun\\1_Python_learn', 'E:\\My_Program\\Python\\Anaconda_Python\\python37.zip', 'E:\\My_Program\\Python\\Anaconda_Python\\DLLs', 'E:\\My_Program\\Python\\Anaconda_Python\\lib', 'E:\\My_Program\\Python\\Anaconda_Python', '', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages\\win32', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages\\win32\\lib', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages\\Pythonwin', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\guochaoqun\\.ipython']
from sys import argv,path  #  导入特定的成员
 
print('================python from import===================================')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path
================python from import===================================
path: ['C:\\Users\\guochaoqun\\1_Python_learn', 'E:\\My_Program\\Python\\Anaconda_Python\\python37.zip', 'E:\\My_Program\\Python\\Anaconda_Python\\DLLs', 'E:\\My_Program\\Python\\Anaconda_Python\\lib', 'E:\\My_Program\\Python\\Anaconda_Python', '', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages\\win32', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages\\win32\\lib', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages\\Pythonwin', 'E:\\My_Program\\Python\\Anaconda_Python\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\guochaoqun\\.ipython']
help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
posted @ 2020-07-08 21:20  郭大侠1  阅读(327)  评论(0编辑  收藏  举报