0%

Python-base

1、设置双击.py文件打开的软件

找到一个.py文件,右键点击属性,常规--打开方式--更改,选择打开.py文件的应用。

2、Pycharm下载包

  • 打开Pycharm,点击File,再点击settings
  • 点击settings之后再点击project下面的project Interpreter
  • 接下来点击上面界面右上角的“+”将会出现如下界面:然后在搜索框中搜索需要安装的第三方库(此处搜索requests)然后点击界面左下角的Install Package进行安装即可。

3、Pycharm已下载包,但是提示找不到

Pycharm已下载包,但是终端的Python却找不到包:有多个Python环境,解释器路径不一样

查看自己项目大概位置:

image-20220810111358060

不同项目的解释器可能不一样,打开解释器选择界面:

image-20220810111051813

选择自己项目相关的解释器,点击Apply,OK:

image-20220810111247989

再回到终端,包即可使用。

4、f-string

f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法。f-string在形式上是以 fF 修饰符引领的字符串(f'xxx'F'xxx'),以大括号 {} 标明被替换的字段;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式。来源

1
2
>>> i='a.tsv'  
>>> dd = pd.read_csv(f'D:/mydata/{i}')
1
2
3
>>> name = 'Eric'
>>> f'Hello, my name is {name}'
'Hello, my name is Eric'

Python 中的字符串格式设置

1
2
3
4
5
6
7
8
#!/usr/bin/env python3

name = 'Peter'
age = 23

print('%s is %d years old' % (name, age))
print('{} is {} years old'.format(name, age))
print(f'{name} is {age} years old')

5、从字符串中提取数字

来源

1
2
3
4
5
6
7
# -*- coding: cp936 -*-
import re

string="A1.45,b5,6.45,8.82"
print re.findall(r"\d+\.?\d*",string)

# ['1.45', '5', '6.45', '8.82']

正则:"\d+.?\d*"

  • \d+ 匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字;
  • \.? 这个是匹配小数点的,可能有,也可能没有;
  • \d* 这个是匹配小数点之后的数字的,所以是0个或者多个;

6、列表中的字符串转换为整数

1
2
3
results = [1, 2, 3]
results = list(map(int, results))
nums=[int(num) for num in results]

7、sort 与 sorted 区别

  • sort 是应用在 list 上的方法,属于列表的成员方法,sorted 可以对所有可迭代的对象进行排序操作。
  • list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
  • sort使用方法为ls.sort(),而sorted使用方法为sorted(ls)

reverse = True 降序 , reverse = False 升序(sort和sorted默认)

8、Pycharm 多行注释(取消注释)

Ctrl + /

9、带if条件语句的lambda函数

lambda x: 返回值1 if 条件 else (返回值2 if 条件 else 返回值3)

[if符合返回值] if 条件 else [else符合返回值] 来源

1
2
verify = lambda x: True if (x > 11 and x < 22) else False
converter = lambda x : x*2 if x < 11 else (x*3 if x < 22 else x)

10、ASSCII值

来源

ASSCII值 控制字符
48 0
49 1
50 2
... ...
57 9
65 A
66 B
67 C
... ...
90 Z
97 a
98 b
99 c
... ...
122 z

11、列表中嵌套列表,变字符为数字排序

1
2
3
4
5
6
7
8
num=[['3'],['9'],['1'],['20']]
num2 = []
for j in num:
num2.append(int(j[0]))
num2 = sorted(num2)
print(num2)

[1, 3, 9, 20]

12、if name == 'main'

来源

if __name__ == '__main__' :后面缩进的内容(代称为A),如果是该python文件被执行,那么该A内容会被执行,如果该文件被导入到另一个文件中,执行另一个文件,A内容不会被执行。

_name_是一个属性,在自己文件中值为main,在其他文件中值为文件名(模块名)。if name == 'main'表示是不是本文件,是的话,执行冒号后面缩进的内容。

13、字符串是否是正整数

string.isdigit():如果是正整数,返回True;反之,返回False。

14、文件的创建和写入

1
2
3
4
5
6
7
8
9
with open("a.txt",'w')  as f:
f.write("hello {},hello {}".format(a, b))
# w:只写,文件存在覆盖,文件不存在创建
# a:追加,文件存在追加,文件不存在创建
# r:只读,文件存在读,文件不存在返回异常
# x:只写,文件存在返回异常,文件不存在创建
# b:以二进制打开
# t:以文本文件方式打开,默认值
# +:与以上同时使用,以增加功能

15、局部变量和全局变量

来源

1、局部变量(Local Variable):在函数内部定义的变量(只能在函数内部使用)

  • local():返回局部变量组成的字典,可以访问变量,但是无法修改变量的值

2、全局变量(Global Variable):在所有函数的外部定义的变量

  • 在函数外部定义

  • 在函数内部使用global关键词定义

    1
    2
    3
    4
    def text():
    global add
    add = "https://adf.com"
    # 使用 global 关键字修饰变量名时,不能直接给变量赋初值,否则会引发语法错误。
  • globals():返回一个所有全局变量的字典,该字典中的每个键值对,键为变量名,值为该变量的值。变量可访问,也可修改。

    1
    2
    3
    4
    Pyname = "Python教程"
    print(globals()['Pyname']) # 输出为Python教程
    global()['Pyname'] = "Python入门教程"
    print(globals()['Pyname']) # 输出为Python入门教程

    16、查看python解释器类型:

    1
    2
    3
    4
    5
    6
    import os 
    import sys

    sys.version # 内有PyPy即为PyPy解释器
    os.name # 返回有Java,即为Jython解释器
    sys.version.startswith

    16、编码方式

    1
    2
    3
    4
    5
    6
    import sys
    sys.getdefaultencoding()

    from IPython.utils.encoding import get_stream_enc; import sys
    get_stream_enc(sys.stdout)

    iPython is getting the encoding from the environment ($LANG etc).

    iPython是从环境中获得编码方式的,目前iPython用的是GBK方式编码

    1
    2
    get_stream_enc(sys.stdout)
    Out[21]: 'gbk'

    换成utf-8的方式是,

17、类、函数,方法,库

+