2019年8月8日の学習コンテンツやクイズノート

高度なアプリケーションファイル

フロント学んRは:(読み取り)読み取り、W:書き込み(ライト)、(さらに)は、3つの用途を追加します

  1. R +は、(使用しないようにしよう)書き込むことが読み取ることができ、Rは後ろに付加されます+
with open('text.py','r+',encoding='utf-8') as f:
     data = f.read()
     #print(f.readable())
     f.write('x = 10')
     print(data)

注意:この方法を使用しないようにしてください

  1. + wが読める(注:ファイルを消去します+ wを使用していないw)は書き込むことができ、空のファイルを、次に書きます
with open('text.py','w+',encoding='utf-8') as f:
    data = f.readable()
    #print(data) (可读)
    f.write('333444')
    print(data)
  1. +追加機能、無用の端部へのポインタを持って、+を特徴とします
with open('text.py','a+',encoding='utf-8') as f:
    # data = f.readable()
    # print(data)
    # f.write('111222')
    # print(data)
    # f.seek(3,0) # 指针在末尾,seek(x,0),x代表跳过它来读取后面的数据(按字节位移)
    # data = f.read()
    # print(data) 
    f.write('x=10')
    f.flush()

ビルトインメソッドファイル

(求めて)求める(バイト変位)

with open('text.py','rb') as f:
#     #f.seek(1,0) # 1表示位移1位,0表示从头开始
#     #print(f.read())
#     #.seek(2,1) # 2表示位移2位,1表示从当前位置开始
#     f.seek(0,2) # 0 表示位移0位,2表示从文件末开始,把指针移到文件末
#     print(f.read())

教えて(言う)、バイト変位

tell(告诉) #字节
with open('text.py', 'r', encoding='utf-8') as f:
    f.seek(2, 0)
    print(f.tell())

専用モードでは、R(n)を読み出します

with open('text.py', 'r', encoding='utf-8') as f:
    # print(f.read(2))

切り捨てます

with open('text.py', 'a', encoding='utf-8') as f:
    data = f.truncate(7)# 把2个字符后面的东西清空
    print(data)

注:上記の4つの方法が使用されるが、必要ではないことができます

二つの方法で変更されたファイル

まず第一に、唯一の発言権をカバーしたファイルを変更しないでください

import os
# with open('text.py','r',encoding='utf-8') as fr,\
#     open('test.txt','w',encoding='utf-8') as fw:
#     data = fr.read()
#     data = data.replace('1444555','111222')
#     fw. write(data)
# os.remove('text.py')
# os.rename('test.txt','text.py')
import os
with open('text.py','r',encoding='utf-8') as fr, \
    open('test.py','w',encoding='utf-8') as fw:
    for i in fr:
        i = i.replace('111222','chen handsome')
        fw.write(i)
os.remove('text.py')
os.rename('test.py','text.py')

定義された関数

この関数は、彼は技術ではない、より多くのアイデアです

def register():
"""注册函数"""
    username = input('请输入你的用户名:')
    pwd = input('请输入你的密码:')

    with open('user_info.txt', 'a', encoding='utf8') as fa:
        fa.write(f'{username}:{pwd}|')
register()
def login():
    """登录函数"""
    username = input('请输入你的用户名:')
    pwd = input('请输入你的密码:')

    with open('user_info.txt', 'r', encoding='utf8') as fr:
        data = fr.read()
        user_list = data.split('|')
        print(user_list)
        user_info = f'{username}:{pwd}'
        if user_info in user_list:
            print('登录成功')
        else:
            print('傻逼,密码都忘了')
login()

どのように関数を定義

"""
def 函数名() #定义阶段(相当于造车轮阶段)
    """函数注释写在这里""" #函数相当于工具,注释相当于工具的说明书
    <代码块>
    
 #使用 #调用阶段(相当于开车阶段)
 函数名()

"""

覚えておいてください:定義フェーズでは唯一の構文エラーを検出する関数本体のコードを実行しません***

def func()
   """func函数的注释撒地方撒地方撒大方"""
    # todo:未来写一个函数
    pass
print(login.())

一般的に使用される組み込みの方法:

文字列:スプリット

リスト:追加

辞書:取得

コレクション:追加

読み書き()

3つの定義の仕方機能

パラメータ:未知の変数が意味されます

いいえ、参照機能#ツールは、単独で使用することはできません

def add():
    """无参函数"""
    x = input('num1')
    y = input('num2')
    print(int(x)+int(y))
add()    

関数のパラメータがあります。

def add(x,y):  # 这个不能单独使用,必须加上配件才能使用
   """有参函数"""
    print(int(x)+int(y))
print(1)   
x = input('num1')
y = input('num2')
add(x,y)

空の関数:関数の定義、およびその結果として無

def func():   #只知道工具叫什么名字,但不知道如何造出这个工具
    pass

関数の呼び出し

どのような本は関数を呼び出します、関数は、関数を呼び出している関数()の名前が実行されますされます

ボディコード、すべてのコードが終了した後、関数本体復帰を実行する既知または遭遇

この関数は、コードを実行して、関数本体はリターンを書いていない場合、それはNoneを返します

なぜ関数を呼び出す:コール関数は、関数の機能を使用することです

例えば:

def add(x,y):
    reeturn x + y
    res = add(10,20)
    print(res*10)

関数の戻り値

戻り値はどのようなものです:結果の値はロジックの一連を経て得られた内部コードで返します。

def func():
    name = 'nick'
    return name
name = func()
print(name)
def add(x,y):
    #逻辑
    print(x+y)
    return x + y  # 函数的返回值,终止函数(跳出函数)
res = add(10,20)
print(res)
def add(x,y):
    # (x,y,x+y) # return可以返回任意数据类型
    return x,y,x+y  # 不加括号返回多个值时,默认用元组的形式返回

x,y,z = add(1,2)
print(x,y,z)

関数のパラメータ

def add(num1,num2): #表示形参
    """有参函数"""
    print(int(num1)+int(num2))
add(1,2) # 表示实参

パラメータ:パラメータの形式でのみパラメータの定義フェーズでは、使用が何もなかった、説明的な意味で、唯一の位置を占めています

引数:呼び出し相唯一の引数は、実際のパラメータが特定の値を持っています

Locationパラメータ:1が書き込みパラメータであり、

def add(num1,num2): #形参
    """有参函数"""
    print(num1)
    print(num2)          # 这样一个一个写形参,就是位置形参
    print(int(num1)+int(num2))
 

場所引数:過去に1個の書き込み、それは引数の場所です

add(1,2) #实参

注:二つの位置パラメータ右対応する左から、引数に対応する2つの位置を有することが必要です

デフォルトパラメータ:なし伝送パラメータは、デフォルト値が使用されることがありますが、渡すために使用される基準値を渡した場合、デフォルトのパラメータは、位置パラメータの後ろに配置する必要があります

def shopping(name='nick'): # 形参经常会引用同一个值
    goods_dict = {1:'特斯拉',2:'奔驰',3:'nick'}
    print(f'恭喜{name},得到{goods_dict[1]}一个')
shopping()

キーワード引数:、あなたは位置パラメータを破ることができる特定の値に基づいて与えられたパラメータ名は、1対1の対応ルールを持っている必要があります

def shopping(x,name = 'nick'):
    goods_dict = {1:'特斯拉',2:'奔驰',3:'nick'}
    print(f'恭喜{name},得到{goods_dict[x]}')
shopping(1,name = 'kuiming')

注:パラメータの関数は3オーバーしないようにしよう

キーワードパラメータ:位置パラメータ引数の一般的な位置によって必要な時間+

おすすめ

転載: www.cnblogs.com/chmily/p/11348650.html