Python基础复习(二)

关于input的相关知识点

  • isdigit()函数

只能用于字符串类型,且只能检验是否整数,不能检验输入的字符串是否浮点数
只有数字字符串返回 True,包含小数、正负号、科学计数法等都会返回 False

用法:

x='+5'
x.isdigit()==False
  • isalpha()函数

来判断一个字符串是否只包含字母

my_string = "Hello123"
if my_string.isalpha():
    print("字符串只包含字母")
else:
    print("字符串不只包含字母")
  • filter()函数——过滤非字母

filter()函数是Python内置函数之一,它用于过滤序列中的元素。filter()函数接收一个函数和一个序列作为参数,将序列中的每个元素依次传入函数中进行判断,最终返回一个由使得函数返回值为True的元素所构成的迭代器。

如果需要从一个字符串中提取出只包含字母的部分,可以使用列表解析或者filter()函数结合str.isalpha()方法的方式,如下所示:

my_string = "Hello, 123World!"
letters_only = ''.join(filter(str.isalpha, my_string))
print(letters_only)  # 输出:HelloWorld
  • break
用在while和for中,终止当前循环。
  • try

常常可以捕捉的错误类型【也可以不指定错误类型!!!】:
ZeroDivisionError:除以零的错误
ValueError:值错误,通常与数据类型转换相关
TypeError:类型错误,操作不支持的数据类型
FileNotFoundError:文件未找到错误

print("Give me two numbers, and I'll divide them.")
print("Enter 'q' to quit.")

while True:
    first_number = input("\nFirst number: ")
    if first_number == 'q':
        break
    second_number = input("Second number: ")
    try:
        answer = int(first_number) / int(second_number)
    except ZeroDivisionError:
        print("You can't divide by 0!")
    else:
        print(answer)
  • finally

用于定义一个在 try...except... 语句块中的可选的最后执行的代码块。
无论在 try 语句块中是否抛出异常,finally 代码块中的代码都会执行。

python可以打开的文件类型

  • 逗号分隔值(CSV)pandas---pd---pd.read_csv()
  • XLSXpandas---pd---pd.read_excel()
  • 纯文本(txt)
  • JSON pandas---pd---pd.read_json
  • 图像
  •  ...
文本文件
pipaxing = open("pipaxing2.txt",  "r")#打开文件对象,将文件对象赋值给变量 pipaxing。只读模式
lines = pipaxing.read()#调用文件对象的 read() 方法,将文件内容读取到一个字符串变量 lines 中。
pipaxing.close()#关闭文件对象,释放文件资源。

 'r':读,open()的默认值就是r
 'w':写,如果没有这个文件,就创建一个;如果有,就把原文件的内容清空再写入新的东西
 'a':追加,不想清空原来的内容而是直接在后面追加新的内容,就用'a'这个模式【add】
 'r+' == r+w(可读可写,文件若不存在就报错)
 'w+' == w+r(可读可写,文件若不存在就创建)
 'a+' ==a+r(可追加可读,文件若不存在就创建)
如果是二进制文件,就都加一个b:
 'rb'
 'wb'
 'ab'
 'rb+'
 'wb+'
 'ab+'

try:
    lines = open('pi_digit.txt')
    print(lines.read())
except:
    print('No such file or directory')
finally:
    if lines:
        lines.close()
#等价于
with open(filename) as file_object:
    lines = file_object.read()

read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。

  • 如果文件大于可用内存,为了保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。

readlines() 自动将文件内容分析成一个行的列表.

  • 例['3.1415926535\n', '  8979323846\n', '  2643383279\n']
  • 该列表可以由 Python 的 for ... in ... 结构进行处理。去\n用line.rstrip()

readline() 每次只读取一行,通常比readlines() 慢得多。

  • 仅当没有足够内存可以一次读取整个文件时,才应该使用 readline()。【通常不用,用了就用循环】
  • x = 1
    with open(filename) as file_object:
        lines = file_object.readline()  
        while lines:
            print(x)
            print(lines)
            x = x + 1
            lines = file_object.readline()  
    

    关于写或者追加

with open('test.txt', 'w') as wt:
    wt.write('world!')
#writelines()是对列表的操作,把一个字符串列表添加到文件中
with open(filename,'a') as file_object:
    file_object.writelines(["I also love finding meaning in large datasets.\n",
                            "I also love creating apps that can run in a browser.\n"])

关于函数

接受任意长度的序列作为参数

*args

 把第一个值给了参数一
 把第二个值给了参数二
 把其他的值,作为**元组**,给了参数三

def example_function(arg_1, arg_2, *arg_3):
    print('\narg_1:', arg_1)
    print('arg_2:', arg_2)
    print('arg_3:', arg_3)
    
example_function(1, 2, 3, 4, 5)

任意数字作为关键词参数
**kwargs

 把第一个值给了参数一
 把第二个值给了参数二
 把其他的值,作为**字典**,给了参数三

def example_function(arg_1, arg_2, **kwargs):
    print('\narg_1:', arg_1)
    print('arg_2:', arg_2)
    for key, value in kwargs.items():
        print('arg_3 value:', value)

example_function('a', 'b', value_3='c', value_4='d', value_5='e')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值