python 如何将read_csv的str型数字变为float型数字_Python专题 | Python基础讲解(1)

b82647e80ff6d6c5604d436bae28a086.gif

点击上方蓝字,关注我们

Python因其整洁的代码风格和灵活的操作空间而深受广大的程序员和学术界的喜爱,在去年的编程用户群体排行榜中Python的排名仅次于JAVA。其实,Python在地学领域也有着广泛的应用。从本期开始,将给大家介绍关于Python的基础知识,本期为第一期,主要讲解Python中变量及其类型与字符串的知识点。

1.1   变量与类型

①变量类型包括int,float, complex,bool,str,命令名词与传统一样,可以通过关键词进行数据类型的转换,如b=float(3),则b会变为浮点型;

②查看类型的函数是 type();

③整形和浮点型可以相加,字符串可以直接相加;

④可以同时命名多个变量,也可以同时输出多个变量 print(var1,var2);

⑤Python3的print是带括号的,即print(”hello”)或者print(3);

④isinstance(xxx,int):如果xxx是整形,就返回true;如果不是整形就返回false;

⑤若a为字符串,则a.isalnum()判断字符是否为数字或者字母, a.isalpha()判断是否所有字符都为字母, a.isdigit()判断所有字符是否为数字, a.islower()判断是否所有字符为小写, a.isupper()判断所有字符是否为大写, a.istitle()判断所有字符是否为首字母大写, a.isspace()判断是否所有字符为空白字符。

var_int=3
var_float=3.5
var_bool=True
var_str="hello world"
print(var_int)
print(type(var_str))

#结果
3
<class 'str'>

试一试:大家尝试输出type(str(var_int)),看看字符类型是否还为i整形。

a, b = 3, 4
print(a,b)

#结果
3 4

one = 1
two = 2
three = one + two
print(three)
hello = "hello"
world = "world"
helloworld = hello + world
print(helloworld)

#结果
3
helloworld

注:python的字符串可以直接相加这一点很棒,如果a=“hello”,b=3.5,如何输出hello 3.5呢?

提示:先把b的类型进行转换,然后再与a相加。

1.2  字符串

1.2.1 转义字符 \

要特别小心转义字符,因为它和其他字符组合在一起,就变了,很容易变心,各位妹子使用的时候一定要再三考虑哦,下面是它的小三。

       \a      发出系统响铃声
\b 退格符
\n 换行符
\t 横向制表符(TAB)
\v 纵向制表符
\r 回车符
\f 换页符
\o 八进制数代表的字符
\x 十六进制数代表的字符
\0 表示一个空字符
\\ 反斜杠

这样碰到的问题,就是我读取路径的时候,很可能会出现问题,那有没有解决方法呢,有的,通过\\就可以让转义字符变的老实了。看下面的两个例子。

String1="C:\now\yxk\50136.xls"
String2="C:\\now\\yxk\\50136.xls "
String3=r"C:\now\yxk\50136.xls"

print(string1)
print(string2)
print(string3)

#结果
C:
ow\yxkŁ36.xls

C:\now\yxk\50136.xls

C:\now\yxk\50136.xls

可以看到第一个输出有问题,这就是转义字符造成的。如何解决呢?可以通过\\来消除这种影响,或者在字符串前面加入r,如string2和string3所示。

1.2.2 长字符串输出

为什么要输出长字符串呢?因为平时我们需要对脚本写长的注释,就可以利用到长的字符串啦,比如我们在脚本的开头就可以记录这个脚本的目的、数据方法和结果。主要有以下两种方法:

第一:三重引号字符串

如string=””"我爱鱼,

我爱python,

我爱学习”””

第二:用\n换行

如string1="我爱鱼,\n我爱python,\n我爱学习"

string="""我爱鱼,
我爱python,
我爱学习"""
print(string)

string1="我爱鱼,\n我爱python,\n我爱学习"
print(string1)

#结果
我爱鱼,
我爱python,
我爱学习
我爱鱼,
我爱python,
我爱学习

字符串常见函数总结:

capitalize()

把字符串的第一个字符改为大写

casefold()

把整个字符串的所有字符改为小写

center(width)

将字符串居中,并使用空格填充至长度width的新字符串

count(sub[,start[,end]])

返回sub在字符串里边出现的次数,start和end参数表示范围,可选。

encode(encoding='utf-8',  errors='strict')

以encoding指定的编码格式对字符串进行编码。

endswith(sub[,start[,end]])

检查字符串是否以sub子字符串结束,如果是返回True,否则返回False。start和end参数表示范围,可选。

expandtabs([tabsize=8])

把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8。

find(sub[,start[,end]])

检测sub是否包含在字符串中,如果有则返回索引值,否则返回-1,start和end参数表示范围,可选。

index(sub[,start[,end]])

跟find方法一样,不过如果sub不在string中会产生一个异常。

isalnum()

如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。

isalpha()

如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。

isdecimal()

如果字符串只包含十进制数字则返回True,否则返回False。

isdigit()

如果字符串只包含数字则返回True,否则返回False。

islower()

如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False。

isnumeric()

如果字符串中只包含数字字符,则返回True,否则返回False。

isspace()

如果字符串中只包含空格,则返回True,否则返回False。

istitle()

如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回True,否则返回False。

isupper()

如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False。

join(sub)

以字符串作为分隔符,插入到sub中所有的字符之间。

ljust(width)

返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串。

lower()

转换字符串中所有大写字符为小写。

lstrip()

去掉字符串左边的所有空格

partition(sub)

找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回(‘原字符串’, ’’, ’’)

replace(old,new[,count])

把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次。

rfind(sub[,start[,end]])

类似于find()方法,不过是从右边开始查找。

rindex(sub[,start[,end]])

类似于index()方法,不过是从右边开始。

rjust(width)

返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串。

rpartition(sub)

类似于partition()方法,不过是从右边开始查找。

rstrip()

删除字符串末尾的空格。

split(sep=None, maxsplit=-1)

不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表。

splitlines(([keepends]))

按照‘\n’分隔,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行。

startswith(prefix[,start[,end]])

检查字符串是否以prefix开头,是则返回True,否则返回False。start和end参数可以指定范围检查,可选。

strip([chars])

删除字符串前边和后边所有的空格,chars参数可以定制删除的字符,可选。

swapcase()

翻转字符串中的大小写。

title()

返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。

translate(table)

根据table的规则(可以由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符。

upper()

转换字符串中的所有小写字符为大写。

zfill(width)

返回长度为width的字符串,原字符串右对齐,前边用0填充。

用法:

astring = "Hello world!"
print(astring.upper())
print(astring.lower())

print(astring.startswith("Hello"))
print(astring.endswith("asdfasdfasdf"))

#结果
HELLO WORLD!
hello world!
True
False

1.2.3 字符串格式化

①字符串格式化

位置参数方法:“{0} love {1}”.format(“I”,”u”) 变为 “I love u”

关键字参数:“{a} love {b}”.format(a=“I”, b=”u”) 同样变为“I love u”。

②数字格式化,在输出数据,控制小数点时很方便,常见使用方法得结合一些格式化的操作符号来进行(如下面两个表格所示),两种用法:

(1)b="%0.2f" %30000

(2)b=format(30000, '0.2f')

print("%5.3f" %12.76890456)
a=format(12.875634,"5.3f")
print(a)

#结果
12.769
12.876

字符串格式化符号含义:

            符号说明
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化定点数,可指定小数点后的精度
%e 用科学计数法格式化定点数
%E 作用同%e,用科学计数法格式化定点数
     %g     根据值的大小决定使用%f或%e
%G 作用同%g,根据值的大小决定使用%f或者%E

格式化操作符辅助指令

              符号说明
m.n m是显示的最小总宽度,n是小数点后的位数
- 用于左对齐
+ 在正数前面显示加号(+)
# 在八进制数前面显示 '0o',在十六进制数前面显示 '0x' 或 '0X'
0 显示的数字前面填充 '0' 取代空格

使用方法:

m.n: print('%5.5f' % 27.55),此时要求,小数点后要有5位数,若不足会自动补全,得到 :'27.55000'

-:print( '%-010d' %27.55),此时若无 '-' 号时,将得到:'0000000027',若有'-'号,则得到:'27

'# :print('%#o' %12),简单易懂,转为8 or 16进制输出    

## 应用案列
print('%5.5f' % 27.55)
print( '%-010d' %27.55)
print('%#o' %12)

## 打印整数
print ("I'm number %d" % (20.097))

## 打印浮点数
print("His height is %.2f m" % (1.73))

## 打印字符串
print("My name is %s" % ('terry'))

#结果
27.55000
27
0o14
I'm number 20
His height is 1.73 m
My name is terry
2e10a1fdb98bcd02a6a8c7f51bdf6deb.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值