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)