python基础学习
Python基础:
字符串和编码:
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件
在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言
对于单个字符的编码,python提提供了ord() 函数获取字符的整数表示, chr()函数把编码转换成对应的字符:
![](https://images2018.cnblogs.com/blog/1285535/201805/1285535-20180509101211779-1188049106.png)
使用list和tuple:
数组list
元组tuple 和list不同的是它更严谨, 一旦初始化后就不能被修改。
tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a'
,就不能改成指向'b'
,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
例如: ==》
条件判断:
python的if判断语句后面:注意不要少写了冒号:
例如:
age = 3
if age >= 18:
print('your age is', age)
print('adult')
else:
print('your age is', age)
print('teenager')
elif是else-if的缩写
if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4>
if语句执行的特点:从上往下执行,如贵再某个判断上是true, 把该判断对应的语句执行后, 据忽略掉剩下的elif和else。 所以下面的语句输出teenager
age = 20
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')
if语句的简写:
if x: print('True')
只要x
是非零数值、非空字符串、非空list等,就判断为True
,否则为False
。
再议input() input() 得到的是一个字符串str, 不能和整数类型直接比较
birth = input('birth: ')
python提供了int()函数可以将字符串转换成整数类型,然后和整数作比较,但是int('aaa')这样的不可以,int()
函数发现一个字符串并不是合法的数字时就会报错。
循环语句:
python有两种循环,一种是for...in循环, 依次把list或tuple中的每个元素迭代出来,例如:
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
Python提供一个range()
函数,可以生成一个整数序列,再通过list()
函数可以转换为list,例如:
>>> list(range(5))
[0, 1, 2, 3, 4]
第二种是while循环,只要条件满足,就不断循环,条件不满时就退出循环。
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
break:
在循环中,break语句可以提前退出循环。
continue:continue
的作用是提前结束本轮循环,并直接开始下一轮循环break
语句可以在循环过程中直接退出循环,而continue
语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if
语句使用。
dict和set:
dict是dictionary的简称
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d['Michael'] 95
避免key不存在的错误,有两种办法,一是通过in
判断key是否存在:
一种是通过in判断key是否存在: 'thomas' in d >>>False
第二种是dict提供的get()方法,如果key不存在,可以返回None, 或者自己指定的值:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
set 和 dict相似
s = set([1, 2, 3])
>>s
>>{1,2,3}
add(key)添加一个元素到s中 remove(key)从s中删除一个元素
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,但是和dict原理一样,同样不可放入不可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部‘不会有重复元素’