python 0基础起步学习day1

python是强类型语言,字符串和数字连接,他不会自己转化成字符串,因此会报错。   #注释    不需要分号结尾,但是a=1;b=2是可以同时完成,因此python中分号不是必要的,但不是不可用的!

 

缩进是Python的灵魂,缩进有问题导致程序错误

输入dir(__builtins__)可以查看python所有内置函数                  dir(list)#就会返回list列表的所有函数....以此类推哦~~

输入help(input)等会显示该内置函数的意思

 input() 》if : else : //缩进是python的灵魂,切记、切记

 和C#中字符串@符号一样,python中用r来让字符串默认不区分转义字符

  三引号括起来的字符串可以自动帮我们换行等等,即可打印多行字符串.

 

python也是都是英文符号,中文就会出错,和C#一样

 

条件分支

1.if 条件:

  条件为true执行的操作

else:

  条件为false执行的操作

2.while循环 

3if --- elif ---else:        #(pythoy中用elif代替elseif)

 

 

 

引入外援

任何模块,必须先导入,才能使用

random模块

randint(),会返回一个随机的整数

 其中最上面import random是引入random模块   #和C#的using差不多意思

第二行是调用random模块中的randint函数(1,10) #生成1到10之间的一个随机整数

 类型转换

整型int()

字符串str()

浮点数float()

字节byte()等...

 type()          #返回类型                      type(a)><class 'int'>

 isinstance()       #返回True和False   isinstance(b,float)>True

 

 

python也支持+=          -=      ( /= 》浮点型) .....这些

**为次幂的意思   2**3》8

//是省略小数点后位数的除法  #4//2》2【整型】    4.2//2》2.0【浮点型】

 

算术运算符的优先级是先乘除再加减,有括号先括号

算书运算符优先级高于比较运算符的优先级

 

逻辑运算符

and/or/not

 

pythoy这都可以

 

 

 

 

 

 

 

 

循环

 1.while

2.for

由此可见print写成print(i,end=',').会打印在一行切每个以end中的字符串来分割开,len()计算长度

for 和js中for很像

                                

 

 range()

 经常和for一起用

 

#不包括最后一个参数值

 

和for一起用   切记range(2,9)是不包含9,就是不包含最后一个数字的,只有一个参数,默认从0开始

 

循环才能用break和continue,不是循环的if是不能用的!!!

 break #终止循环

continue #跳过本次循环

                        

 

 

列表:一个打了激素的数组

创建列表

 创建列表》》

向列表添加元素

1.append()  #只能接受一个参数 向列表后插入

2.extend()  #使用一个列表来扩展另一个列表,它只能接受一个参数且为列表    向列表后插入

 》》如果少的话这样写就可以

 

3.insert(列表中的位置索引,插入的元素)

 

 列表获取元素 #通过索引

列表删除元素

1.remove(元素名)     #arr.remove('小甲鱼')只会删除第一个匹配项。   如果没有这个元素名,会报错!

2.del()                     #del arr[1]    del arr#删除整个列表,把列表从内存中剃掉

3.pop()                    #arr.pop()  #删除并返回最后一个元素                arr.pop(1) #删除并返回该索引的元素

 

列表分片(slice)

       拷贝原列表中的一段元素返回一个新列表

 

arrNew=arr[1:]  #从arr列表截取从索引值1开始到最后,返回一个新列表arrNew,对arr无影响

arr[:]                 #得到一个arr列表的拷贝!!!

 

 

列表之间比较是默认从第0个索引开始比较,只要有一个PK赢了,后面就不会比较【就是理解成就是第0个索引之间比较】

列表间的比较运算符还是别看了,其实还是没怎么明白,也不一定是第0个索引之间的比较

 

+   #列表也可以拼接(加号两边对象类型必须是一样的)

如果真的想要俩个列表拼接一个新的列表,最好写:list3=list1[:]+list2[:] ,这样写就彻底脱离了list1与lsit2

*  #list3复制3次并返回新列表

 

in      #检查列表是否有此元素

 in只能检查一层,即我现在检验这个列表,就检验这个列表直接元素有没有我检查的这个元素,即使列表的元素中包含这个元素也不会返回True

 

 列表的小伙伴们

  列表的内置方法

 

 count(元素名) # 检查该元素名在该列表中出现的次数

index  #返回该元素在列表中的位置

  index(元素,起始搜索位置,结束搜索位置)  #只会返回范围内第一个匹配项索引

reverse   #原地翻转

  list3.reverse()

              #func制定算法         key和算法搭配的关键字

sort(reverse=True)    #从大到小

 

 

通过列表分片得到的list3相当于取走了list1的数据,在自己的天地里不受list1的干扰,而list2和list1是引用类型的意思,指向同一块内存地址,因此list1变化,list2也会变化,而list3则不会

由此可见拷贝分片的重要性

拷贝的时候要用分片的方法!!!切记切记!!!!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-05-24 10:07  程序杰杰  阅读(209)  评论(0编辑  收藏  举报