python全栈day5

倾然丶 夕夏残阳落幕 提交于 2020-03-09 03:22:15

字符串格式化输出

name = input("Name:")#输入你的名字age = int(input("Age:"))#输入你的年龄job = input("Job:")#输入你的行业salary = input("Salary:")#输入你的收入if salary.isdigit(): #长得像不像数字    salary = int(salary)# else:#     #print(must input digit)#     exit("must input digit") #退出程序# %d只能输入数字,%s 占位符  %f  浮点数  约等于小数msg = '''--------------  info of %s  -------------Name: %sAge: %dJob: %sSalary: %fYou will be retired in %s years--------------  end  -------------''' % (name,name,age,job,salary,60-age)print(msg)

数据类型初识 

1、数字

2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
      先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html 
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
 
2、布尔值
  真或假
  1 或 0
3、字符串
"hello world"
万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
 

表达式for loop

最简单的循环10次

__author__ = 'ppuy'
 
for in range(10):
    print("loop:", i )
 
 

List(列表)

      OK,现在我们知道了字符串和整型两个数据类型了,那需求来了,我想把某个班所有的名字存起来,怎么办?

有同学说,不是学变量存储了吗,我就用变量存储呗,呵呵,不嫌累吗,同学,如班里有一百个人,你就得创建一百个变量啊,消耗大,效率低。

又有同学说,我用个大字符串不可以吗,没问题,你的确存起来了,但是,你对这个数据的操作(增删改查)将变得非常艰难,不是吗,我想知道张三的位置,你怎么办?

 

在这种需求下,编程语言有了一个重要的数据类型----列表(list)

 

什么是列表:

列表(list)是Python以及其他语言中最常用到的数据结构之一。Python使用使用中括号 [ ] 来解析列表。列表是可变的(mutable)——可以改变列表的内容。

 

对应操作:

1 查([])

1
2
3
4
5
6
7
8
9
10
names_class2=['张三','李四','王五','赵六']
 
# print(names_class2[2])
# print(names_class2[0:3])
# print(names_class2[0:7])
# print(names_class2[-1])
# print(names_class2[2:3])
# print(names_class2[0:3:1])
# print(names_class2[3:0:-1])
# print(names_class2[:]) 

2 增(append,insert)

insert 方法用于将对象插入到列表中,而append方法则用于在列表末尾追加新的对象

1
2
3
names_class2.append('alex')
names_class2.insert(2,'alvin')
print(names_class2)

3 改(重新赋值)

1
2
3
4
5
names_class2=['张三','李四','王五','赵六']
 
names_class2[3]='赵七'
names_class2[0:2]=['wusir','alvin']
print(names_class2)

4 删(remove,del,pop)

1
2
3
4
names_class2.remove('alex')
del names_class2[0]
del names_class2
names_class2.pop()#注意,pop是有一个返回值的 

5 其他操作

5.1  count

       count 方法统计某个元素在列表中出现的次数:

1
2
3
4
5
6
7
>>> ['to''be''or''not''to''be'].count('to'
2 
>>> x = [[1,2], 11, [21, [12]]] 
>>> x.count(1
2 
>>> x.count([1,2]) 
1

5.2 extend

         extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。

1
2
3
4
5
>>> a = [123
>>> b = [456
>>> a.extend(b) 
>>> a 
[123456

  extend 方法修改了被扩展的列表,而原始的连接操作(+)则不然,它会返回一个全新的列表。

1
2
3
4
5
6
7
8
9
10
>>> a = [123
>>> b = [456
>>> a.extend(b) 
>>> a 
[123456
>>> 
>>> a + 
[123456456
>>> a 
[123456

5.3  index

       index 方法用于从列表中找出某个值第一个匹配项的索引位置: 

1
names_class2.index('李四')

5.4  reverse

       reverse 方法将列表中的元素反向存放。

1
2
names_class2.reverse()
print(names_class2)

5.5  sort

       sort 方法用于在原位置对列表进行排序。

1
2
= [462179]
x.sort()#x.sort(reverse=True)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!