前言
“人生苦短,我学 Python ”,那么怎么才能学好Python呢?
我认为 Python 做为一门编程语言,想要学好,首先要拥有编程思维,其次 要勤学苦练,只有动手写代码,才能更好的理解与记忆,最后才能真正掌握这门语言。
编程思维–计算思维
计算思维:“计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。”
举个例子:求狗狗的人类年龄?
思考过程:
- 询问小狗的年龄。
- 小狗的年龄换算成人类的年龄。
- 输出小狗换算得到的人类的年龄。
编程语言:
- dog=int(input(“what is the dog age?”))
- age=dog*7
- print(“The dog is {} in human years”.format(age))
通俗的来讲:计算思维就是把待解决的问题拆解成几个计算机可执行的简单步骤。敲重点,思维才是灵魂,方法只是实现的一种途径。但巧妇难为无米之炊,好好学习基础知识,也是很重要滴~
正文
一 基础知识
1.字符串
修改字符串的大小写
字母全都大写 df.upper()
首字母字母大写 df.title()
字母小写 df.lower()
合并(拼接)字符串
first_name = "zhang" ;
last_name = "hua" ;
full_name = first_name + " " + last_name ;
print("hello, " + full_name.title() + "!")
hello, Zhang Hua!
使用制表符或换行符来添加空白.
可使用字符组合\t ;要在字符串中添加换行符,可使用字符组合\n ;
字符串"\n\t" 让Python换到下一行,并在下一行开头添加一个制表符。
删除空白
rstrip是去掉右边的空格,lstrip是去掉左边的空格,strip去掉两边的空格。
但是这只是暂时的,再次访问变量时,依然会产生空白。
2.数据类型
int 整数
float 浮点数
str 字符串
bool 布尔类型
打印变量类型:type(变量)
数据转换 int() ; float() ; str()
d1=123
type(d1)
Out[10]: int
d2=123.4
type(d2)
Out[11]: float
d3='afsdf'
type(d3)
Out[12]: str
d4=True
type(d4)
Out[13]: bool
d5=float(d1)
type(d5)
Out[14]: float
d6=int(d2)
type(d6)
Out[15]: int
d7=str(d2)
type(d7)
Out[16]: str
3数据运算
四则运算 + - * /
乘方 **
取模 %
取整 //
4列表
访问列表元素:
可以采用:列表名[索引]的方法。但索引是从0开始,倒着访问是从-1开始。
添加列表元素:
(1)指定位置插入元素 insert(index,x)
(2)在列表的末位添加元素 append(x)
修改列表元素:
可以采用重新赋值的方法:列表名[index]=‘新的值’
删除列表元素:
根据索引值删除:del(index)
根据元素值删除:remove(“值”)
删除末位的元素:pop()
区别:pop()方法删除后的元素可以赋值给变量,但del()不可以重新赋值。
列表排序:
永久性排序:列表名.sort()默认升序,可以通过设置 reverse=True 来降序排列。
临时性排序:sorted(列表名)
复制列表:copy()
求列表长度:len()
切片:获取列表的部分数据的一种方法。
列表名[start : end : step]
start:起始索引,从0开始。
end:结束索引,为元素个数减一。
step:步长,即间隔。
5元组
元组:不可被修改,若想修改则需重新创建一个新元组。
元组=(元素1,元素2,…)
元组的值虽然不能被修改,但是可以给存储元组的变量赋不同的值。
range=(3,4,5)
print('old range is:\n')
print(range)
range=(6,7,8)
print('new range is:\n')
print(range)
print('使用索引访问新元组的第二个元素',range[1])
print('使用切片访问新元组中前两个元素',range[0:2])
old range is:
(3, 4, 5)
new range is:
(6, 7, 8)
使用索引访问新元组的第二个元素 7
使用切片访问新元组中前两个元素 (6, 7)
6字典
字典由关键字和值两部分组成。
字典名 = {关键字1:值,关键字2:值,关键字3:值}
基本操作:
访问字典:变量名=字典名[关键字]
添加键值对:字典名[关键字名]=值
修改键值对:字典名[关键字名]=新值
删除键值对:del 字典名[关键字]
内置函数:
- 计算字典元素的个数,即键的总数:len(dict)
- 输出字典可打印的字符串:str(dict)
内置方法:
- 删除字典内所有元素:字典名.clear()
- 返回一个字典的浅复制:字典名.copy()
- 创建一个新字典,以序列seq中的元素做字典的键,val为字典所有键的初始值:字典名.fromkeys()
- 返回指定键的值,如果值不在字典中则返回default值:字典名.get(key,default=None)
- 以列表的形式返回可遍历的(键值对)元组数组:字典名.items()
- 以列表的形式返回一个字典所有的键:字典名.keys()
- 把字典2中的键值更新到字典中:字典名.update(dict2)
- 以列表返回字典中的所有值:字典名.values()
7控制结构
if语句:
语法:
if 判断条件 1:
语句组1
elif 判断条件2:
语句组2
else:
语句组3
x = int(input("Please enter an integer: "))
if x < 0:
x = 0
print('Negative changed to zero')
elif x == 0:
print('Zero')
elif x == 1:
print('Single')
else:
print('More')
Please enter an integer: 12
More
for循环:
语法:
for 变量名 in 序列 :
语句组
words = ['cat', 'window', 'defenestrate']
for w in words:
print(w, len(w))
cat 3
window 6
defenestrate 12
break 语句
作用:用于跳出最近的一级 for 或 while 循环。
循环可以有一个 else 子句;它在循环迭代完整个列表(对于 for )或执行条件为 false (对于 while )时执行,但循环被 break 中止的情况下不会执行。
for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print(n, 'equals', x, '*', n//x)
... break
... else:
... # loop fell through without finding a factor
... print(n, 'is a prime number')
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
pass 语句
while True:
... pass # Busy-wait for keyboard interrupt (Ctrl+C)
详细入门见:官方文档http://www.pythondoc.com/pythontutorial3/