博客内容:

1、基础语法

2、运算符

3、流程控制

4、列表、元组、字典、集合

5、字符串

6、文件操作

一、基础语法

1、标识符

命名规则:

  • 以字母、下划线开头
  • 其他部分由字母、数字或下划线组成
  • 不能使用关键字命名;
  • 常量一般全部是大写;
  • 命名要有意义,不宜过长。

定义:可以改变的量:

age=19    #定义一个名为age的量,他的值为19

常量:不可以改变的量(命名字母全大写)

2、注释

Python中单行注释以 # 开头

行注释可以用多个 # 号,还有 ''' 和 """

# 单行注释

'''
多行注释
'''

"""
多行注释
"""

注释

3、行与缩进

python缩进来表示代码块,不使用大括号 {} 。

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

4、数字(Number)类型

python中数字有四种类型:整数、布尔型、浮点数和复数。

  • int (整数), 如 1
  • bool (布尔), 如 True
  • float (浮点数), 如 1.23、3E-2
  • complex (复数), 如 1 + 2j、 1.1 + 2.2j
age = 19

ps:类型的转换

  • int(x) 将x转换为一个整数。
  • float(x) 将x转换到一个浮点数。
  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

5、字符串(String)

"oeasys"

  • python中单引号和双引号使用完全相同。
  • 使用三引号('''或""")可以指定一个多行字符串
  • 转义符 '\' 反斜杠可以用来转义
  • Python中的字符串不能改变
  • 字符串可以用 + 运算符连接在一起,用 * 运算符重复以及格式化输出

ps:格式化输出

字符串 %s;整数 %d、;浮点数%f

name = "oeasys"
print ("i am %s " ,% name)

#输出: i am oeasys

6、布尔值

一个True(真)一个False(假)

7、用户输入与输出

input() 等待用户输入

print() 打印输出

二、运算符

1、Python算术运算符

2、Python比较运算符

3、Python赋值运算符

4、Python位运算符

5、Python逻辑运算符

6、Python成员运算符

7、Python身份运算符

8、Python运算符优先级

运算符图片并非原创,转自菜鸟教程

三、流程控制

1、条件控制

 if 如果:    # 如果为真,执行如果代码
     执行如果代码
 elif 否则如果:    # 否则如果为真,执行否则如果代码
     执行否则如果代码
 else:    # 前面都不为真,执行否则代码
     执行否则代码

if-elif-else

 result = 值1 if 条件 else 值2

 # 如果条件成立,那么将 “值1” 赋值给result变量,否则,将“值2”赋值给result变量

三元运算

2、循环控制

1、while 循环

while 判断条件:
    语句

2、while 循环使用 else 语句

while 如果为真:    # 如果为真,执行循环语句
   执行循环语句
else:    #while循环为假,执行否则语句
   执行否则语句

3、for 语句

for i in range(10):

  执行语句

ps:range()函数

内置range()函数,它会生成数列

 for i in range(5):
      print(i)
 ...
 0
 1
 2
 3
 4

使用range指定区间的值

 for i in range(5,9) :
     print(i)

 5
 6
 7
 8

range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长')

 for i in range(0, 10, 3) :
     print(i)

 0
 3
 6
 9

您可以结合range()和len()函数以遍历一个序列的索引

 a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
 for i in range(len(a)):
 ...     print(i, a[i])
 ...
 0 Google
 1 Baidu
 2 Runoob
 3 Taobao
 4 QQ

range()函数来创建一个列表

 >>>list(range(5))
 [0, 1, 2, 3, 4]

4、break和continue语句

  1. break 语句可以跳出 for 和 while 的循环体
  2. continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

5、pass 语句

Python pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句

四、列表、元组、字典、集合

1、列表

创建列表

names = ['张三',"李四",'王五']

通过下标访问列表中的元素,下标从0开始计数

>>> names[0]
'张三'
>>> names[2]
'王五'
>>> names[-1]
'王五'
>>> names[-2] #还可以倒着取
'李四' 
 >>> num = ["]
 >>> num[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
 [']
 >>> num[1:-1] #取下标1至-1的值,不包括-1
 [']
 >>> num[0:3]
 [']
 >>> num[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
 [']
 >>> num[3:] #如果想取最后一个,必须不能写-1,只能这么写
 [']
 >>> num[3:-1] #这样-1就不会被包含了
 [']
 >>> num[0::2] #后面的2是代表,每隔一个元素,就取一个
 [']
 >>> num[::2] #和上句效果一样
 [']

切片:取值

 num = [']
 >>> num.append(")
 >>> num
 [']

追加

 >>> num = [']
 >>> num.insert(2,"强行从3前面插入")
 >>> num
 [']

插入

 >>> num = [']
 >>> num[2] = "new"
 >>> num
 [']

修改

 >>> mun = [']
 >>>del num[2]
 >>> num
 num = [']

 >>> num.remove(") #删除指定元素
 >>> num
 [']
 >>> num.pop() #删除列表最后一个值
 '
 >>> nun
 [']

删除

 >>> num = [']
 >>> num1 = [1,2,3]
 >>> num.extend(num1)
 >>> num
 [', 1, 2, 3]

扩展

 >>> num = [', 1, 2, 3]

 >>> num_copy = num.copy()
 >>> num_copy
 [', 1, 2, 3]

拷贝

 >>> num = [']
 >>> num.count(")
 2

统计

 >>> num = [']
 >>> num.sort()
 >>> num
 [']

排序

 >>> num = [']
 >>> num.reverse()
 >>> num
 [']

反转

 >>> num = [']
 >>> num.index(')
 3

获取下标

2、元组

Python 的元组与列表类似,元组的元素不能修改,又叫只读列表。

num = ("1","2","3")

只有2个方法:一个是count,一个是index 

3、字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})

字典是无序的,key是唯一的

 names = {
     'name1': "zhangsan",
     'name2': "李四",
     'name3': "王五",
 }

字典创建

 names = {
     'name1': "zhangsan",
     'name2': "李四",
     'name3': "王五",
 }
 names["name4"] = "wangwu"

增加

 name['name2'] = "张三"

修改

info.pop("name2")  #删除方法1

del info['name3']  #删除方法2

info.popitem() #随机删除

删除

 >>> "name1" in names #查找1
 True
 >>> names.get("name2")  #获取

 >>> names["name9"] #获取,但是如果key不存在,就报错

查找

 values() 函数以列表返回字典中的所有值

 keys() 函数以列表返回一个字典所有的键

 setdefault(key,default) 函数, 如果键不存在于字典中,将会添加键并将值设为默认值
 key -- 查找的键值。
 default -- 键不存在时,设置的默认键值。

 update() 函数把字典dict2的键/值对更新到dict里。

 items() 函数以列表返回可遍历的(键, 值) 元组数组

 has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false。

 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

 copy() 函数返回一个字典的浅复制。

其它方法

序号 函数及描述
1 cmp(dict1, dict2)
比较两个字典元素。
2 len(dict)
计算字典元素个数,即键的总数。
3 str(dict)
输出字典可打印的字符串表示。
4 type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
序号 函数及描述
1 dict.clear()
删除字典内所有元素
2 dict.copy()
返回一个字典的浅复制
3 dict.fromkeys(seq[, val])
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
4 dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5 dict.has_key(key)
如果键在字典dict里返回true,否则返回false
6 dict.items()
以列表返回可遍历的(键, 值) 元组数组
7 dict.keys()
以列表返回一个字典所有的键
8 dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 dict.update(dict2)
把字典dict2的键/值对更新到dict里
10 dict.values()
以列表返回字典中的所有值
11 pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem()
随机返回并删除字典中的一对键和值。

4、集合

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系
 s = set([3,5,9,10])      #创建一个数值集合  

 t = set("Hello")         #创建一个唯一字符的集合  

 a = t | s          # t 和 s的并集  

 b = t & s          # t 和 s的交集  

 c = t – s          # 求差集(项在t中,但不在s中)  

 d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  

 基本操作:  

 t.add('x')            # 添加一项  

 s.update([10,37,42])  # 在s中添加多项  

 使用remove()可以删除一项:  

 t.remove('H')  

 len(s)
 set 的长度  

 x in s
 测试 x 是否是 s 的成员  

 x not in s
 测试 x 是否不是 s 的成员  

 s.issubset(t)
 s <= t
 测试是否 s 中的每一个元素都在 t 中  

 s.issuperset(t)
 s >= t
 测试是否 t 中的每一个元素都在 s 中  

 s.union(t)
 s | t
 返回一个新的 set 包含 s 和 t 中的每一个元素  

 s.intersection(t)
 s & t
 返回一个新的 set 包含 s 和 t 中的公共元素  

 s.difference(t)
 s - t
 返回一个新的 set 包含 s 中有但是 t 中没有的元素  

 s.symmetric_difference(t)
 s ^ t
 返回一个新的 set 包含 s 和 t 中不重复的元素  

 s.copy()
 返回 set “s”的一个浅复制

常用操作

五、字符串

1、Python转义字符

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

2、Python字符串运算符

操作符 描述 实例
+ 字符串连接
>>>a + b 'HelloPython'
* 重复输出字符串
>>>a * 2 'HelloHello'
[] 通过索引获取字符串中字符
>>>a[1] 'e'
[ : ] 截取字符串中的一部分
>>>a[1:4] 'ell'
in 成员运算符 - 如果字符串中包含给定的字符返回 True
>>>"H" in a True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
>>>"M" not in a True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
>>>print r'\n' \n >>> print R'\n' \n
% 格式字符串

3、Python 字符串格式化

python 字符串格式化符号:

    符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %F 和 %E 的简写
      %p  用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

4、python的字符串内建函数

方法 描述

string.capitalize()

把字符串的第一个字符大写

string.center(width)

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

string.count(str, beg=0, end=len(string))

返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

string.decode(encoding='UTF-8', errors='strict')

以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'

string.encode(encoding='UTF-8', errors='strict')

以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

string.endswith(obj, beg=0, end=len(string))

检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

string.expandtabs(tabsize=8)

把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。

string.find(str, beg=0, end=len(string))

检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

string.format()

格式化字符串

string.index(str, beg=0, end=len(string))

跟find()方法一样,只不过如果str不在 string中会报一个异常.

string.isalnum()

如果 string 至少有一个字符并且所有字符都是字母或数字则返

回 True,否则返回 False

string.isalpha()

如果 string 至少有一个字符并且所有字符都是字母则返回 True,

否则返回 False

string.isdecimal()

如果 string 只包含十进制数字则返回 True 否则返回 False.

string.isdigit()

如果 string 只包含数字则返回 True 否则返回 False.

string.islower()

如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

string.isnumeric()

如果 string 中只包含数字字符,则返回 True,否则返回 False

string.isspace()

如果 string 中只包含空格,则返回 True,否则返回 False.

string.istitle()

如果 string 是标题化的(见 title())则返回 True,否则返回 False

string.isupper()

如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

string.join(seq)

以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

string.ljust(width)

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

string.lower()

转换 string 中所有大写字符为小写.

string.lstrip()

截掉 string 左边的空格

string.maketrans(intab, outtab])

maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

max(str)

返回字符串 str 中最大的字母。

min(str)

返回字符串 str 中最小的字母。

string.partition(str)

有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.

string.replace(str1, str2,  num=string.count(str1))

把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

string.rfind(str, beg=0,end=len(string) )

类似于 find()函数,不过是从右边开始查找.

string.rindex( str, beg=0,end=len(string))

类似于 index(),不过是从右边开始.

string.rjust(width)

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

string.rpartition(str)

类似于 partition()函数,不过是从右边开始查找

string.rstrip()

删除 string 字符串末尾的空格.

string.split(str="", num=string.count(str))

以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串

string.splitlines([keepends])

按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

string.startswith(obj, beg=0,end=len(string))

检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.

string.strip([obj])

在 string 上执行 lstrip()和 rstrip()

string.swapcase()

翻转 string 中的大小写

string.title()

返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

string.translate(str, del="")

根据 str 给出的表(包含 256 个字符)转换 string 的字符,

要过滤掉的字符放到 del 参数中

string.upper()

转换 string 中的小写字母为大写

string.zfill(width)

返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0

六、文件操作

1、初识⽂件操作

使⽤open()函数来打开⼀个⽂件:open(文件名(路径),mode=“打开文件的方式”,encoding=“字符集utf-8”)

打开⽂件的⽅式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使⽤的是r(只读)模式

rb, wb, ab, 用来读取非⽂本⽂件的时候. 比如读取MP3. 图像. 视频等信息的时候就需要⽤到。因为这种数据是没办法直接显⽰出来的. ⽂件上传下载的时候还会⽤到. 以及直播. 实际上都是这种数据.

2、绝对路径和相对路径

1. 绝对路径:从磁盘根⽬录开始⼀直到⽂件名.

2. 相对路径:同⼀个⽂件夹下的⽂件. 相对于当前这个程序所在的⽂件夹⽽⾔. 如果在同 ⼀个⽂件夹中. 则相对路径就是这个⽂件名. 如果在上⼀层⽂件夹. 则要../

3、只读(r, rb)

 f = open("文件路径.txt",mode="r", encoding="utf-8") # 打开文件
 content = f.read() # 读取内容,文件大时不要用
 print(content) # 打印读取的内容
 f.close() # 关闭文件

 需要注意encoding表⽰编码集. 根据⽂件的实际保存编码进⾏获取数据, 对于我们⽽⾔. 更多的是utf-8.

只读r

 f = open("文件名.txt",mode="rb" )
 content = f.read()
 print(content)
 f.close()

 rb的作⽤: 在读取非⽂本⽂件的时候. 比如读取MP3. 图像. 视频等信息的时候就需要⽤到
 rb. 因为这种数据是没办法直接显⽰出来的. 在后⾯我们⽂件上传下载的时候还会⽤到. 还有.我们看的直播. 实际上都是这种数据.

rb. 读取出来的数据是bytes类型, 在rb模式下. 不能选择encoding字符集.

4、只写(w, wb)

 f = open("文件", mode="w", encoding="utf-8")
 f.write("oeasys.cn")
 f.flush() # 刷新
 f.close()

w,写的时候注意. 如果没有⽂件. 则会创建⽂件, 如果⽂件存在. 则将原件中原来的内容删除, 再写入新内容

 f = open("文件", mode="wb")
 f.write("oeasys.cn".encode("utf-8"))
 f.flush()
 f.close()

wb模式下. 可以不指定打开⽂件的编码. 但是在写⽂件的时候必须将字符串转化成utf-8的

5、追加(a, ab)

 f = open("文件", mode="a", encoding="utf-8")
 f.write("oeasys.cn")
 f.flush()
 f.close()

a,在追加模式下. 我们写入的内容会追加在⽂件的结尾.

6、r+读写

 f = open("文件", mode="r+", encoding="utf-8")
 content = f.read()
 f.write("oeasys.cn")
 print(content)
 f.flush()
 f.close()
 结果:
 正常的读取之后, 写在结尾

对于读写模式. 必须是先读. 因为默认光标是在开头的. 准备读取的. 当读完了之后再进⾏ 写入. 我们以后使⽤频率最⾼的模式就是r+

7、w+写读

 f = open("文件", mode="w+", encoding="utf-8")
 f.write("oeasys.cn")
 content = f.read()
 print(content)
 f.flush()
 f.close()

先将所有的内容清空. 然后写入. 最后读取.

8、a+写读(追加写读)

 f = open("文件", mode="a+", encoding="utf-8")
 f.write("oeasys.cn")
 content = f.read()
 print(content)
 f.flush()
 f.close()

a+模式下, 不论先读还是后读. 都是读取不到数据的.

9、读取⽂件的⽅法:

 f = open("文件路径", mode="r", encoding="utf-8")
 content = f.read()
 print(content)

1. read() 将⽂件中的内容全部读取出来. 弊端: 占内存. 如果⽂件过⼤.容易导致内存崩溃

 f = open("文件路径", mode="r", encoding="utf-8")
 content = f.readline()
 content2 = f.readline()
 content3 = f.readline()
 content4 = f.readline()
 content5 = f.readline()

2. readline() ⼀次读取⼀⾏数据

 f = open("文件", mode="r", encoding="utf-8")
 for line in f:
  print(line.strip())

3. 循环读取. 这种⽅式是组好的. 每次读取⼀⾏内容.不会产⽣内存溢出的问题.

注意: 读取完的⽂件句柄⼀定要关闭 f.close()

10、其他操作⽅法

1. seek(n) 光标移动到n位置, 注意, 移动的单位是byte. 所以如果是UTF-8的中⽂部分要 是3的倍数.

  通常我们使⽤seek都是移动到开头或者结尾.

  seek(偏移量,位置)

  移动到开头: seek(0)

  移动到结尾: seek(0,2)

  seek的第⼆个参数表⽰的是从哪个位置进⾏偏移, 默认是0, 表 ⽰开头, 1表⽰当前位置, 2表⽰结尾

2. tell()获取到当前光标位置

print(f.tell())

3. truncate() 截断⽂件

  从开头截断到光标位置,删掉光标后⾯的所有内容

  如果给参数,从开头截断到参数位置

在r+模式下. 如果读取了内容. 不论读取内容多少. 光标显⽰的是多少. 再写入 或者操作⽂件的时候都是在结尾进⾏的操作.

所以如果想做截断操作. 记住了. 要先挪动光标. 挪动到你想要截断的位置. 然后再进⾏截断

一、新手必会Python基础的更多相关文章

  1. 新手必看ES6基础

    ES6 基础 一.新的变量声明方式 let/const 与var不同,新的变量声明方式带来了一些不一样的特性,其中最重要的两个特性就是提供了块级作用域与不再具备变量提升. 通过2个简单的例子来说明这两 ...

  2. [新手必备]Python 基础入门必学知识点笔记

    Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...

  3. 高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)

    现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python ...

  4. 小白必看Python视频基础教程

    Python的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名.Python的火热,也带动了工程师们的就业热.可能你也想通过学习加入这个炙手可热的行业,可以看看Python视频基础教程,小 ...

  5. 新手必看】Highcharts的100个基础问答

    新手必看]Highcharts的100个基础问答 2014-12-2 10:59| 发布者: Mr.Zhang| 查看: 2749| 评论: 3|来自: Highcharts中文论坛   摘要: 1. ...

  6. python新手必躺的5大坑

    python新手必躺的5大坑 对于Python新手来说,写代码很少考虑代码的效率和简洁性,因此容易造成代码冗长.执行慢,这些都是需要改进的地方.本文是想通过几个案列给新手一点启发,怎样写python代 ...

  7. Python入门知识总结【新手必学】

    Python 基础学习输入和输出list 和 tuple条件判断循环dict 和 set感觉python这门语言用途较广,先熟悉下其语法.PS:另外很多人在学习Python的过程中,往往因为没有好的教 ...

  8. 面试题之第一部分(Python基础篇) 80题

    第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...

  9. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

随机推荐

  1. Lightoj 1147【DP】

    题意: 把n个人分成两部分,要你怎么分使得两部分尽可能相等: 思路: 如果我们把一部分人的重量达到离sum/2最近,那就一定行啊 其实就是一条棒,两种不同的棒去拼接成一条棒,然后最好就是离mid最近, ...

  2. c# 中的 protected internal 如何在 vc.net 中实现

    c# 中有 protected internal 的复合访问属性, 保证assembly内部访问,以及外部的派生类访问 vc.net 中无法直接写上 protected internal, 其对应的写 ...

  3. [Xcode 实际操作]七、文件与数据-(20)CoreML机器学习框架:检测和识别图片中的物体

    目录:[Swift]Xcode实际操作 本文将演示机器学习框架的使用,实现对图片中物体的检测和识别. 首先访问苹果开发者网站关于机器学习的网址: https://developer.apple.com ...

  4. 【渗透测试】如何使用burpsuite对特殊密码进行爆破

    爆破是渗透测试中必不可少的一部分,对于没有太大价值可利用的漏洞或是业务只有一个登陆页面时,爆破更是我们的最合适的选择.那么在爆破时,抛去目标系统对爆破频率的限制,如果遇到较为复杂的密码,该如何顺利进行 ...

  5. 在maven中引入本地jar包的方法

    一.第一种方式: 1.电脑安装maven 2.下载jar.例如 gj.jar 3.把jar随便放一个位置 4.在jar包目录下打开cmd输入: mvn install:install-file -Df ...

  6. idea ultmate版安装后toolWindows没有database

    点击Configure--->plugins将database勾选

  7. Validation(2)

    站在巨人的肩膀上 spring注解式参数校验 2016年06月15日 15:42:47 God_Ming 阅读数:57021 标签: springhibernatevalidator 更多 个人分类: ...

  8. 黑马Lambda表达式学习 Stream流 函数式接口 Lambda表达式 方法引用

  9. NET4.5中的Task.Run及Task.Delay方法

  10. Codeforces 1119D(贡献计算)

    题目传送 排序看一看. 关键点在于发现性质: 算一个点的贡献时: 1.与后一个有重叠.\[当 a[i] + r >= a[i + 1] + l, 即 r - l >= a[i + 1] - ...