Python从入门到放弃

 

1.1 Python2与python3的区别

1.1.1 区别1—源码

Python2:源码重复,不规范

Python3:整合源码、更清晰优美简单

1.1.2 区别3—数据类型

 

1.1.3 区别4

Python2中:input() 只能输入数字类型

Python3中:input

 

1.2 语言的划分

 

1.2.1 编译型

特点:将你的代码全部编译成二进制,然后再执行

缺点:编译的时间长,开发效率低(如果出了问题,需要重新编译),不能跨平台

优点:执行效率高(c++)

典型代表:c++

1.2.2 解释型

特点:等程序开始运行时,它将代码一行一行的解释成二进制然后执行

缺点:执行效率低

优点:开发效率高,可以跨平台

典型代表:Python

1.2.3 区别2—编码

Python2:默认的编码是ascii

 

Python2:默认的编码是utf-8

1.3 Python的优缺点

1.3.1 Python的优点

1、      Python的定位是‘优雅’,‘明确’,‘简单’。所以Python程序看上去总是简单易懂,初学者学pthon,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序

2、      开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子

3、      高级语言—当你用Python语言编写程序的时候,你无需考虑如何管理你的程序使用的内存一类的底层细节

4、      可移植性—由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行

5、      可扩展性—如果你如要你的一段关键代码运行得更快或者某些算法不公开,你可以把你的部分程序用c或c++编写,然后在你的Python程序中使用它们

6、      可嵌入型—你可以把Python嵌入你的c/c++程序,从而向你的程序用户提供脚本功能

1.3.2 Python 的缺点

1.4 Python的种类

Cpython、jpython、pypy

 

1.5 17的pycharm安装,注册码好找

 

 

 

 

 

 

 

 

1.6 变量与常量

1.6.1 变量

1、          变量名是由数字字母下划线任意组合

2、          变量名不能是数字开头

3、          变量名不能是Python中的关键字

 

4、      变量名要具有可描述性

5、      变量名不能使用中文

6、      变量名不能过长

7、      官方的推荐方式

# 方式1:下划线

age_of_oldboy=56

number_of_students=80

# 方式2:驼房式

AgeOfOldboy=56

NumberOfStudents=80

1.6.2 常量

一直不变的量,约定俗称全部大写的变量名为常量,放到文件中最上面

# 常量案例

(π、新中国成立的日子,身份证号)

# 常量案例

BIRTH_OF_CHINA=1949

1.7 注释

单行注释可以用#

多行注释1:

三个单引号

'''

 

'''

三个双引号

"""

 

"""

多行注释2:

选中要注释的行,然后   ctrl+ ?

1.8 基础数据类型分类

什么是基础数据类型?

1.8.1 数字类型=int

int:   数字(运算,计算:+ - X %)

1.8.2 字符串类型=str

Str:    Python中用引号引起来就叫字符串

用处:储存简单的少量数据(用户名、密码)

1.8.3 查看数据类型

print (666,type(666))

 

 

1.8.4 数字与字符串的拼接

+ 拼接

a='suyajun,'
b=' love:'
c='school'
d=a + b+c
print (d)

 

*:拼接,字符串与数字做乘法运算

a='suyajun,'
b=' love:'
c='school'
d=a + b+c
print (d*8)

1.8.5 单、双引号的区别以及三引号的用途

# 如果值中有单引号,则需要用到双引号==》案例如下

msg="My name is suyajun,I'm very like school"
print(msg)

# 如果需要值换行,则需要用三引号==》案例如下

msg="""
今天我想写一首歌,
歌颂我的同桌,
这首歌名就叫。。。
同桌的你
"""

print(msg)

打印如下:

 

 

1.8.6 Bool值

Bool值的特点:条件成立则为真{true},条件不成立则为假的{flase}

实例1-1                  

 

实例1-2                  

 

1.9 用户交互

Input 出来的全是字符串

name=input('please you name:')
password=input('please you pass:')
print (name,password)
print(type(password))

 

 

1.9.1 Inpu中字符串拼接

name=input('please you name:')
password=input('please you pass:')
print ('My name is:'+name,'My pass is:'+password)

 

1.9.2 格式化输出

%:占位符

D 表示数字类型

S 表示字符串类型

字符串装数字:int(age)

Str转换成数字类型,str必须

 

1.9.2.1                       元组的形式

name=input('please you name:')
Age=input('please you Age:')
job=input('please you job:')
hobbie=input('please you hobbie:')
msg='''
msg1 =  ------------ info of %s -----------
Name  : %s
Age   : %d
job   : %s
Hobbie: %s
------------- end -----------------
''' %(name,name,int(Age),job,hobbie)
print (msg)

 

1.9.2.2                       字典的形式

dic={'name':'suyajun','Age':18,'job':'it','hobbie':'scholl'}
msg1='''
msg1 =  ------------ info of %(name)s -----------
Name  : %(name)s
Age   : %(Age)d
job   : %(job)s
Hobbie: %(hobbie)s
------------- end -----------------
''' % dic
print (msg1)

 

 

 

1.9.2.3                       %转义

msg='my name is:%s,Age is:%s,进度 %%5' %('测试',18)
print(msg)

 

1.10 流程控制语句之if

1.10.1 一种条件

if 2>1:
    print (666)

1.10.2 两种条件

if 2>3:
    print (666)
else:
    print (888)

 

1.10.3 多种条件

多选一,多种条件选一个即可

两个等号是比较,一个等号是赋值

number=int(input('please number:'))
if number == 6:
    print ('eat')
elif number == 2:
    print ('er')
elif number == 4:
    print ('si')

1.10.4 多种条件必须走一条

number=int(input('please number:'))
if number == 6:
    print ('eat')
elif number == 2:
    print ('er')
elif number == 4:
    print ('si')
else:
    print ('Good bye')

1.10.5 If中的嵌套

number=int(input('please number:'))
if number >= 1:
    if number < 5:
        print (666)
    else:
        if number == 7:
            print ('Yes')
        else:
            if number == 8:
                print ('No')

 

案例:猜分数

number=int(input('Please num : '))
if number > 100:
    print ('Tai gao le')
elif number >= 90:
    print ('A')
elif number >=80:
    print ('B')
elif number >=70:
    print ('C')
else:
    print ('shit')

1.11 While循环语句

# while后面接条件,True中的T必须是大写

while True:
    print ('Go')
    print ('Scholl')

1.11.1 终止循环

方法1:改变条件

num=1
while num<=100:
    print (num)
    num=num+1

 

num=1
flag=True
while
flag:
    print (num)
    num= num + 1
    if num==101:
        flag=False

 

实例1-3         1加100次

num = 1
sum = 0
while num < 101:
    sum = num + sum
    num = num + 1
print (sum)

1.11.2 Break

特点:结束循环,跳出循环

while True:
    print ('    333')
    print ('    444')
    print ('    666')
    print ('    888')
    break
   
print ('Hello')
print ('Good')

1.11.3 Continue

特点:跳出本次循环,进行下一次

while True:
    print ('    333')
    print ('    444')
    print ('    666')
    print ('    888')
    continue
   
print ('Hello')
print ('Good')

1.11.4 While else

特点:如果while循环被break打断,则不走else

num=1
while num < 5:
    print (num)
    break
   
num = num+1
else:
    print ('Ok')

1.12 基本运算

1.12.1 逻辑运算符

运算符

描述

实例

and

布尔‘与’:如果x为False,x and y返回False,否则返回y的计算值

print (a and b)

or

布尔‘与’:如果x为True,x and y返回True,否则返回y的计算值

print (a or b)

not

布尔‘与’:如果x为False,x and y返回True,如果x为True,x and y返回False

print (not(a and b))

1.12.2 优先级

逻辑运算符的优先级:()> not > and > or

print ( 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)   #True

 

print ( 1 > 1 and 3 < 4 or 4 < 5 and 2 < 1 and 2 > 1 or 2 < 1)   #False
# False or False and True

1.13 初始编码

1.13.1 编码的装换

Assic 8位==1字节,表示一个字符

       A==01000001

 

万国码:unicode把所有国家的语言包含进去,一个字符有两个字节组成

A :  01000001 01000001     两个字节表示一个字符

中 : 01000001 01000001      两个字节表示一个字符

改版:浪费资源

A : 01000001 01000001 01000001 01000001          四个字节表示一个字符

中 : 01000001 01000001 01000001 01000001        四个字节表示一个字符

Unicode升级:utf-8

A : 01000001  一个字节

欧洲  : 01000001  01000001 两个字节

亚洲:中 01000001  01000001 01000001 三个字节

Utf-16  最少用16位表示一个字符

Gbk:国标

A:01000001 一个字节

中:01000001 01000001 两个字节表示一个字符

1.13.2 单位的装换

8bit = 1bytes

1024bytes == 1kb

1024kb == 1mb

1024mb == 1gb

1024gb == 1tb

1.14 基础数据类型

1.14.1 字典

[ ] 的是列表

{ } 的是字典

dic={'name':'Syj','Age':'18','Python':['苏亚军','东东']}
print (dic['Python'])

1.14.2 列表

lie=[1,3,5,'Syj']
print (lie[3])

1.14.3 For循环

For是有限循环

lie=[1,3,5,'Syj']
for i in lie:
    if (lie[1]) == 3:
        print ('Yes')
else:
    print (666)

 

a = 'asdfghjddd'
for
i in a:
    if i == 'd' :
        break
   
print (i)
else:
    print (666)

第2章 练习题

1、使用while循环输入 1 2 3 4 5 6     8 9 10

1 num=0
2 while num < 10:
3     num=num+1
4     if num == 7:
5         continue
6     print (num)

2、        求1-100的所有数的和

1 num=0
2 sum=0
3 while num < 100:
4     num+=1
5     sum+=num
6 print (sum)

3、        输出 1-100 内的所有奇数

1 num=0
2 sum=0
3 while num < 100:
4     num+=1
5     if (num % 2) == 1:
6         print (num)

4、        输出 1-100 内的所有偶数

num=0
sum=0
while num < 100:
    num+=1
    if (num % 2) == 0:
        print (num)

5、        求1-2+3-4+5 ... 99的所有数的和

num = 0
for i in range(1,101):
    if (i % 2) == 0:
       num-=i
    else:
        num+=i
        print(num)

6、用户登陆(三次机会重试)

#用户登录(三次机会)
# input name password
# while 循环去匹配,用变量i
# 可以支持多用户登录

# 如果输入三次都没成功,给他一个选择,在试试
#   输入y在给他三次机会。。。不输入了,print ('Good bye')

lie=[{'name':'Alex','password':'hehe'},
    {'name':'Wusir','password':'haha'},
    {'name':'Taibai','password':'shuai'}]
b = 4
c = 5
while True:
    name = input('please this is name:')
    password = input('please this is password:')
    for i in range(3):
        if lie[i]['name'] == name and lie[i]['password'] == password:
            print('欢迎登陆')
            exit(2)
    c-=1
    if c == 0:
        print('抱歉您的机会用完了')
        exit(2)
    b-=1
    print('账号或密码错误,您还有',b,'次机会')
    if b == 0:
        num = input('你是否还需要机会(N/Y)')
        if num == 'y':
            c = 3
        else:
            print('GOOD BAY')
            exit(2)

 

posted @ 2018-04-05 23:32  Hello_worlds  阅读(271)  评论(0编辑  收藏  举报