PY初识
前言
11月17日,开始py的学习,对于没有语言基础的我来说,希望一直能保持学习新东西的热情,希望自己没事就来看一下自己写的这篇博客,保持耐心。最后附自己写的第一个py。
name1 = input('请输入数值1:')
name2 = input('请输入数值2:')
name3 = int(name1)*int(name2)
print('计算结果=',name3)
字符串占位符
占位符 替换内容 //假如不确定内容%s是最好的选择,字符串永远有用.
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
format()
另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:
'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
f-string
最后一种格式化字符串的方法是使用以f开头的字符串,称之为f-string,它和普通字符串不同之处在于,字符串如果包含{xxx},就会以对应的变量替换:
>>> r = 2.5
>>> s = 3.14 * r ** 2
>>> print(f'The area of a circle with radius {r} is {s:.2f}')
The area of a circle with radius 2.5 is 19.62
举例
n1 = int(input('请输入第一学期绩点:'))
n2 = int(input('请输入第二学期绩点:'))
s1 = ((n2-n1)/n1)*100
print('您的成绩提升幅度为{%1.2f}'%s1)
list和tuple
list简介
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
>>> classmates = ['one','two','three']
>>> classm =['one','two','three']
>>> classm
['one', 'two', 'three']
>>> classm[0]
'one'
>>> classm[1]
'two'
>>> classm[2]
'three' //取值从0开始取值
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:
>>> classm[-1]
'three'
list里可以包含不通类型数据,也可以套娃
例如:
>>> L
['abc', 123, True] /可以包含字符串,数字以及Ture or False (注意区分大小写)
>>> P = ['123',123,['1','2'],10]
>>> P[2]
['1', '2']
>>> len(P) /虽然可以套娃,但是其中包含的list只算是一个长度
4
list追加及删除
插入行尾
>>> classm.append('four')
>>> classm
['one', 'two', 'three', 'four']
插入指定位置
>>> classm.insert(1,'0.5')
>>> classm
['one', '0.5', 'two', 'three', 'four']
删除行尾
>>> classm.pop()
'four'
>>> classm
['one', '0.5', 'two', 'three']
删除指定元素
>>> classm.pop(1)
'0.5'
>>> classm
['one', 'two', 'three']
tuple简介
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出的元组:
classmates = ('Michael', 'Bob', 'Tracy')
classmates这个tuple不能变了,它也没有append(),insert()这样的方法。
其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。
不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
>>> t = (1,2)
>>> t
(1, 2)
>>> t = ()
>>> t
()
>>> t = (1) /tuple定义单个值时,后面必须要跟一个,用来消除歧义
>>> t
1
>>> t = (1,)
>>> t
(1,)
>>>
可变tuple
示例1
示例
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
这个tuple定义的时候有3个元素,分别是'a','b'和一个list。不是说tuple一旦定义后就不可变了吗?怎么后来又变了?
表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,
所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,
就不能改成指向其他对象,但指向的这个list本身是可变的!
理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。
摘自廖雪峰老师博客举例 ↩︎