一直想拓宽自己技术栈,最后根据自己的意愿和团队的需要,开始学习Python。中间因为工作比较忙,学习断断续续的,在不断的学习新知识和回顾中度过。
我在廖雪峰官网上开始学习的,廖雪峰写的确实很好,但是部分章节很跳跃,对新入门的并不友好,我在京东购买了一本书《Python编程从入门到实战》,质量很不错。打算两者结合来学习。
一.起步
安装编程环境,请参考:
我用的IDE是PyCharm,Pyhton3.0的环境。
二.变量和简单的数据类型
2.1 变量
命名要规范
2.2 字符串
2.2.1 修改字符串大小写
name = "Maxwell yu"
print(name.title()) Maxwell Yu
print(name.upper()) MAXWELL YU
print(name.lower()) maxwell yu
2.2.2 删除空白
favorite_language = 'python'
print (favorite_language.rstrip()) 末尾
favorite_language.lstrip 开头
favorite_language.strip 两端
#摘一些重要的字符串方法
print(st.count('l'))
print(st.center(50,'#')) # 居中
print(st.startswith('he')) # 判断是否以某个内容开头
print(st.find('t'))
print(st.format(name='alex',age=37)) # 格式化输出的另一种方式 待定:?:{}
print('My tLtle'.lower())
print('My tLtle'.upper())
print('\tMy tLtle\n'.strip())
print('My title title'.replace('itle','lesson',1))
print('My title title'.split('i',1))
三.列表简介
起初,我以为与Swift中的数组概念是一样的,但其实并不是。
Python原生没有数组的概念,这点不同于Java之类的面向对象语言。Python中原生的列表使用起来很像数组,但是两者有本质的区别.
#列表与数组的区别
内存地址
列表中的所有元素的内存地址可以不是连续的,它是通过每个元素记录它的上一个元素的内存地址和记录它下一个元素的内存地址来排列的
数组是一个连续的内存空间,每一个元素都按照先后顺序排列在内存当中
数据类型
- Python中的列表可以放任意类型的对象,这个特性是Python赋予的,不是链表本身的特性
- 数组一旦声明数据类型,之后放入每个的元素必须都是这个数据类型的对象,如果不是,就会抛出异常
3.1索引
Python为访问最后一个列表提供了一种特殊的语法.通过将索引指定为-1,可以让Python返回最后一个列表元素.
names = ['maxwell','swift','tom','jerry']
print(names[-1])
以此类推,使用列表中的各个值
print ("My name is " + names[0].title() + ".")
3.2 添加,删除和修改元素
names = ['maxwell','swift','tom','jerry']
修改:
names[0] = 'yuchenlong'
result:['yuchenlong','swift','tom','jerry']
添加:
-
在结尾添加
names.append('hanjichuang') reuslt:['maxwell','swift','tom','jerry',hanjichuang]
-
任何位置插入
names.insert(1,'hechanghao') reuslt:['maxwell','hechanghao','swift''tom','jerry',hanjichuang]
-
删除:
del语句: del names[0] 注:如果不写第几个元素会删除最后一个 pop()方法: names.pop(0) remove()方法: names.remove('maxwell') 注:remove()只删除第一个指定的值.如果出现多次,就需要循环了
3.3 组织列表
cars = ['bmw','audi','toyouta','subaru']
排序:
cars.sort()
reuslt: ['audi', 'bmw','subaru','toyouta']
反向排序:
cars.sort(reverse=True)
reuslt:['toyouta', 'subaru', 'bmw'','audi']
使用sorted()函数对列表进行重新排序
只是临时排序 ,并没改变列表
reuslt: ['audi', 'bmw','subaru','toyouta']
确定列表长度
let()函数
reuslt: 4