Python入门

变量

1、定义方式

  • 下划线(推荐使用) age_of_oldboy = 56
  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

2、id、type、value、is、in、hash

  • 身份:即内存地址,能够用id()来获取
  • 类型:决定了该对象保存的类型,须要遵循什么规则,可用type()来获取该数据类型
  • 值:对象的保存的的真实数据
  • 等号比较的是value
  • is比较的是id
  • id相同,意味着type和value一定相同
  • value相同type确定相同,但id可能不一样
  • 可变:值变,id不变。可变==不可hash
  • 不可变:值变,id就变。不可变==可hash
  • is运算符用于比较两个对象的身份
  • in主要用来判断某一元素是否在某种元素集合中
  • 可hash的就是不可变数据类型,不可hash的就是可变数据类型

3、类型分类

  • 可变类型:在id不变的状况下,value能够变,则称为可变类型,如列表,字典
  • 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着建立了新的内存空间)

常量

  • 常量即指不变的量,如圆周率 3.1415926..., 在Python中没有一个专门的语法表明常量,程序员约定俗成用变量名所有大写表明常量AREAS = 56

程序交互

  • 在python3中 input:用户输入任何值,都存成字符串类型
?
1
2
age = input ( 'your age:' ).strip()
print (age, type (age))  #18 <class 'str'>

1、文件头

  • #!/usr/bin/env python
  • # -*- coding: utf-8 -*-

2、注释

  • 代码注释分单行和多行注释, 单行注释用#
  • 多行注释能够用三对双引号""" """

range

  • range用来指定范围,生成指定的数字。
?
1
2
3
4
5
6
7
for item in range ( 5 , 10 , 2 ):
     print (item)
"""
5
7
9
"""

基本数据类型

  • 数据即变量的值,变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不一样的状态就应该用不一样类型的数据去标识

1、数字

一、int整型

  • 定义:age=10 #age=int(10)
  • 用于标识:年龄,等级,身份证号,qq号,个数

2.float浮点型

  • 定义:salary=3.1 #salary=float(3.1)
  • 用于标识:工资,身高,体重

2、布尔

  • 判断一个条件成立时,用True标识,不成立则用False标识
  • *****None,0,空(空字符串,空列表,空字典等)三种状况下布尔值为False*****

3、字符串

  • 定义:name='tom' #name=str('tom')
  • 用于标识:描述性的内容,如姓名,性别,国籍,种族
  • 加了引号的字符就是字符串类型,单引号、双引号、多引号都同样,注意单双引号的嵌套
?
1
2
3
4
5
6
7
8
s = "watch ,'套路'"
#多行字符串必须用多引号
msg = '''
种一棵树最好的时间是十年前,其次是如今。
全部的成功都是你行动之后对你行动的奖励。
'''
print (s)  #watch ,'套路'
print (msg)

4、列表

  • 在[]内用逗号分隔,能够存放n个任意类型的值
  • 定义:students=['tom','rose','jack',] #students=list(['tom','rose','jack',])
  • 用于标识:存储多个值的状况,好比一我的有多个爱好
  • 列表嵌套和取值
?
1
2
students_info = [[ 'tom' , 18 ,[ 'sing' ,]],[ 'rose' , 18 ,[ 'play' , 'sleep' ]]]
print (students_info[ 0 ][ 2 ][ 0 ]) #取出第一个学生的第一个爱好 #sing

5、字典

  • 能够存放多个任意类型的值,又能够规定值的映射关系的类型
  • 在{}内用逗号分隔,能够存放多个key:value的值,value能够是任意类型
  • 定义:info={'name':'tom','age':18,'gender':18} #info=dict({'name':'tom','age':18,'gender':18})
  • 用于标识:存储多个值的状况,每一个值都有惟一一个对应的key,能够更为方便高效地取值
  • 字典嵌套和取值
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
info = {
     'name' : 'tom' ,
     'hobbies' :[ 'sing' , 'sleep' ],
     'company' :{
         'name' : 'google' ,
         'type' : 'it' ,
         'fund' : 8000000000 ,
     }
}
print (info[ 'company' ][ 'fund' ]) #取公司现金储备 #8000000000
 
students = [
     { 'name' : 'tom' , 'age' : 18 , 'hobbies' :[ 'sing' , 'play' ]},
     { 'name' : 'rose' , 'age' : 88 , 'hobbies' :[ 'read' , 'sleep' ]},
     { 'name' : 'jack' , 'age' : 99 , 'hobbies' :[ 'swim' , 'watchTV' , 'talk' ]},
]
print (students[ 2 ][ 'hobbies' ][ 1 ]) #取第3个学生的第2个爱好watchTV

流程控制之if...else

?
1
2
3
4
5
6
7
8
9
10
11
12
"""
rose --> 超级管理员
tom  --> 普通管理员
其余 --> 普通用户
"""
name = input ( '请输入用户名字:' ).strip()
if name = = 'rose' :
     print ( '超级管理员' )
elif name = = 'tom' :
     print ( '普通管理员' )
else :
     print ( '普通用户' )

流程控制之while循环

1、条件循环

?
1
2
3
4
5
count = 0
while count < = 10 :
     if count % 2 = = 0 :
         print ( 'loop' ,count)
     count + = 1

2、死循环

?
1
2
while True :
     print ( 'hello world' )

3、循环嵌套与tag

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
name = 'tom'
password = '123'
 
tag = True
while tag:
     inp_name = input ( '用户名: ' ).strip()
     inp_pwd = input ( '密码: ' ).strip()
     if inp_name = = name and inp_pwd = = password:
         while tag:
             cmd = input ( '>>: ' )
             if not cmd: continue
             if cmd = = 'q' :
                 tag = False
                 continue
             print ( 'run <%s>' % cmd)
     else :
         print ( '用户名或密码错误' )

4、break与continue

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#break用于退出本层循环
while True :
     print ( 'go...' )
     break
     print ( 'stop' )
#只打印go...  就退出了,下面的 print('stop')根本不执行
 
#continue用于退出本次循环,继续下一次循环
while True :
     print ( 'go...' )
     continue
     print ( 'stop' )
 
#打印go...  就退出本次循环,本次循环下面的 print('stop')根原本不及执行,就继续下一次循环,全部一直打印 go... 也就是死循环了

5、while+else和for+else

  • 其它语言else 通常只与if 搭配不一样
  • 在Python 中还有个while ...else 语句和for ...else 语句
  • while 后面的else 做用是指当while 循环正常执行完,中间没有被break 停止的话,就会执行else后面的语句
  • for 后面的else 做用是指当for 循环正常执行完,中间没有被break 停止的话,就会执行else后面的语句
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
count = 0
while count < = 5 :
     count + = 1
     print ( "Loop" ,count)
else :
     print ( "循环正常执行完啦" )
print ( "-----out of while loop ------" )
"""
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完啦
-----out of while loop ------
"""
 
#若是执行过程当中被break,就不会执行else的语句
count = 0
while count < = 5 :
     count + = 1
     if count = = 3 : break
     print ( "Loop" ,count)
else :
     print ( "循环正常执行完啦" )
print ( "-----out of while loop ------" )
 
"""
Loop 1
Loop 2
-----out of while loop ------
"""

流程控制之for循环

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
for i in range ( 1 , 10 ):
     for j in range ( 1 ,i + 1 ):
         print ( '%s*%s=%s' % (i,j,i * j),end = ' ' )
     print ()
 
"""
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
"""
 
 
max_level = 6
for cur_level in range ( 1 ,max_level + 1 ):
     for i in range (max_level - cur_level):
         print ( ' ' ,end = '') #在一行中连续打印多个空格
     for j in range ( 2 * cur_level - 1 ):
         print ( '*' ,end = '') #在一行中连续打印多个空格
     print ()
 
"""
      *
     ***
    *****
   *******
  *********
***********
"""

规范代码

断点调试

无需为程序全部代码加断点,只须要在关键代码加上断点,以debug模式调试时,程序会停在断点处。python

基本运算符

1、算数元算:

  

2、比较运算

  

3、赋值运算符

  

4、逻辑运算

  

5、成员运算

  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#字符串
st = "abcdefg"
s = "d"
if s in st:
     print ( "in st" )
else :
     print ( "not in st" )
 
#列表
lis = [ 1 , 2 , 3 , 4 ]
li = 5
if li in lis:
     print ( "in lis" )
else :
     print ( "not in lis" )
 
#元组
tup = ( 1 , 2 , 3 , 4 )
t = 2
if t in tup:
     print ( "in tup" )
else :
     print ( "not in tup" )
 
#字典 判断的是key
dic = { 'name' : 'tom' , 'age' : 18 }
d = 'name'
if d in dic:
     print ( "in dic" )
else :
     print ( "not in dic" )
 
#集合
sett = { 18 , 'age' , 'name' , 20 }
se = 'name'
if se in sett:
     print ( "in sett" )
else :
     print ( "not in sett" )

6、其余

#格式:
  设置颜色开始 :\033[显示方式;前景色;背景色m
#说明:
前景色            背景色           颜色
---------------------------------------
30                40              黑色
31                41              红色
32                42              绿色
33                43              黃色
34                44              蓝色
35                45              紫红色
36                46              青蓝色
37                47              白色
显示方式           意义
-------------------------
0                终端默认设置
1                高亮显示
4                使用下划线
5                闪烁
7                反白显示
8                不可见
 
#例子:
\033[1;31;40m    <!--1-高亮显示 31-前景色红色  40-背景色黑色-->
\033[0m          <!--采用终端默认设置,即取消颜色设置-->


print('\033[0;32;40m欢迎使用学生选课系统\033[0m')
try:
    num = int(input('请输入数字选择功能 :'))
except Exception as e:
    print('\033[31m对不起!您输入的内容有误~\033[0m')
颜色

相关文章
相关标签/搜索