目录
- 官方手册
- 菜鸟站手册地址:
- python的运行方法
- 注释
- 变量
- 字符串
- 列表 (相当于PHP里的索引数组)
- 元组
- 字典
- 列表 集合 元组 字典 的特性
- 函数
- 循环
- 判断if..elif..else
break
与continue
的区别
官方手册
https://docs.python.org/3.7/tutorial/index.html
菜鸟站手册地址:
https://www.runoob.com/python3/python3-basic-operators.html
python的运行方法
- Sublime编辑器执行python代码,用Ctrl+b
- cmd黑窗口里 D:\phpStudy\PHPTutorial\WWW\python>python test.py
注释
确保对模块, 函数, 方法和行内注释使用正确的风格
Python中的注释有单行注释和多行注释:
Python中单行注释以 # 开头,例如:
三个单引号,或者三个双引号
'''这是一个区块连的函数,
money:交易的金额
last_value 获取到数组的最后一个单元(默认值为[1])
Docstring'''
参考手册:
https://www.runoob.com/python3/python3-comment.html
变量
- 变量可以理解为一个空盒子,向变量赋值可以理解为向空盒子子里存东西,向变量重新赋值可以理解为把盒子里原有的东西拿出来,放入新的东西
- 声明变量前不需加任何声明.php前需要加$,JavaScript前需要加var,python不需要
- 变量分为
局部变量
和全局变量
,局部变量可以通过global转为全局变量
name = 'lisi'
def get_name():
global name
name = input('please input your are name:')
get_name() #运行函数局部变量就会通过global转为全局变量
print(name) #输出的是input里您输入的值
字符串
字符串的拼接
a= 'hello'
b='word'
c = a + b
print ("值为:", c) # 'helloword'
字符串的换行
用三个单引号或者三个双引号
str= '''asdfasdfasdf
asdfasdfasdfdfasdf
asdfasdfasdfdfasdf
'''
print (str)
列表 (相当于PHP里的索引数组)
参考菜鸟手册
https://www.runoob.com/python3/python3-list.html
- 相当里php里的数组
- 序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
list1 = ['Google', 'Runoob', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print ("list1[0]: ", list1[0]) #list1[0]: Google
print ("list2[1:5]: ", list2[1:5]) #list2[1:5]: [2, 3, 4, 5]
列表的添加
列表相当于php中的一维数组,里面元素是有序的,可以重复的.
- 向列表的最后面追加单元数据
列表的追加(向数组的右边追加) append()
方法
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1) #['Google', 'Runoob', 'Taobao', 'Baidu']
- 向数组后面拼接元素
list1 = ['Google', 'Runoob', 'Taobao']
n = ['a','b','c']
list1 += n
print(list1) #['Google', 'Runoob', 'Taobao', 'a', 'b', 'c']
-
insert()
函数用于向列表指点任意列表的插入值。insert()
方法list.insert(index, obj)
list1 = ['Google', 'Runoob', 'Taobao']
list1.insert(1, 'Baidu')
print ('列表插入元素后为 : ', list1) #['Google', 'baidu', 'Runoob', 'Taobao']
-
extend()
函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
extend()方法语法:
list.extend(seq)
list1 = ['Google', 'Runoob', 'Taobao']
list2=list(range(5)) # 创建 0-4 的列表
list1.extend(list2) # 扩展列表
print ("扩展后的列表:", list1) # ['Google', 'Runoob', 'Taobao', 0, 1, 2, 3, 4]
5.extend 与 append 的区别
- extend 与 append 方法的相似之处在于都是将新接收到参数放置到已有列表的后面。
- 而 extend 方法只能接收 list,且把这个 list 中的每个元素添加到原 list 中。
- 而 append 方法可以接收任意数据类型的参数,并且简单地追加到 list 尾部。
list1 = ['Google', 'Runoob', 'Taobao']
list1.extend(['a','b']) # 扩展列表
print (list1) # ['Google', 'Runoob', 'Taobao', 'a', 'b']
list2 = ['Google', 'Runoob', 'Taobao']
list2.append(['a','b']) # 扩展列表
print (list2) # ['Google', 'Runoob', 'Taobao', ['a', 'b']]
https://www.runoob.com/python3/python3-att-list-extend.html
列表的删除
方法一:可以使用 del 语句来删除列表的指定元素,如下实例:
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list) #原始列表 : ['Google', 'Runoob', 1997, 2000]
del list[2]
print ("删除第三个元素 : ", list) #删除第三个元素 : ['Google', 'Runoob', 2000]
方法二:
remove()
描述
remove() 函数用于移除列表中某个值的第一个匹配项。
语法
remove()方法语法:list.remove(obj)
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.remove('Taobao')
print ("列表现在为 : ", list1) #列表现在为 : ['Google', 'Runoob', 'Baidu']
list1.remove('Baidu')
print ("列表现在为 : ", list1) #列表现在为 : ['Google', 'Runoob']
方法三:pop(列表索引)
描述
pop(列表索引) 函数用于移除列表中某索引的值
不列索引,默认删除最后一个元素
list = ['Google', 'Runoob', 1997, 2000]
list.pop(2)
print(list) #['Google', 'Runoob', 2000]
列表的更新 指定列表里元素的索引下标重新赋值
你可以对列表的数据项进行修改或更新,如下所示:
指定列表里元素的索引下标重新赋值
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2]) #第三个元素为 : 1997
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2]) #更新后的第三个元素为 : 2001
列表截取与拼接
Python的列表截取与字符串操作类型.
如下所示:
L=['Google', 'Runoob', 'Taobao']
Python 表达式 | 结果 | 描述 |
---|---|---|
L[2] | 'Taobao' | 读取第三个元素 |
L[-2] | Runoob' | 从右侧开始读取倒数第二个元素: count from the right |
L[1:] | ['Runoob', 'Taobao'] | 输出从第二个元素开始后的所有元素 |
拼接
list1 = ['Google', 'Runoob', 'Taobao']
n = ['a','b','c']
list1 += n
print(list1) #['Google', 'Runoob', 'Taobao', 'a', 'b', 'c']
嵌套列表
把两个一维列表嵌套成一个两维列表
a = ['Google', 'Runoob', 'Taobao']
b = ['a','b','c']
c = [a,b]
print(c) #[['Google', 'Runoob', 'Taobao'], ['a', 'b', 'c']]
列表的赋值
copy()和直接=赋值的区别:
- 使用=直接赋值,是引用赋值,更改一个,另一个同样会变
- copy() 则顾名思义,复制一个副本,原值和新复制的变量互不影响
例子:
https://www.runoob.com/python3/python3-att-list-copy.html
元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
相同之处,它们的元素都是有序的,可以重复的
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
手册:
https://www.runoob.com/python3/python3-tuple.html
字典
可以理解为键值对形式的json格式字符串形式
-
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,
格式如下所示:
d = {key1 : value1, key2 : value2 }
- 字典是另一种可变容器模型,且可存储任意类型对象。
- 键必须是唯一的,但值则重复。
- 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
元素是无序的
一个简单的字典实例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此创建字典:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
手册:
https://www.runoob.com/python3/python3-dictionary.html
列表 集合 元组 字典 的特性
# animal = ['pig','dog','cat','dog','pig'] #列表
# animal = {'pig','dog','cat','dog','pig'} #集合
# animal = ('pig','dog','cat','dog','pig') #元组
# animal = {'name':'lisi','age':28,'weight':120} #字典
类型 | 特性 | 符号 |
---|---|---|
数组 | 可编辑 有序 允许重复 | [] |
集合 | 可编辑 无序 不可重复 | {} |
元组 | 不可编辑 有序 可重复 | () |
字典 | 无序 可编辑 值:可重复 键:不可重复 键值对形式 | {} |
函数
def 自定义一函数
def test():
print('My name is haima')
test() #My name is haima
循环
for循环
blockchian = [[[1], 12.0], [[[1], 12.0], 13.0], [[[[1], 12.0], 13.0], 14.0]]
for block in blockchian:
'''这是一个区块连的函数,
money:交易的金额
last_value 获取到数组的最后一个单元(默认值为[1])
Docstring'''
print(block)
while循环
while True:
print('请输入数字:')
print('1:继续交易')
print('2:打印当前区块链')
print('q:退出当前操作')
userChoice_num = get_userChoice_num()
if userChoice_num == '1':
money = get_input_money()
add_value(money,get_last_value())
elif userChoice_num == '2':
print_blockchian()
elif userChoice_num == 'q':
break #continue
else:
print('请输入列表里的数字!')
range()
函数循环列表
也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):
for i in range(0, 10, 3) :
print(i)
打印结果:
0
3
6
9
手册参考
https://www.runoob.com/python3/python3-loop.html
判断if..elif..else
if userChoice_num == '1':
money = get_input_money()
add_value(money,get_last_value())
elif userChoice_num == '2':
print_blockchian()
elif userChoice_num == 'q':
break #continue
else:
print('请输入列表里的数字!')
手册参考
https://www.runoob.com/python3/python3-conditional-statements.html
break
与continue
的区别
break
终止本次循环continue
跳过当前操作,执行下一次循环