days1

参考文档

 http://www.cnblogs.com/alex3714/articles/5465198.html

 # 介绍python历史及应用场景以及发展趋势

第一个小程序

 注意格式|括号和引号

  print('Hello world!')

变量

*为了存东西,方便后边调用|格式:变量名='变量'|注意:在shell中定义变量不能加空格
*变量的定义是有规则的:
(1)变量名只能是 字母、数字、下划线
(2)变量名的第一个字符不能是数字
(3)以下关键字不能声明为变量名
['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']

#例子
 常量的定义|大写就代表着常量

PIE = 3
print(PIE)

name = 'xia minjie'
print('My name is :', name)

'''
My name is : xia minjie
'''
# ','将同时打印的多个数据区分开


# 变量赋值

name = 'xia minjie'
name1 = name
print('My name is ', name, name1)
name = 'Deng chuhan'

print(name, name1)
# what is the value of the name1 now
#此处注意变量指向
'''
My name is  xia minjie xia minjie
Deng chuhan xia minjie
'''

这里写图片描述

字符编码

#python3字符集默认支持中文
#'utf-8': en:1bytes | zh:3bytes

用户输入

username = input('username:')
password = input('passwd:')
age = input('Age:')
'''
print(type(age))
input 默认格式是str
只有字符串才能相加,int型不能被想加
'''
job = input('Job:')
salary = input('Salary:')
print(username, password)

# 格式化字符串拼接|忘记拼接(占内存)
info1 = '''
----------info1 of  ''' + username + '''----------
Name:''' + username + '''
Age:''' + age + '''
Job:''' + job + '''
Salary:''' + salary + '''
'''
print(info1)

# 格式化%s输出
info2 = '''
----------info2 of  %s----------
Name:%s
Age:%s
Job:%s
Salary:%s
''' % (username, username, age, job, salary)
print(info2)

# format模式

info3 = '''
----------info3 of {name1}----------
Name:{name2}
Age:{young}
Job:{wa}
Salary:{too}
'''.format(name1=username, name2=username, young=age, wa=job, too=salary)
print(info3)

输入密码密文:getpass模块

import getpass

username = input('username:')
password = getpass.getpass('password:')

# 在cmd中测试|pycharm中不好用

判断账户密码是否正确

import getpass

__username = 'xia minjie'
__password = 'xiamin0099'

username = input('username:')
password = getpass.getpass('password:')

if __username == username and __password == password:
    print('Welcome user {name} login'.format(name=username))
else:
    print('Invalid username or password!')

#IndentationError   表示缩进错误

while实现猜数字

#输入三次之后,询问是否继续猜

age_of_xiaminjie = 21

count = 0
while count < 3:
    guess_age = int(input('guess age:'))  # 字符串和int无法比较|所以必须强制转换
    if guess_age == age_of_xiaminjie:
        print('Yes ,you got it!')
        break
    elif guess_age > age_of_xiaminjie:
        print('think amaller!')
    else:
        print('think bigger!')
    count += 1
    if count == 3:
        ask = input(" 'c' continute else quit: ")
        if ask == 'c':
            count = 0
        else:
            exit(0)


  #continue与break

  [break]  #结束整个循环
  [continue]  #跳出本次循环,进行下次循环


for i in range(0, 10):
    if i < 3:
        print('loop', i)
    else:
        continue
    print('hehe')


        '''
        loop 0
        hehe
        loop 1
        hehe
        loop 2
        hehe
        '''

循环的嵌套

for i in range(10):
    print('----------', i)
    for j in range(10):
        print(j)
        if j > 5:
            break

#总共执行60次|大循环一次,小循环6次

生成.pyc文件

http://www.cnblogs.com/alex3714/articles/5465198.html

.pyc是个什么鬼?
    里面储存的是预编译后的字节码

#简述Python的运行过程

[在说这个问题之前,我们先来说两个概念,PyCodeObject和pyc文件。
我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。
当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。
当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。
所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。]

数据类型初识
(1)数字

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

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**312**31-1,即-21474836482147483647
  在64位系统上,整数的位数为64位,取值范围为-2**632**63-1,即-92233720368547758089223372036854775807
  
  
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中存在小数字池:-5257

(2)布尔值

    真(True)或假(False)
     10

(3)字符串

万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。

字符串格式化输出

name = 'xia minjie'
print('你好:%s'%name)

'''
你好:xia minjie
'''
PS: 字符串是 %s;整数 %d;浮点数%f

字符串常用功能:
移除空白
分割
长度
索引
切片

进制

二进制,01
八进制,01234567
十进制,0123456789
十六进制,0123456789ABCDEF  二进制到16进制转换http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1
计算机内存地址和为什么用16进制?

为什么用16进制
1、计算机硬件是0101二进制的,16进制刚好是2的倍数,更容易表达一个命令或者数据。十六进制更简短,因为换算的时候一位16进制数可以顶42进制数,也就是一个字节(8位进制可以用两个16进制表示)
2、最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用216进制直接就能表达出来,不管阅读还是存储都比其他进制要方便
3、计算机中CPU运算也是遵照ASCII字符集,以163264的这样的方式在发展,因此数据交换的时候16进制也显得更好
4、为了统一规范,CPU、内存、硬盘我们看到都是采用的16进制计算

16进制用在哪里
1、网络编程,数据交换的时候需要对字节进行解析都是一个byte一个byte的处理,1byte可以用0xFF两个16进制来表达。通过网络抓包,可以看到数据是通过16进制传输的。
2、数据存储,存储到硬件中是0101的方式,存储到系统中的表达方式都是byte方式

3、一些常用值的定义,比如:我们经常用到的html中color表达,就是用的16进制方式,416进制位可以表达好几百万的颜色信息。

bytes

msg = '我是小江'

print(msg)
print(msg.encode('utf-8'))
print(msg.encode('utf-8').decode(encoding='utf-8'))

----------
我是小江
b'\xe6\x88\x91\xe6\x98\xaf\xe5\xb0\x8f\xe6\xb1\x9f'
我是小江
----------

这里写图片描述

作业一:编写登陆接口

·输入用户名密码
·认证成功后显示欢迎信息
·输错三次后锁定

import getpass

username_list = ['xia minjie', 'deng chuhan', 'jiang shuying']
password_list = ['xiamin0099', 'dengchu0099', 'jiangshu0099']
username_list_dely = []
count = 0

while count < 3:
    username = input('username:')
    password = getpass.getpass('password:')
    print(username)
    while username in username_list:
        addr = username_list.index(username)

        if password == password_list[addr]:
            print('Yes,%s has login successfully!!' % username)
            break
        else:
            print('Password error!!!')
        break
    else:
        print('%s not exit!!!' % username)
    count += 1
    if count == 3 and username in username_list:
        username_list_dely = username_list_dely.append(username)
        print('deny to login:', username_list_dely)
        exit(0)

作业二:多级菜单

·三级菜单
·可依次选择进入各级子菜单
·所需新知识点:[列表][字典]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值