python是弱类型语言
Python、JavaScript、PHP 等脚本语言一般都是弱类型的
强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言、C++、Java 是强类型语言的代表。
弱类型语言有两个特点:
变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。
变量的数据类型可以随时改变,如同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。
需要注意
弱类型并不等于没有类型,弱类型是说在书写代码时不用刻意关注类型,但是在编程语言的内部仍然是有类型的。我们可以使用 type() 内置函数类检测某个变量或者表达式的类型
如求两个力的合力

一、整数int和浮点数float
type(Object) 求某个对象Object的类型 int(3.14)=3,float(3)=3.0 浮点数和整数转换
id(Object) 求某个对象的内存地址
**help(Object)**查看某个对象的帮助文档 函数也是对象
**dir(module)**查看某个模块的内置函数 查看之前先import modue
同样查看某个对象(如字符串str)的方法 **help(Object.function)**不能直接help(function)


a*b乘法
a**b幂次运算a^b
a / b 除法 结果就是多少 不会取整
a // b除法取整
a%b 除法取余
round(number,ndigits=None) 四舍五入类型不变 ndigits=None或者没有保留整型
存在精度问题 round(1.2345,3)=1.234 没有四舍五入这里
import decimal模块解决精度问题

divmod(num1,num2)求num1/num2,num1%num2 divmod(5,2)=(2,1)

python整数int永远不会有溢出问题 但是浮点数float会有

二、字符和字符串str
单引号双引号都有可以
ord(char)求字符的ASCII码 ord(‘a’)=97
bin(num)整数转二进制不可以是小数
int(‘numstring’)数字字符串转整型 int(‘250’)
str(num) 数字(整型浮点型都可以)转字符串str
chr(charNum) 数字转字母(对应ASCII码的数字) chr(ord(‘a’))=‘a’

ch.lower() 大写转小写
ch.upper()小写转大写
ch.isupper()判断是否是小写
ch.islower()判断是否是小写
str.lower()将字符串中的所有大写字母转换为小写字母,转换完成后,该方法会返回新得到的字符串。如果字符串中原本就都是小写字母,则该方法会返回原字符串。
title() 将字符串中每个单词的首字母转为大写,其他字母全部转为小写,转换完成后,此方法会返回转换得到的字符串。如果字符串中没有需要被转换的字符,此方法会将字符串原封不动地返回。
;
import sys
sys.getdefaultencoding() 查看电脑默认使用编码
1、序列及其基本操作
+ 同类型拼接

* 重复元素
len()求长度
in 判断字符/字符串是否在字符串中

2.索引和切片
索引从左往右0开始编号 也可以从右往左-1开始编号
切片 r[ [first]: [end]: [stride]]
从first到end的半开半闭
stride是步长 没有时默认步长为1 步长为正从左往右切 为负从右往左
first没有默认从0开始取
end没有默认到最后一个字符(包括最后一个)
得到的切片是一个新的字符串,原字符串依然没变
r[2:2]得到空串
r[2:] 2到最后
r[:9] 0到9
r[2: 9: 2] 2到9 隔一个取一个
r[:9:2] 0到9 隔一个取一个
r[2::3] 2到最后隔两个取一个
r[::3] 0到最后隔两个取一个
r[:] 、r[::]得到的都是整个字符串
r[::-1] 从右往左全部字符串 相当于把字符串逆序
r[-10:8:2] r[-10]对应y r[8]对应b 步长为正 从左往右y->o得到"yhnb" 包括了b
r[8:-10:-2] r[8]对应第一个o r[-10]对应y 步长为负 从右往左y<-o 得到"o ot"
不能写成r[-10:8:-2] o<-y这样得到的是空串
不管从左往右还是从右往左,
先遇到的那个字符的索引做first
后遇到的那个字符的索引做end,
若开始字符和结束字符按照方向得不到就是空串

以上序列的基本操作和索引序列的基本操作对所有序列都成立 不只是对字符串 字符串只是序列的一种
三、字符串str的常用属性和方法
dir(Object) + help或者先定义一个对象实例再dir(实例)
查看某个对象(如字符串str)的方法 **help(Object.function)**不能直接help(function)

常用的有:
s.salnum() 字母或数字(正整数)
s.isdigit() 正整数
s.isnumreic() 正整数
s.isalpha() 纯字母




count():str.count(sub[,start[,end]])统计字符串出现的次数
str.find(sub[,start[,end]]) 则返回第一次出现该字符串的索引;反之,则返回 -1
str.index(sub[, start[, end]]) -> int
返回字符串中sub串首次出现的开始下标 可以指定sub的某一段
与find的不同之处在于,当指定的字符串不存在时,index() 方法会抛出异常。
str.startswith(sub[,start[,end]])用于检索字符串是否以指定字符串开头,是返回 True;反之False
endwith()
split(self, /, sep=None, maxsplit=-1)
将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来,即返回字符串中以sep为分隔符得到的单词列表list ,若没有参数sep 默认按空格分隔
maxsplit:可选参数用于指定分割的次数,最后列表中子串的个数最多为 maxsplit+1。如果不指定或者指定为 -1,则表示分割次数没有限制。
在 split 方法中,如果不指定 sep 参数,那么也不能指定 maxsplit 参数。
在未指定 sep 参数时,split() 方法默认采用空格进行分割,但当字符串中有连续的空格或其他空字符时,都会被视为一个分隔符对字符串进行分割

join(self, iterable, /) 将列表(或元组)中包含的多个字符串采用固定连接符连接成一个字符串。
将一个字符串列表/元组中的各个字符串(单词)组装成以self为连接字符(串)的新的一个字符串
newstr = str.join(iterable)
此方法中各参数的含义如下:
newstr:表示合并后生成的新字符串;
str:用于指定合并时的分隔符;
iterable:做合并操作的源字符串数据,允许以列表、元组等形式提供

去除字符串中空格(删除指定字符)的3种方法(http://c.biancheng.net/view/2180.html)
strip():删除字符串前后(左右两侧)的空格或特殊字符。
lstrip():删除字符串前面(左边)的空格或特殊字符。
rstrip():删除字符串后面(右边)的空格或特殊字符。
不指定参数删除空格制表符换行符回车符等特殊字符,也可手动指定
Python 的 str 是不可变的(不可变的意思是指,字符串一旦形成,它所包含的字符序列就不能发生任何改变),因此这三个方法只是返回字符串前面或后面空白被删除之后的副本,并不会改变字符串本身。
字符串拼接
常量拼接 strname = “str1” “str2” 如s=“python” “java”
变量拼接+
数字拼接 不允许数字直接与字符串拼接,需要先将数字通过str()转成字符串 s=s1+str(num)
字符串格式化输出
S.format(*args, **kwargs) -> str
相当于是用format里面的参数(数字字符均可)填空到S中

还可以规定插入参数的格式,如
占位长度{0:10}占10位,
对齐方式{1:>15}占15 位右对齐
在数字类型、精度{0: .1f}保留一位小数 {1:4d}占4位且为整数
注意中括号里面的0、1代表的是参数列表里面序号
本文介绍了Python作为弱类型语言的特点,并详细讲解了整数int、浮点数float和字符串str的相关内容,包括类型转换、操作及方法。讨论了整数的溢出问题,字符串的ASCII码、拼接、切片、方法等,并提供了序列操作的示例。
 整数 浮点数和字符串&spm=1001.2101.3001.5002&articleId=109342788&d=1&t=3&u=eedfdd9de7e843cd9f7dd9c454aaa491)

被折叠的 条评论
为什么被折叠?



