【Python】小问题和常用脚本

路径表示

window下路径用的是\,比如C:\windows,而在python中\被视为转义符,表达路径,需要用/或者\\

相对路径表示:./PYE/f.txt,含义是从可执行程序的当前目录起找他的PYE目录,以及这个目录下的f.txt文件,如果与所在文件在相同目录,可以直接使用f.txt

本质:从该程序,较好地找到文件

处理数据,要铭记字符串在心

任何输入的数据都可以用字符串去保存,去处理。
不能修改原字符串,新建一个空字符串处理。

引号

单引号与双引号都是字符串定界符。
如果字符串里面包含的与边界一样的符号,需要在前面添加一个转义符\来将该符号转成普通字符,不然编译器会将字符串中的那个单引号或双引号当成字符串的边界。
例如:
‘I don’t have apple’
中间的那个单引号要加转义符,将单引号从字符串定界符转为普通字符。
‘I don\’t have apple’
如果字符串边界是单引号,字符串内包含的是双引号则不需要转义。
如果字符串边界是双引号,字符串内包含的是单引号也不需要转义。

三个双引号的作用是可以直接写多行的字符串
例如:
str=”“”one line
two line
three line”“”

为Cookies添加引号

第一个输入框(.?)😦.?)\n,第二个输入框’$1’:’$2’,

批量安装库脚本

import os
#libs = {"numpy", "matplotlib", "pillow", "sklearn", "requests",
   #      "jieba", "beautifulsoup4", "wheel", "networkx", "sympy",
   #      "pyinstaller", "django", "flask", "werobot", "pyqt5"
   #  , "pandas", "pyopengl", "pypdf2", "docopt", "pygame"}
 libs ={"requests","jieba","selenium"}
 try:
     for lib in libs:
         os.system("pip install " + lib)
         print("Successful")
 except:
     print("Failed Somehow")

range()函数

range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

end=’’

print默认是\n结尾的,如果想一整行连续打印,则需要end=" "
为末尾end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串。

多个输入

python技巧2:用input( )同时输入多个数

a,b,c=map(int,input().split())

不确定个数的输入,可以用list[]装载

lst=[]
lst=list(map(int,input().split()))

字符串逆序

[::-1]可以实现逆序

str2=str1[::-1]

format()函数

{:.1f}取一位小数

数字格式化

下表展示了 str.format() 格式化数字的多种方法:

print("{:.2f}".format(3.1415926))
3.14

数字格式输出描述
3.1415926{:.2f}3.14保留小数点后两位
3.1415926{:+.2f}+3.14带符号保留小数点后两位
-1{:+.2f}-1.00带符号保留小数点后两位
2.71828{:.0f}3不带小数
5{:0>2d}05数字补零 (填充左边, 宽度为2)
5{:x<4d}5xxx数字补x (填充右边, 宽度为4)
10{:x<4d}10xx数字补x (填充右边, 宽度为4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比格式
1000000000{:.2e}1.00e+09指数记法
13{:>10d}13右对齐 (默认, 宽度为10)
13{:<10d}13左对齐 (宽度为10)
13{:^10d}13中间对齐 (宽度为10)

第二个参数占6个字符,向右对齐,保留一位小数输出。
print("%d%6.1f"%(F,5*(F-32)/9))

求幂函数pow()

math 模块 pow() 方法的语法:

import math
pow( x, y )

转换函数-int(string,number)

a,b=input().split(",")#赋值完成之后,变量a和变量b都是字符串类型。
b = eval(b)#将字符串b,如果是单引号或双引号的话,则解析成int类型,三引号的话,解析成str类型。eval(string)
print(int(a,b))#int(string,number),进制转换;

三个数排序-冒泡最好,借助中间变量替换值,或者借助list列表的sort函数。

list=[]
list.append(a)
list.append(b)
list.append(c)
list.sort()

&&->and ||->or +±>+=1

python中是没有&&及||这两个运算符的,取而代之的是英文and和or。其他运算符没有变动。也没有++符号,需要s=s+1或s+=1
注意:python没有++符号!

eval

原样输出,eval

print() 进行一次换行

首先明白,哪些函数是必须要执行的。必须放在if后面。
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。

list接受动态长度数据输入

list=list(map(int,input().split()))

split()

split()通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。
如果split()参数为空,那么会把单个空格和多个空格都处理掉。

输出格式控制

{:<4d}左对齐,占4个字符。

元组类型

type((1))
<class ‘int’

type((1,))
<class ‘tuple’>
Python 中的 tuple 结构为 “不可变序列”,用小括号表示。为了区别数学中表示优先级的小括号,当 tuple 中只含一个元素时,需要在元素后加上逗号。
详情可参考文档中的解释:Using a trailing comma for a singleton tuple:a,or(a,)

_name_的值

运行print_module.py后的结果如下:
自己运行自己的程序,name 即为__main__当程序当做脚本被别人调用运行时,其__name__ 为自己的模块名称,这里的print_func即被导入到print_module中当做脚本被运行时,则print_func的__name__即变为其自身的模块名。

关于拷贝

import copy
a = [1, 2, 3, 4, [‘a’, ‘b’]]
b = a # 引用,除非直接给a重新赋值,否则a变则b变,b变则a变
c = copy.copy(a) # 浅复制,只会拷贝父对象, 不会拷贝父对象中的子对象,所以若a的子对象变则c 变,但是父对象变c不会变
d = copy.deepcopy(a) #深拷贝,完全拷贝,完全独立于原对象,a变也不变
a.append(5) # 改变父对象
a[4].append(‘c’) #改变父对象中的 [‘a’, ‘b’]子对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值