python学习第一天:python基础

数据类型和变量
整型
与其他语言无异
例如: 1 100 -8080 0 ,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x 前缀和0-9,a-f表示,例如: 0xff00 0xa5b4c3d2 ,等等。
浮点型
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10 9 和12.3x10 8 是完全相等的。浮点数可以用数学写法,如 1.23 3.14 -9.01 ,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x10 9 就是 1.23e9 ,或者 12.3e8 ,0.000012可以写成 1.2e-5 ,等等。
字符串
单引号和双引号并无区别
布尔型
一个布尔值只有 True False 两种值,要么是 True ,要么是 False
布尔值可以用 and or not 运算。
空值
空值是Python里一个特殊的值,用 None 表示。 None 不能理解为 0 ,因为 0 是有意义的,而 None 是一个特殊的空值。
变量
python变量本身类型不固定
常量
在Python中,通常用全部大写的变量名表示常量
python中有两种除法和一个取余
/ 除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:
10 / 3 3.3333333333333335

9 / 3 3.0
还有一种除法是 // ,称为地板除,两个整数的除法仍然是整数:
10 // 3 3
取余
10 % 3 1
字符串和编码
字符编码
我们通常在文件开头写上这两行:
#!/usr/bin/env python3 # -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
格式化输出
在Python中,采用的格式化方式和C语言是一致的,用 % 实现,举例如下:
>>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ( 'Michael' , 1000000 ) 'Hi, Michael, you have $1000000.'
list
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
比如,列出班里所有同学的名字,就可以用一个list表示:
>>> classmates = [ 'Michael' , 'Bob' , 'Tracy' ] >>> classmates[ 'Michael' , 'Bob' , 'Tracy' ]
变量 classmates 就是一个list。用 len() 函数可以获得list元素的个数:
>>> len(classmates) 3
用索引来访问list中每一个位置的元素,记得索引是从 0 开始的:
>>> classmates[0]'Michael'
如果要取最后一个元素,除了计算索引位置外,还可以用 -1 做索引,直接获取最后一个元素:
>>> classmates[- 1 ] 'Tracy'
以此类推,可以获取倒数第2个、倒数第3个:
>>> classmates[-2]'Bob'>>> classmates[-3]'Michael'
list是一个可变的有序表,所以,可以往list中追加元素到末尾:
>>> classmates.append( 'Adam' ) >>> classmates[ 'Michael' , 'Bob' , 'Tracy' , 'Adam' ]
也可以把元素插入到指定的位置,比如索引号为 1 的位置:
>>> classmates.insert( 1 , 'Jack' ) >>> classmates[ 'Michael' , 'Jack' , 'Bob' , 'Tracy' , 'Adam' ]
要删除list末尾的元素,用 pop() 方法:
>>> classmates.pop() 'Adam' >>> classmates[ 'Michael' , 'Jack' , 'Bob' , 'Tracy' ]
要删除指定位置的元素,用 pop(i) 方法,其中 i 是索引位置:
>>> classmates.pop( 1 ) 'Jack' >>> classmates[ 'Michael' , 'Bob' , 'Tracy' ]
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
>>> classmates[ 1 ] = 'Sarah' >>> classmates[ 'Michael' , 'Sarah' , 'Tracy' ]
tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:
>>> classmates = ( 'Michael' , 'Bob' , 'Tracy' )
要定义一个只有1个元素的tuple,如果你这么定义:
>>> t = ( 1 ) >>> t 1
定义的不是tuple,是 1 这个数!这是因为括号 () 既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是 1
所以,只有1个元素的tuple定义时必须加一个逗号 , ,来消除歧义:
>>> t = ( 1 ,) >>> t( 1 ,)
条件判断
与其他语言无太大区别
循环
Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:
names = [ 'Michael' , 'Bob' , 'Tracy' ] for name in names: print(name)
for x in range(101):
sum = sum + x

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:
sum = 0 n = 99 while n > 0 : sum = sum + n n = n - 2 print (sum)
dict
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
>>> d = { 'Michael' : 95 , 'Bob' : 75 , 'Tracy' : 85 } >>> d[ 'Michael' ] 95
key值不可变
要避免key不存在的错误,有两种办法,一是通过 in 判断key是否存在:
>>> 'Thomas' in d False
二是通过dict提供的 get() 方法,如果key不存在,可以返回 None ,或者自己指定的value:
>>> d.get( 'Thomas' ) >>> d.get( 'Thomas' , - 1 )- 1
要删除一个key,用 pop(key) 方法,对应的value也会从dict中删除:
>>> d.pop( 'Bob' ) 75 >>> d{ 'Michael' : 95 , 'Tracy' : 85 }

请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。
和list比较,dict有以下几个特点:
  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。
而list相反:
  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是 不可变对象
这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key。
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:
>>> s = set([ 1 , 2 , 3 ]) >>> s{ 1 , 2 , 3 }
注意,传入的参数 [1, 2, 3] 是一个list,而显示的 {1, 2, 3} 只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。
重复元素在set中自动被过滤:
>>> s = set([ 1 , 1 , 2 , 2 , 3 , 3 ]) >>> s{ 1 , 2 , 3 }
通过 add(key) 方法可以添加元素到set中,可以重复添加,但不会有效果:
>>> s.add( 4 ) >>> s{ 1 , 2 , 3 , 4 } >>> s.add( 4 ) >>> s{ 1 , 2 , 3 , 4 }
通过 remove(key) 方法可以删除元素:
>>> s.remove( 4 ) >>> s{ 1 , 2 , 3 }
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
>>> s1 = set([ 1 , 2 , 3 ]) >>> s2 = set([ 2 , 3 , 4 ]) >>> s1 & s2{ 2 , 3 } >>> s1 | s2{ 1 , 2 , 3 , 4 }
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园的建设目标是通过数据整合、全面共享,实现校园内教学、科研、管理、服务流程的数字化、信息化、智能化和多媒体化,以提高资源利用率和管理效率,确保校园安全。 智慧校园的建设思路包括构建统一支撑平台、建立完善管理体系、大数据辅助决策和建设校园智慧环境。通过云架构的数据中心与智慧的学习、办公环境,实现日常教学活动、资源建设情况、学业水平情况的全面统计和分析,为决策提供辅助。此外,智慧校园还涵盖了多媒体教学、智慧录播、电子图书馆、VR教室等多种教学模式,以及校园网络、智慧班牌、校园广播等教务管理功能,旨在提升教学品质和管理水平。 智慧校园的详细方案设计进一步细化了教学、教务、安防和运维等多个方面的应用。例如,在智慧教学领域,通过多媒体教学、智慧录播、电子图书馆等技术,实现教学资源的共享和教学模式的创新。在智慧教务方面,校园网络、考场监控、智慧班牌等系统为校园管理提供了便捷和高效。智慧安防系统包括视频监控、一键报警、阳光厨房等,确保校园安全。智慧运维则通过综合管理平台、设备管理、能效管理和资产管理,实现校园设施的智能化管理。 智慧校园的优势和价值体现在个性化互动的智慧教学、协同高效的校园管理、无处不在的校园学习、全面感知的校园环境和轻松便捷的校园生活等方面。通过智慧校园的建设,可以促进教育资源的均衡化,提高教育质量和管理效率,同时保障校园安全和提升师生的学习体验。 总之,智慧校园解决方案通过整合现代信息技术,如云计算、大数据、物联网和人工智能,为教育行业带来了革命性的变革。它不仅提高了教育的质量和效率,还为师生创造了一个更加安全、便捷和富有智慧的学习与生活环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值