栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python基础入门

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python基础入门

#  python 变量(数据的别名)
# import os
#
# love = "你好" #   = 前面是变量名 后面是变量值 (需要用的时候直接调用变量名即可)
# print(love) #输出变量名为love的变量值
# #变量命名规则,变量名必须为字母或者下划线开头,可以包含字母,下划线,数字,甚至汉字
# #不能使用python关键字和保留字
# #常见的关键字:if,else,while,for,with,as,in,del,not,and,class,except,filnally,none,or,false,true,impore,def,try
# #区分大小写 You 不等于you,me和ME有区别
# #变量推荐命名法则:
# #使用英文单词或者缩写,见名知意
# #驼峰命名法:由多个单词构成,除第一个单词外,其余首字母大写例如:myAge,MyFirstName,
# #大驼峰:包括第一个单词在内的首字母都大写,例如:MyAge,MyFirst
# #posix命名规则:由单词构成,全部小写,单词间用下划线连接,例如:my_name.your_first_love
# #python 基础数据类型
# #数据类型
# #常量数字:直接表示出来的数字就是常量数字,即常量数
# #            数字类型                 数字举例
# #           十进制整数                123,56,78,99.-15
# #            浮点数                  -0.987,4e-12,4.32e23
# #            复数                    3+56j,4.5+7.83
# #            二进制(0b开头)          0b1001   0b101
# #            十六进制(0x开头)         0xfee    0x12fd
# #            八进制 (0o开头)          0o432    0o765
# #补充:八进制在python2.x中可以以‘0’,或者‘0o’开头,在python3.x中只能以‘0o’开头
# #整数:整数通常指不带有小数部分的数字包括自然数,0,负数等,例如:23,-9,0
# #整数的进制:十进制    二进制:都是由1,0组成的数字,逢二进一,例如:1001(9),1011(11) python中的二进制常量数由‘0b’开头
# #八进制:由0-7组成的数字系统,逢八进一  python中的常量数由‘0o’开头的数字 例如:430,12(10),32(26),14(12)
# #十六进制:由0-9,A-F的十五个数字和字母组成  python中常量数由‘0x’开头 A,B,C,D,E,F,分别表示10-15的数字例如:EF2,4E2,54F
# #不同进制直接的转换
# #十进制转换成二进制:bin()
# a = 45
# b = bin(a)
# print(a)
# #十进制转换成八进制:oct()
# a = 45
# b = oct(a)
# print(b)
# #八进制转化成十六进制 hex()
# a = 0o45
# b = hex(a)
# print(b)
# #默认转换成十进制
# #浮点数 定义:即日常理解的小数3.0
# #表示形式:常见小数,带小数点,例如;3.4,5.0
# a = 3.21
# print(a)
# #复数 :由实部和虚部组成,中间用‘+’号连接,虚部后跟‘j’表示 例如:a = 3+4j,23.12+43.2j
# a = 3+4j
# print(a)
# #字符串类型:表示文本信息的一种形式 例如:“天安门” ,“原本”
# #排列有序:在非注释中,凡是用引号括起来的部分都是字符串
# #引号类型:     单引号 '  双引号 "
# #              三单引号'''  三双引号 """
# a = '天安门'
# print(a)
# b = "天安门"
# print(b)
# c = '''天安门'''
# print(c)
# d = """天安门"""
# print(d)
# #四种引号的区别
# #单引号,双引号,认为没有区别,三单引号,三双引号认为没什么区别,三引号常用来表示多行字符串信息,或者在程序函数开头表示函数说明
# #字符串中出现引号,需要换一种引号引起来
# a = "Let's go"
# print(a)
# #转义字符:字符中一些不太好表示的符号,比如换行,制表符等,连同一些需要特殊表示的符号,比如单引号,为了表示这些符号需要用一些特殊的形成,俗称转义
# #需要转义的符号,俗称转义字符
# a = 'Let's go'
# print(a)
# #转义字符:    单引号: '         双引号:"
# #            响铃:a            反斜杠:\
# #            换行:n            水平制表符:t
# #          垂直制表:v           倒退:b           空字符串,字符值为0:
# #unicode16位的十六进制数值:uxxxx(注意,是四个数字)
# #unicode32位的十六进制值:uxxxx xxxx (注意,后边是八位)
# #十六进制值:xxx(注意:第一个X是必须有的,后边的x表示十六进制值)
# #八进制值:oxx
# # string类型的API
# #API(APPlicationprogramminginterface应用程序接口)不重复造轮子
# #是第三方已经做好的集成好的程序功能,我们需要的仅仅是 使用/调用
# #目的是最大程度上减少使用者的开发时间,提高使用者的开发效率
# #一般函数 startswith/endswith 判断是否以xxx开头或结尾
# s = "I love me,and you"   #s为变量名 后边的是变量值
# s.startswith('I')         #.是调用的意思   变量名s的变量值是否以I开头
# s.endswith('YOU')         #.是调用的意思   变量名s的变量值是否以YOU结尾
# s.count('me') #.是调用的意思 count是统计字符串出现的次数 变量名s的变量值里出现过几次me
# print(s.startswith('I'))  #输出变量名s的变量值是否以I开头
# print(s.endswith('YOU'))  #输出变量名s的变量值是否以YOU结尾
# print(s.count('me'))      #输出变量名s的变量值里出现me的次数
# #count 统计xxx出现多少次
# #find:查找字符串中字符出现的位置(能找到返回第一个查到的位置)查不到结果返回-1
# #返回的数字如果是大于等于0的数,表示肯定找到了
# print(s.find('I'))
# #判断字符串:起一定判断功能的字符串
# #判断字符串是小写字母还是大写字母  要求全部是小写或大写才会返回真值
# s = "999"
# print(s.islower()) #判断是否小写
# print(s.isupper()) #判断是否大写
# #isdigit判断字符串是否全部由数字符号组成
# print(s.isdigit()) #判断是否由数字组成
# #isalpha判断字符串是否全部由字母组成 alpha是指英文字符表里面内容
# v = "abcvf"
# print(v.isalpha()) #判断全部是否由英文组成
# #操作函数
# #lower/upper 把字符串转换成大小写
# #strip/lstrip/rstrip   去掉空格
# #swapcase  把字符串交换大小写
# t = "I love m e, 6666"
# print(t.lower()) #全部变成小写
# print(t.upper()) #全部变成大写
# print(t.swapcase()) #交换大小写
# #字符串的格式化:把字符串按照一定格式进行打印或者填充
# f = "my name is wt,my age is 99, iam 189,10kg"
# print(f)
# f = "my name is %s,my age is %d,iam %d %dkg" % ('wt',189,10,100)
# print(f)
# #格式化的分类:使用%进行格式化,当只有一个需要替换的时候,可以省略括号
# #%s表示简单的字符串
# g = "my name is %s" % ("wt")
# print(g)
# #%d,表示数字(整数)
# i = "my age is %d" % 78
# print(i)
# #%d只能表示整数,如果后边实际是小数,则进行取整操作,取整是直接取整数,舍弃后面小数
# r = "my age is %d" %56.8
# print(r)
# #%f表示浮点小数
# o = "i am %fkg" % 78.9
# print(o)
# #可以对小数的格式进行限制,在字母f前如果出现”.x“,其中x表示一个整数,.则时表示浮点数小数点后出现的位数
# p = "i am %.2fkg" % 78.9
# print(p)
# #当实际给出的数据格式多余指定位数的时候,自动进行截取
# s = "i am %.2fkg" % 86.34123
# print(s)
# #如果实际给出数字位数不足则将自动补齐
# s = "i am %.4fkg" % 89.4
# print(s)
# #实际需要进行格是否式化的信息的数量必须与百分号后面给出的数据数量匹配否则报错
# #占位符总共的种类
# # %s:字符串    %r:字符串,但是使用repr而不是str
# # %c:整数转换为单个字符  %o:表示八进制
# # %d:十进制整数    %u:无符号整数
# # %x:十六进制,字母为小写(x为小写)    %X:十六进制,字母为大写(X为大写)
# # %e:浮点数(E为小写),例如:2.87e+12
# # %E:浮点数(E为大写),例如:2.87E+12
# # %f,%F:浮点数十进制形式
# # %g,%G:十进制形式浮点或者指数浮点自动转换
# #格式字符前出现整数标识此占位符所占位置宽度
# #格式字符前边出现‘-’表示左对齐
# #格式字符前边出现‘+’表示右对齐
# #0位数不足用‘0’补齐
# #width表示宽度     pricision精度
# a = "iam%10dlong" %13
# print(a)
# a = "iam%-10dlong" %13
# print(a)
# b = "i am %20s" %"wangtao"
# print(b)
# c = "i am %-20s" %"wangtao"
# print(c)
# d = "iam %010d" %28
# print(d)
# d = "i am %7.4fkg" %87.99  #浮点数情况特殊
# print(d)
# #布尔变量:表示真假,行或者不行,是或者不是   True/False     是否
# #在编程当中,需要大量判断真假,是非,对错
# #字符串可以直接拿来比较
# if (4>5):            #假如4>5就输出yes
#     print('yes')
# else:                #否则  输出no
#     print('NO')
# b = False
# print(b)   #可以直接拿来用
# #如果布尔值作为数字参与运算,那么所有非0的数字都为True,但是反之如果True作为数字参与运算的时候,True表示1
# a = True * 7   #true表示1,仅在运算中
# print(a)
# a = False + 99  #false表示0,仅在运算中
# print(a)
# if 32:
#     print("true")
# # None:是一个特殊的常量
# #不表示任何类型,通常用来占位,或者变量解除绑定,None于任何其他的类型进行比较永远返回False
# #作用:占位,解除变量绑定
# #None 的例子
# a = 555
# print(a)
# a = None   #None必须正确书写
# print(a)
# #运算符
# #运算符就是为数据提供运算连接的符号
# #算数运算符:+,—,*,/,%,//,
# #+,-,*(表示乘号),三个符号和日常生活符号含义一样
# a = 55+77
# print(a)  #把55和77相加的值赋值给a
# #表达式:由一个数字或其他对象或者多个数字或对象和运算符构成,通常是让计算机做一些事情并返回结果
# a = 7-9
# print(a)
# a = 9*8
# print(a)
# #'/'代表除法
# a = 4/2
# print(a)
# a = 5/2
# print(a)
# #在python2和python3中有些区别,此处以python3为准,两数相除结果为浮点数
# a = 5.6/2
# print(a)
# #'//'(floor,地板除):两数相除,得到的结果取整数
# #并不意味着得到的结果一定是整数
# #如两整数正好为整数,则得到整数,否则出现浮点数
# a = 4//2
# print(a)
# a = 4.0//2
# print(a)
# #两数中包含小数,结果为浮点数
# a = 25//3
# print(a)
# #两整数相除,无论是否除尽结果都为整数
# a = 25//3.0
# print(a)
# #'%'表示取余(取模)
# #5除以3商1余2
# #5除以2商2余1
# a = 7%3
# print(a)
# a = 14%5
# print(a)
# a = 3.125%1.5
# print(a)
# #'**'表示幂指数,求一个数的多少次幂
# a = 3**3
# print(a)
# a = 2**4
# print(a)
# #算数运算符的优先级
# #三个等级 1,** 2,*,/,%,//, 3,+,-
# #如果有括号,先计算括号表达式
# a = 2-3*4**2+5//2
# print(a)
# #1,先计算4**2
# #2,再计算3*16 和5//2
# #3,从左向右开始计算
# a = 2-3*4**(6-5)//2
# print(a)
# #先计算6-5
# #表达式中如果出现浮点数,整数等,则计算结果为浮点数,算式中包含浮点数则结果为浮点数
# a = 3+3.2
# print(a)
# #赋值运算符
# #为python变量提供赋值运算功能的符号
# #  =,+=,-=,/=,%=,**=,//=
# #'=',为python提供基本赋值功能a=32,把32赋值给变量a
# #赋值符号的作用:
# #当没有此变量时,创建一个变量,同时把变量绑定到这个对象上当变量存在时,改变此变量关联的对象,用变量访问此变量关联的对象
# a = 87*3-234
# print(a)
# #除=外,其余的赋值都是赋值和相应运算的简写形式 如:a+=b =>a=a+b
# #python中允许批量赋值
# #左边的数量跟右边的数值要求一致,不同变量和值用逗号隔开
# a = 1
# b = 2
# c = 3
# print(a)
# print(b)
# print(c)
# a,b,c = 1,2,3
# print(a)
# print(b)
# print(c)
# #python允许两个变量进行交换
# a = 100
# b = 200
# print(a)
# print(b)
# #交换a,b内容
# a,b = b,a
# print(a)
# print(b)
# # +=
# a = 1
# a+= 2
# print(a)
# # -=
# a=5
# a-=4
# print(a)
# # /=
# a=5
# a/=3
# print(a)
# # *=
# a=2
# a*=3
# print(a)
# # %=
# a=9
# a%=4
# print(a)
# # **=
# a=2
# a**=3
# print(a)
# # //=
# a=7
# a//=2
# print(a)
# #练习
# #需要pi的值,最好用一个变量来表示
# pi=3.1415
# r=2.5
# l=2*pi*r
# m=pi*r**2
# v=4*pi*r**3/3
# print("周长是: %f" %l)
# print("面积是: %f" %m)
# print("体积是:%f" %v)
# #例子求当前时间
# #从今天00:00:00起,已经过去l28762秒求现在是几时几分几秒
# #分析:一个小时是3600s 一分钟是60s
# #如果我们知道总秒数,对小时的秒数求整应该是小时,求余就是剩下的分秒对应的秒数‘//’
# #对剩下的秒数用60求整,就会得到分钟数   剩下的就是秒数
# s_sum=28762
# clock=s_sum//3600
# s_sum=s_sum%3600
# minu=s_sum//60
# s_sum=s_sum%60
# print("现在是 %d时 %d分 %d秒" %(clock,minu,s_sum))
# #比较运算符
# #为我们提供比较功能的运算符
# #特点;最后的结果是真或者假,即布尔值
# # <,>,<=,>=,==,!=
# # <
# b=3<5
# print(b)
# # >
# a=32
# b=a>76
# print(b)
# # >= 大于或者等于
# a=676
# b=a>=76
# print(b)
# #<=,小于或者等于
# a=676
# b=a<=76
# print(b)
# # ==检查操作数是否相等
# b=4==6 #先计算表达式,即对4==6进行判断,然后判断结果赋值给b
# print(b)
# # != 判断两个操作数是否相等
# b=4!=9
# #注意;在python2中,不等于比较运算符也可以是‘<>’在python3中不等于!=
# #逻辑运算符:逻辑运算就是对布尔值进行计算
# # and,or,not
# #and逻辑与  可以把true看成数字1,false看做数字0,and就是乘号
# #True random False
# a=7
# b=2
# c=8
# d=ac
# print(d)
# #or逻辑或 可以把true看做数字1,false看做数字0,or应该被看做or
# #False or True
# #   not 逻辑非 True看做1,False看做0,则not看做取反   not true
# a = not (3>4)
# print(a)
# #逻辑运算短路问题:
# #在逻辑运算的过程中,一旦结果已经确定,则不进行剩下的计算而是直接返回结果
# # 特殊运算符
# #is   is not   del
# #is判断两个变量,对象是否同一个
# #下面的例子,两个变量具有同一个值,但是否指向/绑定同一个对象呢
# a=7897
# b=7897
# c=a is b
# print(c)
# v=id(a)
# print(v)#查看对象的缩写
# n=id(b)
# print(n)
# #两个对象/变量是否是is的依据是,id值一样
# c=d
# c is d
# print(id(c))
# print(id(d))
# #python对一些初级的,常用的对象,放入内存中提供大家使用
# a=2
# b=2
# a is b
# print(id(a))
# print(id(b))
# #is not跟is操作符正好相反
# c=a is not b
# print(c)
# #del,用于删除变量,同时解除与对象的关联,如果可能释放对象,因为已经把b删除掉了,所以再次使用b的时候出现nameerror
# #del b
# #print(b)
# #基本输入输出
# #   input   print
# #   input:从标准设备上读取一个字符串,末尾的换行符会被自动删除
# #标准输入设备:一般指键盘     标准输出设备:屏幕
# # input("请输入你的年龄,按回车键结束")
# # 注意input返回值永远是一个字符串类型
# # age=input("请输入你的年龄,按回车键结束")
# # print("你的年龄是%s" %age)
# #print输出/打印信息到标准输出设备
# print("my name is wt")
# print("my age is:",28)
# #                               分支语句
# #   程序可以由三种结构组成全部:程序结构=顺序+分支+循环
# #   顺序:程序从上到下一行一行执行,一行执行完之后才会继续执行下一行
# #   分支:通过一个判断条件,不同的结果对应不同的处理程序
# #   循环:多次重复执行相同的或相似的代码
# #                               if语句
# #   判断一个条件,当条件成立,则执行相应的程序代码段
# #   语法: if(条件表达式):
# #            程序处理模块
# #   python用缩进来表示程序结构或者代码的层次关系
# #   可以使用tab键或者空格键
# #   python2中,只要空格键数相等就可以,tab和空格可以混用
# #   python3中,不可以混用
# #   例子:
# if(3<89):
#     print("True")    #假如3<89,则打印True
# if(3<9):
#     pass    #占位符不执行任何语句,不起任何实际作用
# #                               if语句案例
# #   老师对大家的考试成绩进行评定,采用A,B,C,D,E,五级进行评定A,是最好成绩
# #   如果90分(包含90分)以上,输出A
# #   如果80分(包含80分)以上,输出B
# #   如果70分(包含70分)以上,输出C
# #   如果60分(包含60分)以上,输出D
# #   其余输出E,考试成绩是由自己给出存入变量
# # score=33
# # if(score>=90):
# #     print('A')
# # if(score>=80 and score<90):
# #     print('B')
# # if(score>=70 and score<80):
# #     print('C')
# # if(score>=60 and score<70):
# #     print('D')
# # if(score<60):
# #     print("E")
# #__________________________________________________________________________________________________________________
# #                                 if.....else
# #   假如条件满足,则执行if后面的语句,否则执行else后面的语句
# #   判断一个学生成绩,如果大于60分,则成绩及格,否则重考
# # score = input("请输入成绩")
# #通过int对象可以把字符串转换成整数数字
# # score=int(score)
# # if(score>=60):
# #     print("你及格了")
# # else:
# #     print("你需要重考")
# #       例子
# #   输入学生成绩,大于90,输出A,否则输出不及格
# # score=input("请输入你的成绩")
# #   通过int对象可以把字符串转换成数字
# # score=int(score)
# # if(score>=90):
# #     print("A")
# # else:
# # if(score>=60):
# #         print("你成绩及格了")
# #     else:
# #         print("不及格")
# #   else跟谁配对:else永远与他平级的if配对
# # score=87
# # if(score>90):
# #     if(score>96):
# #         print("nishihanhan")
# # else:
# #     print("nihaolihai")
# #练习if语句和if....else语句,模拟上海出租车系统
# # 3公里以内,收取基本起步费用13元费
# # 超出3公里,则2.3/km
# # 空驶费,超出15公里,每公里加收单价的50%空驶费用即3.45/km
# # 要求:输入驾驶里程后计算费用
# #   分析:
# #   要求用户输入总里程
# #   判断用户里程,如果小于3km,则输出13元
# #   如果大于3km并且小于15km则收取13+(里程数-3)*2.3
# #   如果大于15公里,则13+12*2.3+(里程数-15)*3.45
# #   输出费用
# # km=input("请输入行驶里程数:")
# # km=float(km)    #float表示浮点数,即小数,里程很可能包含小数
# # cost=0
# # if(km<=3):
# #     cost=13
# #     print(cost)
# # else:
# #     if(km<=15):
# #         cost=13+(km-3)*2.3
# #         print(cost)
# #     else:
# #         cost=13+(15-3)*2.3+(km-15)*3.45
# #         print(cost)
# #   三元操作符
# #   元:操作数的意思,所谓三元,就是一个操作符带动三个操作数一起运算
# #   三元运算符原本没有,其实三元运算符就是if语句
# #   语法:x if 条件 else y
# #   表示:如果if条件判断为真,则返回x否则返回值y
# #   三元运算符示例:
# a = 34 if 3<5 else 1   #如果3<5就输出34,否则输出1
# print(a)
# #   a,b两数由用户输入
# #   比较大小把最大值存入变量c
# #   分析:
# #   用户输入可以用input函数,然后用int转换
# #   比较两数,把最大值存入c
# # a = input("请输入数字A:")
# # a = int(a)
# # b = int(input("请输入数字B:"))
# # c = a if a>b else b
# # print(c)
# #   利用三元运算符求最大值
# #   要求:a,b,c由用户输入三个数字
# #   比较大小最大值输出
# # a = int(input("请输入A:"))
# # b = int(input("请输入B:"))
# # c = int(input("请输入C:"))
# # d = (a if a>b else b) if (a if a>b else b)>c else c
# # print(d)
# # 求a,b,最大值代码a if a>b else b
# #  此处,只要把c当成b,则a代表原理a,b,最大值即可
# #       list
# #   列表:用来盛放/表示一串性质相同或者相似的数据,这些数据组成有序的一种排列方式
# #   一个列表可以盛放:数字,字符串,,列表,或者其他复杂结构
# #   列表定义
# #   直接表示列表,需要用括号括起来,中间数据用逗号隔开
# L1 = [1,2,3,4,5]
# print(L1)
# L2 = [5,1,"i love me",3.4,[2,4,8]]
# print(L2)
# #   range    一个函数
# #   产生一个有规律的由数字组成的列表
# # 使用包三个参数:range(start,end,step)
# # start:开始数字,以后生成的列表里,包含这个数字作为,第一个数字默认为0
# # end:结束数字,这个数字不包含在range生成的列表里
# # 例如:range(1,5)就是生成[1,2,3,4]
# #   step:步长,即每次增加多少,默认为1
# # python2:range生成结果是列表,同时xrange函数,功能类似
# # python3:没有xrange函数,生成结果是迭代器,不是列表
# # a = range(1,6)
# # print(a)     #a==[1,2,3,4,5]
# #   a = range[2,12,3]   #a==[2,5,8,11]
# #       for循环
# #   循环:重复一些性质相同或者相似的事情
# #   python循环:for,while
# #   for:用关键字for来表示
# #   for循环特点:有一个清晰的循环次数,或者清晰的循环结束标志等
# #   语法: for i in xxx :
# #               循环语句模块
# L1 = [1,2,3,4,5]
# for idx in L1:     #对于在L1中的每个元素,我们给这个元素临时用变量idx表示,执行打印操作
#     print(idx)
# #   列表由range函数生成
# L2 = range(1,6)
# for idx in L2:
#     print(idx)
# # 1-50的数字求和
# # 适合for循环
# # 列表适合用range生成
# # 生成存放结果的变量
# mysum = 0
# for idx in range(1,51):
#     mysum=mysum+idx
#     print(mysum)
# #   while循环
# #   当满足一定条件的时候才循环,具体循环次数没有具体规定或者规划
# #   语法: while(循环条件):
# #   循环体
# #   示例:银行利息
# #   10000本金
# #   每年利息收入7%
# #   多少年后本金会超过13000
# #   分析:
# #   循环问题
# #   没有明确循环次数
# #   循环条件确定:本金不超过13000
# #   while
# #   求年限用一个变量来存储答案并初始化
# year = 0
# money = 10000
# while(money<=13000):
#     money=money*1.07
#     year=year+1
#     print("Yeare is %d" % year)
#
# year = 0
# money = 10000
# while(money<=13000):
#     money*=1.07
#     year+=1
#     print("Yeare is %d" %year)
#
# # 示例:累加求和
# # 1-50累加求和
# # while循环必须使用
# # 分析:
# # 用计数来表示数字,从1开始,每次增长1,只要小于51就把数字和总和相加
# #   循环条件:n小于51
# #   每次n增加1
# #   每次n都要总和相加
# my_sum = 0
# #计数器
# n = 1
# while n < 51:
#     my_sum+=n
#     n+=1
#     print("summary is %d" %my_sum)
# #   break语句
# #   英文就是中断的意思,在python中保持了英文原意
# #   无条件终止循环并跳出循环体
# #   示例:
# #   在50-100之间查找第一个可以被9整除的数
# #   分析:
# #       范围给出来了,范围明确,增长规律
# #       对于此类业务,优先选用for
# #   要求找到第一个=>找到第一个就应该退出
# #   退出break
# for idx in range(50,101):
#     # 被9整除如何表示;如果用9取余等于0,则表示能被整除
#     if idx %9 == 0:
#         print(idx)
#         break
#     print(idx)
# #   对于嵌套多重复循环,break语句值退出跟他最近的一次循环
# #   continue语句
# #   continue含义:继续循环,继续下一轮循环
# #   使用环境:当我已经确定不需要继续本轮循环的时候使用
# #   函数
# #   能完成一定逻辑业务功能的程序块(一堆程序代码),是程序模块的一个单位
# #   作用:代码组织
# #   代码复用
# #   几个问题
# #   函数名/函数定义
# #   返回值
# #   函数定义
# #   def funcname()    :funcname是函数名字
# #   print(“这是一个函数”)
# #   函数的调用
# #   调用直接用函数的名称,有参数输入参数,没有就空括号
# # def funcname():
# #     print("这就是一个函数")
# #     funcname()
#
# def func0ne():
#     for idx in range(1,6):
#         print(idx)
# print(func0ne())
#
# # 函数返回值return语句
# # 表示无条件结束函数并返回结果
# # 约定,任一函数都应该有return语句表示结束
# # return例子
# # 定义函数,表示两数相加,则返回相加的和
# def getsum(one,two):
#     return one + two
# summ = getsum(12,89)
# print(summ)
# # 参数
# # 在函数中,用来占位具有一定表示意义的变量名
# # 分类:
# # 形参:形式参数的简称
# # 实参:实际参数的简称
# # 形参用来定义,给实际参数占位,实参是实际参与调用,运算的参数
# # 函数举例
# def func01(name):
#     print("my name is %s" % name)
#     #在函数定义的时候,参数还没有具体的值,他的主要作用是占据位置
#     #在调用的时候参数有了具体的值,也就有了具体的含义此时叫实参
#     # func01("wt")
# print(func01("wt"))
# # 关键字参数
# # 对参数进行别名设置,同时使参数具有了默认值
# # 可以忽略参数的顺序
# def fun0(name,food):
#     print(name + "likes eat" + food)
#     # fun0("wt","nuddle")
# fun0(name="wt",food="fish")
# fun0(food="fish",name="wt")
# # 默认参数
# # 参数在定义的时候带默认值
# #  默认参数定义
# #   默认参数需要使用关键字参数,语法格式:arg=xxx
# #   默认参数必须放在参数列表后边,且默认参数后不得再有普通参数
# #   定义一个函数,函数功能为:显示谁取得了多少分
# # def func(name,score=60):
# #     if(score>=60):
# #         print("恭喜%s,考了%d分,不需要重考" %(name,score))
# #     else:
# #         print("很遗憾%s,你考了%d分,需要重新考" %(name,score))
# #    func("wt",77)
# #   序列参数,字典参数
# #   列表参数:所有参数作为一个列表传入
# #   字典函数:参数作为一个字典传入
# def myfunc(a,b,c):
#     print("this is a exsmple for para")
#     print("value of a is %s" % a)
#     print("value of a is %s" % b)
#     print("value of a is %s" % c)
# myfunc(34,56,78)
# # 把实参作为列表传入
# p1 = ["one","two","three"]
# myfunc(*p1)
# # 如果把列表直接传入,则解释器认为你只传了一个参数
# # 如果所有参数都放入一个列表中,则需要特殊表示出来
# # 序列长度必须与形参个数相同
# # 序列位置信息对应相应的参数信息
# # 尝试把所有参数都放入字典中传入
# # 字典的长度必须与形参个数相同
# # 字典的键必须对应函数的形参,键作为字符串类型
# # 字典的值传递给键对应的参数
# d = {"a":"one","b":"two","c":"three"}
# myfunc(**d)
# #                           星号元组形参
# #   星号元组参数
# #   语法:def函数名(*元组形参):
# #                   语句块
# #   定义星号元组参数函数
# #   如果不输入实参,则函数认为给了一个空列表,如果输入实参,函数自动把实参打包放入列表然后传入
#
# # 双星号字典函数
# # 把传入参数打包成字典传入
# # 语法:  def函数名(**字典形参):
# #                       函数体
# #   定义一个双星号字典参数函数例子
# #  双星号字典函数对应的是关键字函数
# # 位置形参,星号列表形参,双星号字典形参可以混用
# # 如果混合使用,则顺序必须为,位置形参,星号列表形参,双星号形参
# #           函数返回值
# #   返回值一般会有,用return语句返回
# #   函数的类型,一般就是返回值的类型
# #   不返还数据可以没有return,不建议去掉
# #   可以只有return,此时返回默认值none
# def func(one):
#     print("the first func")
#     return
# func(999)
# rst = func(0)
# print(rst)
#
# # 如果不返回值,则默认返回none
# # 函数可以返回复杂类型,也可以一次返回多个值
# def fun3(one,two):
#     three = one + two
#     print(three)
#     return three
# rst = fun3(23,55)
# print(rst)
# # 多个返回值用逗号隔开
# # 返回多个值的函数
# def fun4(one,two):
#     one = one + 100
#     two = two + 100
#     three = one + two
#     return one,two,three
# rst = fun4(34,67)
# print(rst)
# type(rst)
# # 如果返回值放入一个变量,则默认此变量为tuple类型,即多个返回值自动打印成tuple
# o,t,h = fun4(67,89)
# print(o,t,h)
# type(0)
# # 还可以用相同序列变量来接受返回值
# # 此时返回值会一对一存入相应变量
# # 多个返回值函数接受只能一个tuple类形式相同数量变量列表,否则会报错
# #       函数文档
#
# def fucn(one):
#     print("the fi rst fun")
#     '''
#     这是一个例子程序没有实际意义
#     '''
#     return one
# fucn(8)
#
# # 通过查看_doc_属性可以查看函数定义的doc内容
# # fucn._doc_  doc前后有两个下划线
# # 函数定义的对当会出现在help函数结果中,供用户查看
# help(fucn)
# 常用模块
# os 模块
# os.remove()删除文件
# os.unlink()删除文件
# os.rename()重命名文件
# os.listdir()列出指定目录下所有文件
# os.chdir()改变当前工作目录
# os.getcwd()获取当前文件路径
# os.mkdir()新建目录
# os.rmdir()删除空目录(删除非空目录,使用shutil.rmtree())
# os.makedirs()创建多级目录
# os.removedirs()删除多级目录
# os.stat(file)获取文件属性
# os.chmod(file)修改文件权限
# os.utime(file)修改文件时间戳
# os.name(file)获取操作系统标识
# os.system()执行操作系统命令
# os.execvp()启动一个新进程
# os.spawn()执行外部程序脚本(windows)
# os.access(path,mode)判断文件权限(详细参考cnblogs)
# os.path.split(filename)将文件路径和文件名分隔(会将最后一个目录作为文件名而分离)
# os.path.splitext(filename)将文件路径和文件扩展名分割成一个元组
# os.path.dirname(filename)返回文件路径的目录部分
# os.path.basename(filename)返回文件路径的文件名部分
# os.path.join(dirname,basename)将文件路径和文件名凑成完整文件路径
# os.path.abspath(name)获得绝对路径
# os.path.splitunc(path)把路径分割为挂载点和文件名
# os.path.normpath(path)规范path字符串形式
# os.path.exists()判断文件或目录是否存在
# os.path.isabs()如果path是绝对路径,返回True
# os.path.realpath(path)返回path的真实路径
# os.path.relpath(patn[,start])从start开始计算相对路径
# os.path.normcase(path)转换path的大小写和斜杠
# os.path.isdir()判断name是不是一个目录,name不是目录就返回false
# os.path.isfile()判断name是不是一个文件,不存在返回false
# os.path.islink()判断文件是否连接文件,返回boolean
# os.path.ismount()指定路径是否在且为一个挂载点,返回boolean
# os.path.samefile()是否相同路径的文件,返回boolean
# os.path.getatime()返回最近访问时间浮点型
# os.path.getmtime()返回上一次修改时间浮点型
# os.path.getctime()返回文件创建时间浮点数
# os.path.commonprefix(list)返回list(多个路径)中,所有path共有的最长的路径
# os.path.lexists路径存在则返回true,路径损坏也返回true
# os.path.expanduser(path)把path中包含的~和~user转换成用户目录
# os.path.sameopenfile(fp1,fp2)判断fp1,和fp2是否指向同一个文件
# os.path.samestat(stat1,stat2)判断start tuple stat1和stat2是否指向同一个文件
# os.path.splitdrive(path)一般在windows下,返回驱动器名和路径组成的元组
# os.path.walk(path,visit,arg)遍历path,给每个path执行一个函数
# os.path.supports_unicode_filenames()设置是否支持unicode路径名
# ___________________________________________________________________________________________________________________
# stat模块
# 描述os.stat()返回的文件属性列表中各值的意义
# fileStats=os.stat(path)获取到底文件属性列表
# fileStats[stat.ST_MODE]获取文件的模式
# fileStats[stat.ST_SIZE]文件大小
# fileStats[stat.ST_MTIME]文件最后修改时间
# fileStats[stat.ST_ATIME]文件最后修改时间
# fileStats[stat.ST_CTIME]文件创建时间
# stat.S_ISDIR(fileStats[stat.ST_MEDE])是否目录
# stat.S_ISREG(fileStats[stat.ST_MODE])是否一般文件
# stat.S_ISLNK(fileStats[stat.ST_MODE])是否连接文件
# stat.S_ISSOCK(fileStats[stat.ST_MODE])是否COCK文件
# stat.S_ISFIFO(fileStats[stat.ST_MODE])是否命名管道
# stat.S_ISBLK(fileStats[stat.ST_MODE])是否块设备
# stat.S_ISCHR(fileStats[stat.ST_MODE])是否字符设置
# ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
# sys模块
# sys.argv命令行参数list,第一个元素是程序本身路径
# sys.path返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.modules.keys()返回所有已经导入的模块列表
# sys.modules返回系统导入的模块字段,key是模块名,value是模块
# sys.exc_info()获取当前整在处理的异常类,exc_type,exc_value,exc_traceback当前处理的
# sys.exit(n)退出程序,正常退出时exit(0)
# sys.hexversion获取python解释程序的版本值,16进制格式
# sys.version获取python解释程序的版本信息
# sys.platform返回操作系统平台名称
# sys.stdout标准输出
# sys.stdout.write('aaa')标准输出内容
# sys.stdout.writelines()无换行输出
# sys.stdin标准输出
# sys.stdin.read()输入一行
# sys.stderr错误输出
# sys.exc_clear()用来清除当前线程所出现的当前的或最近的错误信息
# sys.exec_prefix返回独立的python文件安装的位置
# sys.byteorder本地字节规则的指示器,big-endian平台的值是‘big,little-endian平台的值是little
# sys.copyright记录python版权相关的东西
# sys.api_version解释器的c的api版本
# sys.version_info'final'表示最终,也有candidate表示候选,表示版本级别,是否在有后续的发行
# sys.getdefaultencoding()返回当前你所用的默认的字符编码格式
# sys.getfilesystemencoding()返回将unicode文件名转换成系统文件名的编码的名字
# sys.builtin_module_names Python解释器导入的内建模块列表
# sys.executable Python解释程序路径
# sys.getwindowsversion()获取windows的版本
# sys.stdin.readline()从标准输入读一行,sys.stdout.write("a")屏幕输出a
# sys.setdefaultencoding(name)用来设置当前默认的字符编码
# sys.displayhook(value)如果value非空,这个函数会把他输出到sys.stdout
# ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————
# datetime,date,time模块
# datetime.date.today()本地日期对象(用str函数可得到它的字面表示(2021-10-15))
# datetime.date.isoformat(obj)当前[年-月-日]字符串表示(2021-10-15)
# datetime.date.fromtimestamp()返回一个日期对象,参数是时间戳,返回[年-月-日]
# datetime.date.weekday(obj)返回一个日期对象的星期数,周一是0
# datetime.data.isoweekday(obj)返回一个日期对象的星期数,周一是1
# datetime.date.isocalender(obj)把日期对象返回一个带年月日的元组
# datetime对象
# datetime.datetime.today()包含本地时间(含微秒数)的datetime对象,2021-10-15 15:42:50。419000
# datetime.datetime.now([tz])返回指定时区的datetime对象2021-10-15 15:42:50.419000
# datetime.datetime.utcnow()返回一个零时区的dtetime对象
# datetime.fromtimestamp(timestamp[,tz])按时间戳返回一个datetime对象,可指定时区,可用于strftime转换为日期表示
# datetime.utcfromtimestamp(timestamp)按时间戳返回一个UTC-datetime对象
# datetime.datetime.strptime('2021-10-15 15:48:44',"%Y-%d %H:S")将字符串转为datetime对象
# datetime.datetime.strftime(datetime.datetime.now(),'%Y%m%d 5H%M%S)将datetime对象转换为str表示形式
# datetime.date.today().timetuple()转换为时间戳datetime元组对象,可用于转换时间戳
# time.mktime(timetupleobj)将datetime元组对象转为时间戳
# time.time()当前时间戳
# —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
# hashlib,md5模块
# hashlib.md5('md5_str').hexdigest()对指定字符串md5加密
# md5.md5('md5_str').hexdigest()对指定字符串md5加密
# _____________________________________________________________________________________________________________________
# random模块
# random.random()产生0-1的随机浮点数
# random.uniform(a,b)产生指定范围内的随机浮点数
# random.randint(a,b)产生指定范围内的随机整数
# random.randrange([start],stop[,step])从一个指定步长的集合中产生随机数
# random.choice(sequence)从序列中产生一个随机数
# random.shuffle(x[,random])将一个列表中的元素打乱
# random.sample(sequence,k)从序列中随机获取指定长度的片段
# ______________________________________________________________________________________________________________________
# types模块
# 保存了所有数据类型名称
# if type('1111') == types.StringType:
# MySQL模块:
# MySQLdb.get_client_info()获取API版本
# MySQLdb.Binary('string')转为二进制数据形式
# MySQLdb.escape_string('str')针对mysql的字符转义函数
# MySQLdb.DateFromTicks(1345677)把时间戳转为datetime.date对象为例
# MySQL.db.TimestampFromTicks(7868678)把时间转为datetime.datetime对象为例
# MySQLdb.string_literal('str')字符转义
# MySQLdb.cursor()游标对象上的方
# ————————————————————————————————————————————————————————————————————————————————————————————————————-—————————————————
# atexit模块
# atexit.register(fun,args,args2..)注册函数func,在解析器退出前调用该函数
# -——————————————————————————————————————————————————————————————————————————————————————————————————————————————
# string模块
# str.capitalize() 把字符串的第一个字符大写
# str.center(width) 返回一个原字符串居中,并使用空格填充到width长度的新字符串
# str.ljust(width) 返回一个原字符串左对齐,用空格填充到指定长度的新字符串
# str.rjust(width) 返回一个原字符串右对齐,用空格填充到指定长度的新字符串
# str.zfill(width) 返回字符串右对齐,前面用0填充到指定长度的新字符串
# str.count(str,[beg,len]) 返回子字符串在原字符串出现次数,beg,len是范围
# str.decode(encodeing[,replace]) 解码string,出错引发ValueError异常
# str.encode(encodeing[,replace]) 解码string
# str.endswith(substr[,beg,end]) 字符串是否以substr结束,beg,end是范围
# str.startswith(substr[,beg,end]) 字符串是否以substr开头,beg,end是范围
# str.expandtabs(tabsize = 8) 把字符串的tab转为空格,默认为8个
# str.find(str,[stat,end]) 查找子字符串在字符串第一次出现的位置,否则返回-1
# str.index(str,[beg,end]) 查找子字符串在指定字符中的位置,不存在报异常
# str.isalnum() 检查字符串是否以字母和数字组成,是返回true否则False
# str.isalpha() 检查字符串是否以纯字母组成,是返回true,否则false
# str.isdecimal() 检查字符串是否以纯十进制数字组成,返回布尔值
# str.isdigit() 检查字符串是否以纯数字组成,返回布尔值
# str.islower() 检查字符串是否全是小写,返回布尔值
# str.isupper() 检查字符串是否全是大写,返回布尔值
# str.isnumeric() 检查字符串是否只包含数字字符,返回布尔值
# str.isspace() 如果str中只包含空格,则返回true,否则FALSE
# str.title() 返回标题化的字符串(所有单词首字母大写,其余小写)
# str.istitle() 如果字符串是标题化的(参见title())则返回true,否则false
# str.join(seq) 以str作为连接符,将一个序列中的元素连接成字符串
# str.split(str=‘‘,num) 以str作为分隔符,将一个字符串分隔成一个序列,num是被分隔的字符串
# str.splitlines(num) 以行分隔,返回各行内容作为元素的列表
# str.lower() 将大写转为小写
# str.upper() 转换字符串的小写为大写
# str.swapcase() 翻换字符串的大小写
# str.lstrip() 去掉字符左边的空格和回车换行符
# str.rstrip() 去掉字符右边的空格和回车换行符
# str.strip() 去掉字符两边的空格和回车换行符
# str.partition(substr) 从substr出现的第一个位置起,将str分割成一个3元组。
# str.replace(str1,str2,num) 查找str1替换成str2,num是替换次数
# str.rfind(str[,beg,end]) 从右边开始查询子字符串
# str.rindex(str,[beg,end]) 从右边开始查找子字符串位置
# str.rpartition(str) 类似partition函数,不过从右边开始查找
# str.translate(str,del=‘‘) 按str给出的表转换string的字符,del是要过虑的字符
# ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
# urllib模块
# urllib.quote(string[,safe]) 对字符串进行编码。参数safe指定了不需要编码的字符
# urllib.unquote(string) 对字符串进行解码
# urllib.quote_plus(string[,safe]) 与urllib.quote类似,但这个方法用‘+‘来替换‘ ‘,而quote用‘%20‘来代替‘ ‘
# urllib.unquote_plus(string ) 对字符串进行解码
# urllib.urlencode(query[,doseq]) 将dict或者包含两个元素的元组列表转换成url参数。
# 例如 字典{‘name‘:‘wklken‘,‘pwd‘:‘123‘}将被转换为”name=wklken&pwd=123″
# urllib.pathname2url(path) 将本地路径转换成url路径
# urllib.url2pathname(path) 将url路径转换成本地路径
# urllib.urlretrieve(url[,filename[,reporthook[,data]]]) 下载远程数据到本地
# filename:指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据)
# reporthook:回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调
# data:指post到服务器的数据
# rulrs = urllib.urlopen(url[,data[,proxies]]) 抓取网页信息,[data]post数据到Url,proxies设置的代理
# urlrs.readline() 跟文件对象使用一样
# urlrs.readlines() 跟文件对象使用一样
# urlrs.fileno() 跟文件对象使用一样
# urlrs.close() 跟文件对象使用一样
# urlrs.info() 返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
# urlrs.getcode() 获取请求返回状态HTTP状态码
# urlrs.geturl() 返回请求的URL
# ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
# re模块
# 一.常用正则表达式符号和语法:
# '.' 匹配所有字符串,除n以外
# ‘-’ 表示范围[0-9]
# '*' 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。
# '+' 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +
# '^' 匹配字符串开头
# ‘$’ 匹配字符串结尾 re
# '' 转义字符, 使后一个字符改变原来的意思,如果字符串中有字符*需要匹配,可以*或者字符集[*] re.findall(r'3*','3*ds')结['3*']
# '*' 匹配前面的字符0次或多次 re.findall("ab*","cabc3abcbbac")结果:['ab', 'ab', 'a']
# ‘?’ 匹配前一个字符串0次或1次 re.findall('ab?','abcabcabcadf')结果['ab', 'ab', 'ab', 'a']
# '{m}' 匹配前一个字符m次 re.findall('cb{1}','bchbchcbfbcbb')结果['cb', 'cb']
# '{n,m}' 匹配前一个字符n到m次 re.findall('cb{2,3}','bchbchcbfbcbb')结果['cbb']
# 'd' 匹配数字,等于[0-9] re.findall('d','电话:10086')结果['1', '0', '0', '8', '6']
# 'D' 匹配非数字,等于[^0-9] re.findall('D','电话:10086')结果['电', '话', ':']
# 'w' 匹配字母和数字,等于[A-Za-z0-9] re.findall('w','alex123,./;;;')结果['a', 'l', 'e', 'x', '1', '2', '3']
# 'W' 匹配非英文字母和数字,等于[^A-Za-z0-9] re.findall('W','alex123,./;;;')结果[',', '.', '/', ';', ';', ';']
# 's' 匹配空白字符 re.findall('s','3*ds tn')结果[' ', 't', 'n']
# 'S' 匹配非空白字符 re.findall('s','3*ds tn')结果['3', '*', 'd', 's']
# 'A' 匹配字符串开头
# 'Z' 匹配字符串结尾
# 'b' 匹配单词的词首和词尾,单词被定义为一个字母数字序列,因此词尾是用空白符或非字母数字符来表示的
# 'B' 与b相反,只在当前位置不在单词边界时匹配
# '(?P...)' 分组,除了原有编号外在指定一个额外的别名 re.search("(?P[0-9]{4})(?P[0-9]{2})(?P[0-9]{8})","371481199306143242").groupdict("city") 结果{'province': '3714', 'city': '81', 'birthday': '19930614'}
# [] 是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[s*]表示空格或者*号。
# 二.常用的re函数:
# 方法/属性 作用
# re.match(pattern, string, flags=0) 从字符串的起始位置匹配,如果起始位置匹配不成功的话,match()就返回none
# re.search(pattern, string, flags=0) 扫描整个字符串并返回第一个成功的匹配
# re.findall(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为一个列表返回
# re.finditer(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为一个迭代器返回
# re.sub(pattern, repl, string, count=0, flags=0) 替换匹配到的字符串
# ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
# math模块
# ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x
# copysign:把y的正负号加到x前面,可以使用0
# cos:求x的余弦,x必须是弧度
# degrees:把x从弧度转换成角度
# e:表示一个常量
# exp:返回math.e,也就是2.71828的x次方
# expm1:返回math.e的x(其值为2.71828)次方的值减1
# fabs:返回x的绝对值
# factorial:取x的阶乘的值
# floor:取小于等于x的最大的整数值,如果x是一个整数,则返回自身
# fmod:得到x/y的余数,其值是一个浮点数
# frexp:返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围
# fsum:对迭代器里的每个元素进行求和操作
# gcd:返回x和y的最大公约数
# hypot:如果x是不是无穷大的数字,则返回True,否则返回False
# isfinite:如果x是正无穷大或负无穷大,则返回True,否则返回False
# isinf:如果x是正无穷大或负无穷大,则返回True,否则返回False
# isnan:如果x不是数字True,否则返回False
# ldexp:返回x*(2**i)的值
# log:返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)
# log10:返回x的以10为底的对数
# log1p:返回x+1的自然对数(基数为e)的值
# log2:返回x的基2对数
# modf:返回由x的小数部分和整数部分组成的元组
# pi:数字常量,圆周率
# pow:返回x的y次方,即x**y
# radians:把角度x转换成弧度
# sin:求x(x为弧度)的正弦值
# sqrt:求x的平方根
# tan:返回x(x为弧度)的正切值
# trunc:返回x的整数部分
# ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
# python常用的库
#           名称              作用
#       datetime        为日期和时间处理同时提供了简单和复杂的方法
#       zlib            直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及tarfile
#       random          提供了生成随机数的工具
#       math            为浮点运算提供了底层的C函数库的访问
#       sys             工具脚本经常调用命令行参数,这些命令行参数以链表形式存储在sys模块的argv变量
#       glob            提供了一个函数用于从目录通配符搜索中生成文件列表
#       os              提供了不少与操作系统相关联的函数
# ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
#                       常用的第三方库
#       Scrapy          爬虫工具常用的库
#       Requests        http库
#       Pillow          是PIL(python图形库)的一个分支,适用于在图形领域工作的人
#       matplotlib      绘制数据图的库对于科学家和分析师非常有用
#       OpenCV          图片识别常用的库,通常在练习人脸识别会用到
#       python-jenkins  操作jenkins
#       python-gitlab   查询gitlab信息
#       wxPython        python的一个GUI图形用户界面工具
#       Twisted         对于网络应用开发者最重要的工具
#       SymPy           sympy可以做代数评测,差异化,扩展,复数等等
#       SQLALchemy      数据库的库
#       SciPy           python的算法和数学工具库
#       Scapy           数据包探测和分析库
#       pywin32         提供和windows交互的方法和类的python库
#       pyQT            python的gui工具,给python脚本开发用户界面时次于wxpython的选择
#       pyGtk           也是pythonggui库
#       pyglet          3D动画和游戏开发引擎
#       pygame          开发2D游戏的时候使用会有很好的结果
#       NumPy           为python提供了很高级的数学
#       nose            python的测试框架
#       nltk            自然语言工具包
#       ipython         python的提示信息包括完成学习,历史信息,shell功能,已经其它很多方面
#       BeautifulSoup   xml和html的解析库
# ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————
# 文本类型     str
# 数值类型     int,float,complex
# 序列类型     list,tuple,range
# 映射类型     dict
# 集合类型     set,frozenset
# 布尔类型     bool
# 二进制类型   bytes,bytearray,memoryview
# -————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
# 文件处理
# 在python中使用文件的关键函数是open()函数
# open()函数有两个参数:文件名和模式
# 有四种打开文件袋不同方法(模式):
# r读取,默认值,打开文件进行读取,若果文件不存在则报错
# a追加,打开供追加的文件,如果不存在则创建文件
# w写入,打开文件进行写入,如果不存在则创建该文件
# x创建,创建指定文件,若果文件存在则返回错误
# 此外,可以指定文件是应该作为二进制还是文本模式进行处理
# t文本,默认值,文本模式
# b二进制,二进制模式,例如图像
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号