day01

在python3中,基础的数据容器有:字符串,列表,元组,集合,字典。下面我将一一介绍这几种常用的容器类型

1.字符串(str)

	这应该是见得最多的了,无论什么语言都是,我对其他语言并没有什么了解,所有只能说说在python中的字符串。
	(1).字符串的语法格式是:单引号('xxx'),双引号(''xxx''),三引号('''xxx''')将内容包起来,如s = 'abc',s = ''abc'',需要注意,三引号一般不会经常用,它一般会用在函数的文档字符串中,这个后面讲函数再说。
	(2).字符串是一个序列,何为序列?就是有序排列,“有序”是一个重要的特征,需要注意。且字符串是不可变序列,何为不可变?就是一旦定义好了,内部的元素就不可以再增加,删除和修改。
	(3).字符串可以运算,但是仅仅可以‘+’和‘*’,这个举个简单的例子立刻就能明白:

a = ‘1a2b3c’ b = ‘abc’ c = a+b c = ‘1a2b3cabc’ 也可以这样写:a +=b a=‘1a2b3cabc’
a = ‘1a2b3c’ c = a*2 c = ‘1a2b3c1a2b3c’ 也可以这样写:a *=2 a = ‘1a2b3c1a2b3c’
需要注意,其实在python内部,+ 和 += 是有区别的,执行+ 只有add方法,而+= 有iadd 和add方法,是不一样的
(4).字符串可以按照下标来取值,如 a = ‘abc’ a[0] = ‘a’ a[1] = ‘b’ a[2]=‘c’ ,也可以切片,何为切片?可以理解为用刀去把想要的元素切下来,如 a=‘abc’ a[:2] = ‘ab’ 默认从0开始,取值下标是前开后闭。如a[0:2] = ‘ab’ 2这个下标元素是取不到的,只能取到下标为1的元素,其实还有一个参数是步长,默认为1,所以完整的应该是a[开始下标:结束下标:步长],都用冒号隔开。
(5).可以用在字符串的内建方法:len(a) 计算字符串的长度,也就是字符数,返回一个数字,max(a)返回该字符串中字符的uncode码最大的那个字符,同理min(a),返回最小,这三个内建函数中,len()是最有用的。还有一个也很有用的方法,str(对象),这个方法可以将一切的数据转换成字符串,很暴力,也很强大。

2.列表(list)

		如果看懂了字符串,那么就具备了基本的思维了,其他几种都可以参照学习,列表也是一个序列,但是列表是可变的,就是可以随时增加,删除,修改里面的元素,这个在后面也是非常常见的,而且很多时候我们的数据就是用列表来保存。
		(1).语法格式,[元素,元素,元素,。。。。。。] 就是用中括号把数据包起来,数据与数据之间用逗号隔开
		(2).列表和字符串一样,可以用下标取值,如:a=['a','b','c']  a[0]='a' a[1]='b',也可以像字符串一样切片,且方法都是一样的,不同的是可以切片赋值,相当于修改元素。列表可以用append()在末尾增加元素或者指定增加元素放在哪个位置,也可以用remove()删除末尾的元素,也可以用del()删除指定的元素。
			(3).列表也有一个方法,list()

3.元组(tuple)

		元组是不可变容器,有序,这个类型用的比较少,了解一下就行
		(1).语法:(,),元组内元素与元素之间也是用逗号隔开,但是空元祖也必须要有一个逗号作为这是一个元组的标志。
		(2).也可以用下标取值
		(3).也可以切片
		(4).元组的转变方法:tuple()

4.集合(set)

		集合是一个可变的,无序的容器,集合有一个特殊的地方就是,集合内的元素都是不可重复的。
		(1).集合的语法格式:{元素,元素,。。。。。}
		(2).集合也可以用下标取值
		(3).集合内的元素也必须是不可变对象
		集合可以用来去重,当需要将某个容器呢重复的元素去掉时,可以利用集合的元素不可重复来实现,方法是,set(对象)返回一个集合,再将集合变回去就行了。

5.字典

		这个是非常重要的容器类型,主要是高效,它是以键值对的形式显示的,字典是可变的容器,无序,但是字典的键是不可以重复的,我们可以将字典的键看成新华字典的目录,目录是不可能重复的,不然就失去了它的意义。
		(1).语法格式:{key:value}   如a = {‘a’:'b',‘b’:1} 键值对与键值对之间用逗号隔开。
		(2).字典的取值,用键来取值,如:a = {‘a’:'b',‘b’:1} a['a'] = 'b'  a['b'] = 1
		(3).字典的增删改:直接对键进行赋值,如果该键存在,则修改该键对应的值,如果该键不存在,则就是新增一个键值对,也就是新增一个元素,删除也是用键来删除,语法为:del a['a']  就是删除a字典中,键是‘a’的那个键值对。
		(4).字典的查找,删除,增加都要快于集合,因为字典相当于直接去找确定的那个元素,而集合需要一个一个的去判断是不是我们需要操作的元素,数据量小是没有多少差距的,数据量一旦大了,差距就会很明显。

接下里是很重要的语句,循环语句和if语句,这个简直不要太常用。python中常用的循环语句有:while循环和for。。。in循环

if语句: if语句通常用来做条件判断:

	举个简单的例子就明白了:
		a = 100
		if a>0:
			print('a大于0')
		else:
			print('a小于0')
	这里我们定义了a的值为100,所以是大于0的,那程序就执行print('a大于0')这条语句,而不会执行print('a小于0')。
	如果我们定义a = -1 那么程序就会执行else下的print('a小于0'),而不会执行print('a大于0')。
if语句也是可以嵌套的,里面可以再嵌套几个if语句,for语句,while语句等等。不过嵌套太多小心自己把自己搞晕

for。。。in循环

与其说是循环,不入说是遍历,for循环可以遍历所有可迭代对象写段代码来说明:
	a = [1,2,3,4,5,6]
	for i  in a:
		print(i)
	这里的i是一个变量,a里面的元素会循环的赋值给i,所以打印结果就是:
	1
	2
	3
	4
	5
	6
	print是输出语句,它其实有一个默认的参数为‘\n’也就是换行,如果我们不手动设置,就自动换行了。

while循环

这个才是真的循环啊,几段代码说明
语法格式:
	while 条件:
		语句1
	else:
		语句2
	条件的结果为true就是执行语句1,为false,执行语句2
	这里我们可以用while来写一个死循环,什么是死循环?就是一旦运行,就不会停下来,会永远的运行下去,直到天荒地老,海枯石烂。
	例如:
		while True:
			print('天荒地老,海枯石烂')
		while 1>0:
			print('天荒地老,海枯石烂')
	以上两个循环都是死循环
	那么,如果我们需要死循环,但是又不像永远循环下去要怎么办?有几种解决办法。
	1.break    这个单词放到循环里,当程序一遇到这个单词,就会立刻停止循环,很简单粗暴
	2.嵌套一个if语句,if语句中还是用break
	3.return 返回值   这个语句会停止循环,返回指定的结果,一般用在函数中
	说到break,不得不说一下continue,这个语句一般是放在for循环中,由于for循环是要去把目标容器中的所有元素都取出来,是不受控制的,容器内有些元素是我们需要的,有些是我们不需要的,那么continue的作用就来了,他配合if语句,可以很方便的跳过我们不许要或者是不满足条件的元素,且不会终止for循环继续运行。非常好用,些几行代码说明一下:
	a = []
	for i in range(100):
		if  i % 2 ==0:
			continue
		else:
			a.append(i)
	print(a)
	range(100),是生成从0-99的数字
	if条件就是,取到的数字能被2整除,就不要,意思就是我只要奇数,不要偶数。如果是奇数,就执行else中的语句,将这个数放到集合中,否则就丢掉。看,是不是很好用,也可以理解为,continue之结束到当前这一层的循环,继续下一层虚循环,直到for循环全部结束。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习笔记——mybatis的起步(1) 1.什么是框架? 他是我们软件开发的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率。 2.三层架构 表现层: 是用于展示数据的 业务层: 是处理业务需求的 持久层: 是和数据库交互的 3.持久层的技术解决方案 JDBC技术: Connection PreparedStatement ResultSet Spring的JdbcTemplate: Spring对jdbc的简单封装 Apache的DBUtils: 它和Spring的JdbcTemplate很想,也是对Jdbc的简单封装 以上这些都不是框架 JDBC是规范 Spring的JdbcTemplate和Apache的DBUtils都只是工具类 4.mybatis的概述 mybatis是一个持久层框架,用java编写的。 它封装了jdbc操作的很多细节,开发者只需要关注sql语句本身,无需关注注册驱动,创建连接等繁杂过程 它使用了ORM思想实现了结果集的封装。 ORM: Object Relational Mappinng 对象关系映射 简单的说: 就是把数据库表和实体类及实体类的属性对应起来 让我们可以操作实体类就实现操作数据库表。 user User id userId user_name userName 今天我们需要做到 实体类的属性和数据库表的字段名称保持一致 user User id id user_name user_name 5.mybatis的入门 mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao接口 第三步:创建Mybatis的主配置文件 sqlMapConfig.xml 第四步:创建映射配置文件 IUserDao.xml 环境搭建的注意事项: 第一个:创建IUserDao.xml 和 IUserDao.java 时名称是为了和我们之前的只是保持一致。 在Mybatis它把持久层的接口名称和映射文件叫做:Mapper 所以:IUserDao 和 IUsrMapper 是一样的 第二个:在idea创建目录的时候,它的包是不一样的 包在创建时:com.itheima.dao它是三级结构 目录在创建时:com.itheima.dao是一级目录 第三个:mybatis的映射配置文件位置必须和到接口的包结构相同 第四个:映射配置文件的mapper标签namespace属性的取必须是dao接口的全限定类名 第五个:映射配置文件的操作配置(select),id属性的取必须是dao接口的方法名 当我们遵从了第三、四、五之后,我们在开发就无需再写dao的实现了。 mybatis的入门案列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值