总体来说我还是比较欣赏Python的,大体来说感觉Python和node有点相似,大神不要喷我、我说的相似不是语法,而是输入python就可以在终端进行调试,和node一模一样,当然这是在我初学者角度去分析的。

    哇塞,python也是弱类型语言,感觉找到组织了、据我目前的知识,JavaScript、PHP、Python都是弱类型语言,就是没有一些条条框框的束缚

优点:可移植性好,可在不同的操作系统上运行,缺点:运行比编译型慢 ,代码效率低,代码修改之后就可以运行不需要编译过程

强类型语言(java,c++)

优点:运行速度快,代码效率高,编译过后不能在修改
缺点:需要编译才出结果,代码要编译才能运行

变量:感觉和js差不多,唯一的区别就是不需要声明变量,而且python的赋值方式特别优化,人性化,简单赋值不说了,看一下类似于js的结构赋值的写法

x,y,z = "aa","bb","cc"          x,y,z = "abc"         x=y=z="aa"

注释   :  单行#和linux大多数都一样  多行'''code''',三个单引号或三个双引号

js的console.log的替代品    print()代码输出

数据类型 

  1. 字符串(String)
  2. 数字(Digit)                             int整型(Integer)、float浮点型、bool布尔型(boolean)、complex复数。
  3. 列表(List)
  4. 元组(Tuple)
  5. 集合(Sets)
  6. 字典(Dictionary)
  7. 日期(date)

变量的删除

  1. del 变量
  2. del 变量1,变量2,…

先分析简单的,字符串、字符串和js定义差不多,下标也和js一样,不一样的是多了一些方法

myStr = 'abcdefghijklmn'
myStr[0]  # a
myStr[-1]  # g
myStr[0:3]  # abc  第二个参数是尾下标、第一个是下标取值【头,尾)
myStr[-1:-5] # 空 原因: 步长默认是1,从前向后查找左-》右
myStr[-5:-1] # jklm # 只有头下标,没有尾下标,默认输出从头下标到结尾所有
myStr[0:] # abcdefghijklmn
#  步长,默认为1
myStr[0::1]    # abcdefghijklmn
myStr[0::2]  # acegikm  步长为2
# 我想把字符串的值 倒着输出
myStr[-1::-1] # nmlkjihgfedcba 逆序输出
myStr[::-1]  # nmlkjihgfedcba 逆序输出
@字符串只能查看或重新赋值,不能修改某一个下标对应的值
# 续行符 \,也可以转义
myStr4 = "abc\
def"
myStr2 = 'abc\"def'  # 转义符
注意:
  1. 字符串中索引值对应的某个值不能被修改
  2. 字符串可以使用+进行连接
  3. *代表字符串重复的n次

字符串的转义字符

\"

转义双引号

\'

转义单引号

\\

转义本身

\

续行符

\t

水平制表符

 

 

print的一些格式化   format,{}为占位符

print("HELLO{}!最动听的’{}’语言".format('world', "计算机"))  # 其中{} 占位符 HELLOworld!最动听的‘计算机’语言

# %s 字符串占位符  %d 整数占位符 %f 浮点数占位符
print("我叫%s 我今年%d岁了 我的成绩是%.2f分" %('张三', 18, 12.2))  # 我叫张三 我今年18岁了 我的成绩是12.20分

然后就是Number了(常用函数)

函数名

函数说明

pow(x,y)

x的y次方

round(x,n)

x浮点数的四舍五入,n为保留小数的位数

max(参数1,参数2,参数3,..)

返回给定参数的最大值,参数可为序列(序列:能被for循环的)

min(参数1,参数2,参数3,..)

返回给定参数的最小值,参数可为序列(能被for循环的)

math.ceil(float)  需要math包 imprt math

进一取整数(向上取整)

math.floor(float)

舍一取整(向下取整)

随机数(需要import random包)下面函数之前需要加random

random.choice(seq)

返回一个列表,元组或者字符串的随机项

randrange(start,end,step)

start:范围内开始值包含本身; end:结束值,不包含本身; step:指定递增的基数 返回指定范围内的随机数

range(start,end,step)

start:范围内开始值包含本身; end:结束值,不包含本身; step:指定递增的基数 返回一定范围的序列

shuffle(list)

返回随机打乱的列表(只有列表能被打乱),作用于列表本身

randint(start,end)

返回随机整数 包含start 和end本身

 字符串常用的函数

函数名

函数说明

str.isnumeric()

判断是否是一个数字字符串(只能是一个纯数字字符串,不能包含其他字符)

str.join( seq)

以指定字符串str作为分隔符,在合并成一个新的字符串返回,不改变原来seq

center(width, fillchar)

以原始字符串作为中心,使用fillchar填充到固定的宽度,填充结果如果不够width位,用fillchar填充到width位,如果字符串本身超过width位数,不用填充

ljust(width,fillchar)

返回一个原字符串左对齐,并使用fillchar填充到固定的宽度

rjust(width,fillchar)

返回一个原字符串右对齐,并使用fillchar填充到固定的宽度

lstrip()/rstrip()/strip()

去除字符串的左右两侧的指定字符或者默认的去除空白字符(只去除左右两次的字符)

chr()

将一个整数(ascii码值)转换为对应的字符

ord()

将一个字符返回一个整数(ascii码值)

replace(old, new[,max]),其中max为可选参数,替换次数

在一个字符串中把某一个字符替换成另外的一个字符,max不写,替换对应的全部,否则替换max次

find(str,beg=0)

查找某个字符的出现位置,默认beg从第一位(0)查找,返回索引值,查找失败返回-1

rfind(str)

返回字符串某个字符出现的位置(从右向左查询),返回索引值,查找失败返回-1

split(seq[,maxsplit])

用某个字符将当前的字符串进行拆分,返回列表

upper()

把字符串中的小写转大写字母

lower()

把字符串中的大写转小写字母

splitlines([True])

以换行符进行拆分,返回列表,参数 True可选,是否保留换行符,默认为Falses