eyas小猪

导航

Python学习心得

1.

Python 作为一个近年备受好评的语言,它的一些优点让人无法忽视。

代码简洁、可移植性强、可代入c,c++语言,或自身作为包供其他语言使用。复制代码不必考虑转义直接就能运行,这些都是他的优势。

python的数据类型和大多语言相似,创建变量却很简单,无需显示创建,直接变量名加类型表示,如“”、‘’都表示创建字符串,数字表示integral,加.表示float,false、true表示布尔类型。

和数组相似的列表,并且其值可以是不同类型。不可修改值但可以合并的元组。键值一一对应的字典。

删除变量用del关键字。

输出语句的关键字是:Print,使用方法是Print “内容”,变量;

运算符多了几个如:幂运算符(**),and'or'not,in'notin,is'isnot,另外**运算符的优先级最高。

2.

Python提供了顺序、条件、循环  三种流程语句。

If=>单条件语句,true执行false不执行。

  示例-&  判断用户输入  iuputStr=input("请输入一个数字")   \r   inputNum=int(inputStr)   \r

   if  inputNum==13 :  input "您输入的为13" 

如果要进行不同判断的结果的不同执行方式  用 if elif  两个结果用 if else 

相比C#Python没有do while 循环,break 终止循环  、continue 跳出当前循环 、pass占位符 、whlie 循环。 

死循环用ctrl+c来退出 , for 循环遍历列表    for  标识符  in  对象名      

fol else   \else 在for 正常循环结束之后执 行操作       

这几种语句可以嵌套使用 

try:except:else: -异常处理   示例-&  try :  \r  可能异常的代码  \r  except : \r  异常处理代码  \r  else : 没有发生异常的代码 

try:fimally :   -  有没有异常都被执行 

raise 自己产生的异常,后面代码不被执行

3.

    Python函数类似于方法,定义是由[]def关键字 + 函数名(形参名) :  函数体    \r    return  #不加则返回None

调用是[]函数名(实参)

 

    传递参数有四种方式  1.(arg1,arg2)这个必须传入数量相等且顺序一至的参数

                                  2. (arg1,arg2=value2)这种可以只传arg1,arg2则为value2

                                  3.(*arg)这种参数数量可以是0~N个

                                  4.(**arg)这种以字典形式传入

    Python不像C#区分按值传递还是按引用传递,而是根据传入对象自动划分。 Python变量作用域->def,calss,lanba最小为函数。顺序语句并不包括在内。global能将局部变量转化为全局变量

 

    Python也有一套自己的字符处理函数,机本都已str.为前缀,如下:

  []con() 获取字符长度、[]opper() 全部大写、[]lower() 全部小写、 []swapcase() 大小写转换、[]capitalize() 首字母大写其余全部小写、[]title() 首字母大写、 []str="%d%s",%(数字)%("字符")、 []find("a") 搜索指定的字符,找不到返回-1  下面是它的几种格式

[]find("a",下标) 以定位下标起查、[]find("a",下标,下标) 以定位下标起始查

[]count() 搜索有多少个指定的字符串、 []replace("a","b") 替换字符串、[]strip() 去除空格、 []split("a") 以指定字符分割文本、

[]startswitch("a")  判断是否以指定字符开头、 []endswitch("a") 判断是否以指定字符结尾

 

    集合和列表的区别是:列表是有序的,集合是无序的。所以集合不能添加索引。

    用newset=set(%对象) 来创建集合

    用遍历的方法查看内容元素。

    []add() 添加元素、 update() 修改元素、 remove() 删除元素、 list(%集合) 将集合转换为列表、 str(%集合) 将集合转换为字符、 tuple(%集合) 将集合转换为元组

 

    Python反射,简单来说就是引用函数对象。在C#中需要继承或者导入命名空间,但在Python中只要记住函数名就行了。

(1)引用内部函数  []    funName=globals()[%函数名](参数)  \r   funName

(2)引用外部函数  []    模块名=_import_("%文件名")    \r   className= getattr(%模块名,%类名)    \r    className.%函数名(%参数)

   

    Python时间模块是由time类提拱的,每个时间戳都以1970年1月1日0点0分到最多2038年

    time类的函数以time.作为前缀

    [] time()获取当前时间缀、 localtime(time.time()) 时间缀向时间元组转换、

 strftime("%Y-%m-%d %H:%M:%S",time.localtime()) 将时间元组转换成‘2016-01-01 00:00:00’的格式

  strptime(%字符串,"%Y-%m-%d %H:%M:%S") 把字符串转换为时间元组

  mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")) 将格式字符串转化为时间缀

  %y年份(00-99) %I小时(01-12)

4.

    Python 的程序设计思想既包含面向对象也包含面向过程

  类的语法:[] class   className():    \r    "类的说明"    \r   class_suite #类的成员体

  class_suite 由 成员、方法、属性 组成。构造方法 [] def _init_(self)

  创建类对象 [] 类对象Name=%className()

 

    Python也包含继承,它是面向对象的一个重要思想,子类可以继承父类的行为特征也可以扩展新的行为特征。因为如果出现两个相似的类会出现很多的重复代码。

   继承类的语法:[]  class className(%另一个类Name)

  如果需要重写父类的方法来保证自己的先进 []  def 父类方法Name()  def_suite   

5.

Python数据库连接

Python支持很多的数据库如 》SqlServer、Oracle、MySql。

那它是如何连接的呢?

    A。在指定官网下载安装。(示例为MySql)  B。测试有没有安装成功,新建Other工程,修改编码格式为UTF-8。*导包import MySql*如果没有报异常则安装成功。  C。使用MySqldb的connect 方法连接数据库。

  新建数据库方法—— 用Navicat 工具 建立连接,没有特别的要求。右键新建数据库  字符集选则utf-8,排列方试选第一个

   连接方法——conn=MySqldb.Connect(host  ="localhost",user="%用户名",password="%用户密码",db="%数据库名",charset="%字符编码格式")#utf8没有"-"

  

 用Python语言对数据库操作

[]增删改——

  用conn对象,使用.cursor()方法 获取游标对象,定义sql执行语句和输入参数,使用游标对象的execute(,)方法执行Sql语句,用.colse()方法将conn连接对象and游标对象关闭。、

 示例 ——&

  cursor=conn.cursor()   \r   sql="insert into User(UserName,password) values (%s,%d)"  \r  paramTuple=("jack",123456)  \r  cursor.execute(sql,param)  \r  conn.close()  \r  cursor.colse()

 

[]查询 ——

  前面都一致,但查询需要输岀结果。用获取到的游标对象的.fetch()方法得到查询结果列表。用for 循环输岀下标对象

示例 ——&

  result=cursor.fetch()  \r  for  row  in  result : \r  name=row[0]  \r  password=row[1]

 

JSON 是一个轻量级的JavaScript数据交换格式,是近几年岀现的。Python2.6之后的版本不需要下载JSON包

  视频里介绍了JSON字符串和Python字典的互转

 示例 ——&

 data={"name":"张三","age":"20"}   \r  jsonstr=json.dumps(pydict)

  pydict=json.loads(jonstr)

 

 

 

 

 

 

                                 

 

 

posted on 2018-02-08 00:13  eyas小猪  阅读(8541)  评论(1编辑  收藏  举报