首页 > 编程语言 > 详细

一、python基础

时间:2019-11-20 11:52:13      阅读:63      评论:0      收藏:0      [点我收藏+]

输入与输出

  输出

print(hello world,jumps over,the lazy dog)
print(1+2=,1+2)
hello world jumps over the lazy dog
1+2= 3

  输入

name = input()

  当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。下次输入name就变成了你之前设

定的那个值

name = input() # Enter a
print(hello,name)
hello,a
name = input(please enter you name:) # Enter b
print(hello,name)
please enter you name:b
hello b
print(\\\n\\)#\n表示换行,\\等价于\
print(r\\\t\\)#加了r之后内部的字符串默认不转义
print(‘‘‘line1
line2
line3‘‘‘)#也可以用这个表示多行内容
\\\t\line1
line2
line3

python基础

  

  1.数据类型与变量

  1.1布尔值

True and True #True
not True #False

  布尔值的应用

age=20
if age>=18:
    print(adult)
else:
    print(teenager)
adult

  

  2.变量

a = ABC

  python 解释器干了两件事情

  1).在内存中创建了一个’ABC‘字符串

  2).在内存中创建了一个名为a的变量,并把它指向’abc‘

  

  3.常量

  一般除法

10/3 #3.333333333

  整除

10//3 #3

  取余

20%3  #2

 

  4.字符串和编码

  Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题

  在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输时,就转换为UTF-8编码

  很多网页的源码上会有类似的<meta charset="UTF-8" />的信息,表示该网页正是用的UTF-8编码

  python中的字符串是以Unicode编码的

ord(A) #65
ord()#20013
chr(66)#‘B‘
chr(25991)#‘文‘
print(%2d-%02d % (3, 1))
 3-01

  %d:整数,%2d,整数的宽度是2位,若不足两位,左边补空格;%02d整数输出,整数的宽度是2位,若不足两位,左边补0;%.2d整数输出,整数的有效数字是2位

  %f:浮点数,%s:字符串,%x:十六进制整数

print(Hello, %s % world)
print(Age: %d. Gender:%s % (25,True))
print(growth rate: %d %% % 7)
Hello, world
Age: 25. Gender:True
growth rate: 7 %
hello,{0},成绩提升了{1:.1f}%.format(小明,17.25)
hello:{0:.2s},xiaoming,chengji:{1:.2f}.format(dididid,123)
‘hello,小明,成绩提升了17.2%‘
‘hello:{0:.2s},xiaoming,chengji:{1:.2f}‘.format(‘dididid‘,123)

 

  5.list和tuple

  列表

  list 是一种有序的集合,可以随时添加和删除其中的元素

classmates = [Michael,Bob,Tracy]
len(classmates)
3

  列表的查找

classmates[0]
classmates[-1]
‘Michael‘
‘Tracy‘

  列表的添加

classmates.append(mon)#在最后面添加
classmates.insert(1,sam)#在第一个位置添加元素

  列表的删除

classmates.pop()#删除最后一个元素
classmates.pop(1)#删除指定位置的元素

  列表的替换

classmates[1]=gulu

  列表里面的元素也可以是不同的

a = [123,True,adidas]

  另一种有序列表叫做元组:tuple,tuple和list相似,但是一旦初始化就不能修改

classmates = (Michael,Bob,Tracy)

  此时不能进行添加,删除和替换

  不可变的tuple的意义在于:因为tuple不可变,所有代码更安全,如果可能,能用tuple代替list就尽量用tuple

  只定义一个元素的tuple,必须加逗号

t = (1,)

  可变的tuple

t = (a,b,[A,B])#a:位置0,b:位置1,[‘A‘,‘B‘]:位置2
t[2][0] = X
t[2][1] = Y
t
(‘a‘, ‘b‘, [‘X‘, ‘Y‘])
L = [
[Apple, Google, Microsoft],
[Java, Python, Ruby, PHP],
[Adam, Bart, Lisa]
]
L
[[‘Apple‘, ‘Google‘, ‘Microsoft‘],
 [‘Java‘, ‘Python‘, ‘Ruby‘, ‘PHP‘],
 [‘Adam‘, ‘Bart‘, ‘Lisa‘]]

 

  6.条件判断

age = 3
if age>18:
    print(your age is,age)
    print(adult)
else:
    print(your age is,age)
    print(teenager)
your age is 3
teenager
age = 3
if age>18:
    print(you are a adult:, age)
elif age>6:
    print(you are a teenager:,age)
else:
    print(you are a baby: ,age) #可以看出一个循环用else,多个循环用elif
you are a baby: 3
birth = input(age:) #input默认输入类型是str
birth = int(birth)
if birth<2000:
    print(00前)
else:
    print(00后)

 

  7.循环

  for ... in循环,依次把list或tuple中的每个元素迭代出来

names = [Michael,Bob,Tracy]
for name in names:
    print(name)#for i in ...循环就是把每个元素代入变量i,然后执行缩进快的语句
Michael
Bob
Tracy
sum = 0
for i in range(11):
    sum = sum + i
print(sum) #0加到10------》55
list(range(5)) #[0, 1, 2, 3, 4]

   while循环

  只要条件满足,就不断循环,条件不满足时退出,从头执行

  如果print()在循环里面,那么每次都打印,如果在最外面则打印出一个总的

sum = 0
n = 99
while n>0:
    sum = sum + n
    n = n - 2
print(sum) #99+97+...+1
2500

  break语句可以提前退出循环,例如,本来要循环打印1-100的数字

n = 1
while n <=100:
    print(n)
    n = n+1
print(END)
1
2
3
...
END
n = 1
while n <= 100:
    if n>10:
        break
    print(n)
    n = n + 1
print(END)
1
2
...
10
END

  continue:跳出当前这次循环,直接开始下一次循环

n = 0
while n<10:
    n = n+1
print(n)
10

  只想打印奇数,可以用continue语句跳过某些循环

n = 0
while n<10:
    n = n+1
    if n%2 == 0: #如果n是偶数,执行continue语句
        continue #continue语句会直接继续下一轮循环,后续的print()不会执行
    print(n)
1
3
5
7
9

  break是结束整个循环体,continue是结束单次循环,直接开始下一次循环。

  break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。

 

  8.dict和set

  dict:使用键值存储,具有极快的查找速度

d = {Michael:95, Bob:75, Tracy:85}
d[Michael]
95

  把数据放入dict的方法,除了初始化时指定外,还可以通过key放入,即新增

d[Adam] = 67
d[Adam]
d
{‘Michael‘: 95, ‘Bob‘: 75, ‘Tracy‘: 85, ‘Adam‘: 67}

  由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉

d[Jack] = 90
d[Jack]
d[Jack] = 88
d[Jack]
88

  如果key不存在,dict就会报错,要避免key不存在的错误,有两种方法:

  1).

Thomas in d

  2).

d.get(Thomas,0)#如果不在就直接返回0

  要删除一个key,用pop(key)方法,对应的value也会从dict中删除

d.pop(Bob)
d
{‘Michael‘: 95, ‘Tracy‘: 85, ‘Adam‘: 67}

  dict内部存放的顺序和key放入的顺序是没有关系的

  和list比较,dict有以下几个特点:

  1).查找和插入的速度极快,不会随着key的增加而变慢

  2).需要占用大量的内存,内存浪费多

  而list相反:

  1).查找和插入的时间随着元素的增加而增加

  2).占用空间小,浪费内存很少

  所以,dict是用空间来换取时间的一种方法

  dict的key是不可变对象,在python中,字符串、整数等都是不可变的,因此可以放心做为key,而list可变,不能作为key

  set和dict类似,也是一组key的集合,但不存储value,由于key不能重复,所以,在set中,没有重复的key

 s = set([1,2,3])

  重复元素在set中自动过滤

s = set([1,1,2,2,3,3,])
s
{1, 2, 3}
s = set([1,1,2,2,3,3,])
s.add(3)
s
{1, 2, 3}
s = set([1,1,2,2,3,3,])
s.remove(3)
s
{1, 2}

  可以进行数学运算

s1 = set([1,2,3])
s2 = set([2,3,4])
s1&s2
s1 | s2
{2, 3}
{1, 2, 3, 4}

  str是不变对象,list是可变对象

a = [c,b,a]
a.sort()
a
[‘a‘, ‘b‘, ‘c‘]  

  

一、python基础

原文:https://www.cnblogs.com/blogbo/p/11895627.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!