Python初步学习

1.学习初衷

最近布置了顶岗实习的任务,而其中一个就是要利用Python做机器学习的情感分类问题,因为之前没有接触过Python,就根据老师给的资料在慕课网上学习哈工大车万翔老师的教的Python课,对以后自己做深度学习方面也有帮助。


2.发现的问题

 车万翔老师讲的内容还是很偏向于基础的,可以说是零基础学习的那种,但是车老师用的是python2的编辑器,而我之前下载的IDE是python3.0,因此在学习的过程中会遇到不同版本的语法冲突。下面python2简记为2,python3简记为3,现记录如下:

     1.print函数:比如2直接表达为print 输出的字符即可,而3要用print('要输出的字符')或者print(要输出的数)

     2.input函数:为了方便键盘输入,都会有这样读取键盘的函数,2是用raw_input('请输入:') ,而3是用input('请输入')

     3.比较两个float类型的数是否相等是会有问题的,因为float是约等于的,所以正确的做法应该是用abs(求绝对值函数,进行两个数相减,然后绝对值大于某个精度,比如1e-4,就可以理解这两个数‘相等’)


3.学习笔记

在学习过程中记录下了python的基础语法等方面的笔记:

     1.Python中基本对象类型,如str,int,float,bool,complex

     2.查看对象类型函数:type:如,print(type(1))      #查看1的类型为Int型

     3.python2中要注意/是整除的部分,如果要有小数则分子要有小数,如5表示为5.0,但是在Python3中已经消除了这点

     4.自加,count+=1,表示为count=count+1

     5.要输出多个变量,在print中加上逗号,要换行则用\n,如print(radius,'\n',x)    #输出多个,输出换行

     6.在python中if语句后面一定要记得用冒号,不然会报错,比如正确的:

score=float(input("输入分数"))
gender='男'
if score>=60:
    if gender=='女':
        print('yes')

     7.在python中多分支结构if-else 用elif表示

     8.在python中if-else的缩进要注意,不然会报错

     9.在python中要用数学函数,在开头导入import math

     10.循环结构:while循环没什么重点,for循环有新函数是range,可以是range(x),表示从0到x,步长为1,或者是range(x,y),从x到y-1,步长为1,range(x,y,z),从x到y-1,步长为z

     11.定义函数的关键字是def +函数名(函数形参1,函数形参2...) :  PS:别忘记这里要有冒号

     12.要对全局变量进行修改则在函数体内的相同名字的变量前面加上global

     13.略过函数的关键字是pass

     14.计算某年某月开始第一天是星期几,只需知道当前某一天是星期几,然后进行模7运算即可。

     15.利用递归实现汉诺塔函数:

#汉诺塔函数
i=0;
def hanoi(n,A,B,C):
    if n==1:
       print("移动",n,"从",A,"到",C)
    else:
        hanoi(n-1,A,C,B)
        print("移动",n,"从",A,"到",C)
        hanoi(n-1,B,A,C)

hanoi(3,"左","中","右")

     16.计算字符串长度函数len()

     17.计算字符串是否为另一个的子串,例如 a in b,返回为false

     18.字符串索引:从前向后数是从0开始,从后向前数是从-1开始的

     19.选择字符串的子序列,语法:[start:finish],start:子序列开始位置的索引值,finish:子序列结束位置的下一个字符的索引值。或者是[start:finsh:conutBy],第三个参数为步长

     20.在Python中字符串不可改变,只能通过生成新的字符串进行改变

     21.但是可以通过replace(old,new)函数进行改变,如:

my_str1='123456789'
print(my_str1.replace('123','456'))

     22.find函数,寻找字符串中某个字符的索引位置

     23.split函数,将源字符串进行切分,如果split中没参数的话则是在空格处进行切分

     24.Python中对文件的操作方法,文件放在当前文件的同个目录下:

f=open(filename,mode)

mode有r(读,默认),w(写)等

按行读取文件内容

for line in f:

pass

关闭文件

f.close()

写文件

f.write(str)

     25.去除读取文件后内容的空格和回车的函数,strip()

     26.首字符大写,其余字符小写的方法,title

     27.字符串比较大小:

首先比较两个字符串的第一个字符

如果相同,则比较下一个字符

如果不同,则字符串大小关系由这两个字符的关系决定

如果其中一个字符为空(较短),则其更小

     28.正则表达式描述字符串的模式

.表示任意字符

\d+表示一系列数字

[a-z]表示一个小写字母

     29.列表:存储一系列元素

如:lst=[5.4,'hello',2]

     30.列表的一系列操作:

如,在list后加一个元素,lst.append('123'),在lst后加一个列表:lst.extend([123,1])

如,在list任意位置加一个元素,lst.insert(3,100),在索引为3的地方加上100

如,删除元素,lst.pop():删除最后元素,lst.pop(3):删除索引为3的元素,remove()是直接删除元素,无论在什么位置,如remove(5),删除5

     31.list.sort(),升序,list.reverse()逆序

     32.重要:列表赋值,如:

a=[1,2,3,4]

b=a

b[1]=100

则a[1]=100

如果b=a[:],则a不会变

     32.嵌套列表

x=[[5,4,7,3],[4,8,9,7],[5,1,2,3]],

表示为: 5 4 7 3

        4 8 9 7

        5 1 2 3

则x[2][1]表示第三行第二列

     33.匿名函数lambda,不需要给函数取名字,如

g=lambda x:x**2

print g(8)

     34.元组:不可变的列表,append、extend、del不可用,其余都可以用

     35.创建元组的方法,可以用','也可以加上(),如m=1,'a',3.14,True或者是(1,'a',3.14,True)

     36.元组交换:a,b=b,a,如切分一个邮件地址:name,domain='[email protected]'.split('@')

     37.字典:一系列的键值对,如C++中的map,Java中的Hashtable



        


你可能感兴趣的:(Python学习,python)