夏天已经来了,天气一热,很多大鱼都会上钩,比如鲤鱼、草鱼、青鱼等。

想要钓到这些大鱼,有一种食物是必不可少的,那就是玉米。

玉米被称为“素饵之王”,在野外垂钓中,不管是新鲜的,还是发酵的,都是用来垂钓的。

但玉米在水里不会形成雾气,所以口感很淡,而且玉米的个头很大,而且野生的大鱼不多,用玉米钓鱼很难成功。

我们要理智的使用玉米,在垂钓中没有什么鱼饵是万能的,玉米好不好,关键就在于我们用的好不好。想要用玉米钓到大鱼,必须要有三样东西。

- 第一,看鱼的情况,看是不是要用玉米

以上所述,即使是“万能饵”,也不是每一种饵料都能得到鱼儿的喜爱,一种饵料好不好,要看鱼儿在用的时候情况。

我们要钓鱼的是一条警惕性很高的野生大鱼,在自然的环境下,他们会以草籽、水草、水果和谷物等天然的食物为食,所以他们更喜欢吃一些味道比较淡的天然食物。因此,用玉米来钓鱼并不是什么难事。

不过,野外的大鱼并不多,要想钓到大鱼,就得用诱饵,而玉米又不是雾化的,所以我们要用粉末状的诱饵。

所以,我们不能只用玉米粒来打窝,可以在窝料里加点玉米粉,也可以加点鱼饵。

- 第二,你买到的东西,未必就有你自己做的好

在许多情况下,我们都会使用到发酵的玉米,特别是在垂钓鲤鱼时,更是如此。这是因为,在夏季,锦鲤的食物会沉入水中,由于温度高,会迅速发酵,散发出酒香。鲤鱼习惯于食用发酵食品,所以我们用发酵过的玉米来钓鱼,很合他们的胃口。

很多垂钓爱好者都觉得,他们卖的是老玉米,味道更好。

但是实际上,我们自己煮出来的玉米往往比从外面买来的玉米更有效。由于自家煮制的玉米面,可以根据本地鱼肉的味道来调配,所用的玉米面和其他食材,都更新鲜。

许多人不想自己煮,一方面是因为加工过程繁琐,还不如买两包,动动手指头就能送到;二是他自己做的玉米面没有经过任何处理,在夏天的高温下,玉米面煮的太久就会坏掉,而在夏天煮的太久又太麻烦。

因此,有时间的垂钓朋友,我觉得自己可以用自己浸泡的玉米粒,与买来的玉米粒进行比较,看看鱼儿们更喜欢哪个。

如果水温超过25℃,应该果断地改用嫩玉米粒,因为在水温较暖和时,使用嫩玉米钓草鱼的效果非常好,如果水域中的草鱼较多,很容易钓到爆护。下面,我们就讲下夏季用嫩玉米钓草鱼的4个技巧。

- 第三,使用嫩玉米

一、使用新鲜的甜玉米或水果玉米

草鱼在高温天气时,非常喜欢吃嫩玉米,对嫩玉米中的甜玉米更为喜欢,甜玉米中的水果玉米则最好用。在用刀削玉米粒时,尽量削的深一些,让玉米粒成块地粘在一起,打窝诱鱼的效果更好。

二、玉米中要加白酒和糖

在夏季的炎热天气,嫩玉米粒很容易发酵变酸,垂钓效果就会大打折扣。为了防止嫩玉米粒发酵变质,可以在其中添加少量的白酒,保鲜效果很好。此外,还可以在嫩玉米中添加少量的糖,用来增加甜度,提高鱼饵的适口性,果葡糖浆或者蜂蜜都可以。

三、在玉米中添加诱食剂

每500克嫩玉米粒,可以添加1毫升的多巴盐和0.5毫升的鱼阿法,对草鱼的诱食效果非常好,能够增加窝子里草鱼的饥饿感和兴奋程度,让鱼口变得更好。

四、正确的打窝方法

草鱼是中下层鱼类,但不是底栖鱼类,不会老老实实底部窝子里吃食。想要把很多的草鱼诱到钓点里,钓鱼人需要持续地打窝,每分钟打一勺嫩玉米粒下去,每勺10~20粒嫩玉米,只要保持住较高的打窝频率,就能够钓到较多的草鱼。

图1(水库环境)

图2(22年夏天三一水库用嫩玉米连竿小草鱼)

- Python3 迭代器与生成器

- 迭代器

迭代是Python最强大的功能之一,是访问集合元素的一种方式。

迭代器是一个可以记住遍历的位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

迭代器有两个基本的方法:iter() 和 next()。

字符串,列表或元组对象都可用于创建迭代器:

实例(Python 3.0+):

1
2
3
4
5
6
7
>>> list=[1,2,3,4]
>>> it = iter(list) # 创建迭代器对象
>>> print (next(it)) # 输出迭代器的下一个元素
1
>>> print (next(it))
2
>>>

迭代器对象可以使用常规for语句进行遍历:

实例(Python 3.0+):

1
2
3
4
list=[1,2,3,4]
it = iter(list) # 创建迭代器对象
for x in it:
print (x, end=" ")

执行以上程序,输出结果如下:

1 2 3 4

也可以使用 next() 函数:

阅读全文 »

- Python 推导式

Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。

Python 支持各种数据结构的推导式:

  • 列表(list)推导式

  • 字典(dict)推导式

  • 集合(set)推导式

  • 元组(tuple)推导式

- 列表推导式

列表推导式格式为:

[表达式 for 变量 in 列表] 
[out_exp_res for out_exp in input_list]

或者

[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]

out_exp_res:列表生成元素表达式,可以是有返回值的函数。
for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
if condition:条件语句,可以过滤列表中不符合条件的值。
过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母:

实例:

1
2
3
4
>>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
>>> new_names = [name.upper()for name in names if len(name)>3]
>>> print(new_names)
['ALICE', 'JERRY', 'WENDY', 'SMITH']

计算 30 以内可以被 3 整除的整数:

实例:

1
2
3
>>> multiples = [i for i in range(30) if i % 3 == 0]
>>> print(multiples)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
阅读全文 »

- Python3 数字(Number)

Python 数字数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。

以下实例在变量赋值时 Number 对象将被创建:

var1 = 1
var2 = 10

您也可以使用del语句删除一些数字对象的引用。

del语句的语法是:

del var1[,var2[,var3[....,varN]]]

您可以通过使用del语句删除单个或多个对象的引用,例如:

del var
del var_a, var_b

Python 支持三种不同的数值类型:

  • 整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。

  • 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

  • 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

我们可以使用十六进制和八进制来代表整数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> number = 0xA0F # 十六进制
>>> number
2575

>>> number=0o37 # 八进制
>>> number
31

int float complex
10 0.0 3.14j
100 15.20 45.j
-786 -21.9 9.322e-36j
080 32.3e+18 .876j
-0490 -90. -.6545+0J
-0x260 -32.54e100 3e+26J
0x69 70.2E-12 4.53e-7j

Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

阅读全文 »

- Python3 集合

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

parame = {value01,value02,...}
或者
set(value)

实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False

>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}

类似列表推导式,同样集合支持集合推导式(Set comprehension):

实例:

1
2
3
>>> a = {x for x in 'abracadabra' if x not in 'abc'}
>>> a
{'r', 'd'}
阅读全文 »

- Python3 字典

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

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

d = {key1 : value1, key2 : value2, key3 : value3 }
注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

一个简单的字典实例:

1
tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}

也可如此创建字典:

1
2
tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }

- 创建空字典

使用大括号 { } 创建空字典:

实例:

1
2
3
4
5
6
7
8
9
10
11
# 使用大括号 {} 来创建空字典
emptyDict = {}

# 打印字典
print(emptyDict)

# 查看字典的数量
print("Length:", len(emptyDict))

# 查看类型
print(type(emptyDict))

以上实例输出结果:

{}
Length: 0
<class 'dict'>

使用内建函数 dict() 创建字典:

阅读全文 »