Python之路(二)Python基础

2020-01-17 11:28:00 浏览数 (1)

执行

  • Windows
代码语言:javascript复制
方式一
D:Pythonpython.exe D:Python17DAY01Helloworld.py

方式二
D:Pythonpython.exe
  • Linux
代码语言:javascript复制
方式一
[root@linux-node1 ~]# /usr/bin/python Helloworld.py

方式二
[root@linux-node1 ~]# python

方式三
[root@linux-node1 ~]# vim Helloworld.py
#!/usr/bin/python       // 增加头部信息
# -*- coding:utf8 -*-   // 解释器编码
print('Hello Python!')
[root@linux-node1 ~]# chmod  x Helloworld.py        // 增加可执行权限
[root@linux-node1 ~]# ./Helloworld.py

编码

  • 字符编码

计算机从本质上来说只认识二进制中的0和1,可以说任何数据在计算机中实际的物理表现形式也就是0和1,所有的信息最终都表示为一个二进制的字符串,每一个二进制位(bit)有0和1两种状态。

  • ASCII

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)编码规则是由美国定制,一共规定了128(2**8)个字符的编码,例如空格SPACE是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。

  • GB2312、GBK

虽然计算机是美国人发明的,但是全世界的人都在使用计算机。现在出现了另一个问题:如何让中文被计算机理解?这下麻烦了,中文不像拉丁语系是由固定的字母排列组成的。ASCII 码显然没办法解决这个问题,为了解决这个问题中国国家标准总局1980年发布《信息交换用汉字编码字符集》提出了GB2312编码,用于解决汉字处理的问题。GB2312的出现,基本满足了汉字的计算机处理需要,但对于人名、古汉语等方面出现的罕用字,GB2312不能处理,导致后来出现了GBK编码。

  • Unicode

随着计算机的普及,显然ASCII码无法将世界上的各种文字和符号全部表示,所以诞生了Unicode编码。 Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号最少由16位来表示(2个字节)。

  • UTF-8

由于Unicode收录了更多的字符,可想而知它的解析效率相比ASCII码的速度要大大降低,原因是Unicode通过增加一个高字节对ISO Latin-1字符集进行扩展,当这些高字节位为0时,低字节就是ISO Latin-1字符。对可以用ASCII表示的字符使用Unicode并不高效,因为Unicode比ASCII占用大一倍的空间,而对ASCII来说高字节的0对他毫无用处。为了解决这个问题,就出现了UTF-8编码。UTF-8可以根据不同的符号自动选择编码的长短,例如英文字母可以只用1个字节就够了。

  • 编码小结
  1. 为了处理英文字符,出现了ASCII编码。
  2. 为了处理中文字符,出现了GB2312编码。
  3. 为了处理各国字符,出现了Unicode编码。
  4. 为了提高Unicode存储和传输性能,出现了UTF-8编码。

注释

  • 单行注释

#常被用作单行注释符号,在代码中使用#时它右边的任何数据都会被忽略,当做是注释。

代码语言:javascript复制
# 如下是单行注释
# print('Hello Python!')
  • 多行注释

多行注释是用三引号""" """包含的。

代码语言:javascript复制
# 如下是多行注释
"""
print('Hello Java!')
print('Hello PHP!')
"""

引号

  • 单引号
代码语言:javascript复制
a = '谁说我的眼里只有你,让我把你忘记!'
print(a)
// 单引号字符串
  • 双引号
代码语言:javascript复制
a = "谁说我的眼里只有你,让我把你忘记!"
print(a)
// 双引号字符串
  • 三引号
代码语言:javascript复制
a = '''谁说我的眼里只有你,让我把你忘记!'''
print(a)
// 三单引号字符串,支持换行符

a = """谁说我的眼里只有你,让我把你忘记!"""
print(a)
// 三双引号字符串,支持换行符

变量

  • 定义
代码语言:javascript复制
a = '谁说我的眼里只有你,让我把你忘记!'
print(a)
// 变量名为:a,变量a的值为:'谁说我的眼里只有你,让我把你忘记!'
  • 命名规则
  1. 字母,数字,下划线组成
  2. 不能以数字开头
  3. 不能使用关键字
  4. 变量名见名知义
  • 赋值
代码语言:javascript复制
name = '林斌'
user = name
// 变量name,user在内存中指向同一段地址

name = '林斌'
user = '林斌'
// 变量name,user在内存中指向同一段地址,Python的内存优化机制

name = '大师兄'
print(name)     // 打印大师兄
user = name
print(user)     // 打印大师兄
name = '二师兄'
print(name)     // 打印二师兄
print(user)     // 打印大师兄

输入输出

  • 输入
代码语言:javascript复制
name = input('请输入用户名:')
print(name)

import getpass
password = getpass.getpass('请输入你密码:')
print(password)
  • 输出
代码语言:javascript复制
a = 'Hello Python!'
print(a)

条件语句

  • 单分支结构
代码语言:javascript复制
if 1 == 1:
    print('条件正确')

if 1 == 1:
    print('条件正确')
else:
    print('条件错误')
  • 多分支结构
代码语言:javascript复制
name = input('请输入用户名:')
if name == 'linbin':
    print('超级管理员')
elif name == 'LinBin':
    print('管理员')
elif name == 'LB':
    print('普通用户')
else:
    print('匿名用户')
  • 嵌套结构
代码语言:javascript复制
name = input('请输入用户名:')
if name == 'linbin':
    password = input('请输入密码:')
    if password == 'axbc1kof':
        print('登录成功!')
    else:
        print('登录失败!')
else:
    print('你是谁啊?')

循环语句

  • while

在给定的判断条件为True时执行循环体,否则退出循环体。

continue:跳出本次循环,继续下一次循环 break:跳出整个循环

代码语言:javascript复制
i = 0
while i < 11:
    print(i)
    i  = 1
  • for

重复执行语句。

continue:跳出本次循环,继续下一次循环 break:跳出整个循环

代码语言:javascript复制
a = ['a','b','c','d']
for item in a:
    print(item)

其它

小试牛刀

打印1,2,3,4,5,6,8,9,10

代码语言:javascript复制
i = 1
while i < 11:
    if i == 7:
        i  = 1
        continue
    print(i)
    i  = 1

计算1-100之和

代码语言:javascript复制
i = 1
sum = 0
while i < 101:
    sum  = i
    i  = 1
print(sum)

打印1-100奇数

代码语言:javascript复制
i = 1
while i < 101:
    if i % 2 == 1:
        print(i)
    i  = 1

计算1-100奇数之和

代码语言:javascript复制
i = 1
sum = 0
while i < 101:
    if i % 2 == 1:
        sum  = i
    i  = 1
print(sum)

打印1-100偶数

代码语言:javascript复制
i = 1
while i < 101:
    if i % 2 == 0:
        print(i)
    i  = 1

计算1-100偶数之和

代码语言:javascript复制
i = 1
sum = 0
while i < 101:
    if i % 2 == 0:
        sum  = i
    i  = 1
print(sum)

计算1-2 3-4 5......99结果

代码语言:javascript复制
i = 1
sum = 0
while i < 100:
    if i % 2 == 1:
        sum  = i
    else:
        sum -= i
    i  = 1
print(sum)

用户登录(三次机会重试)

代码语言:javascript复制
count = 0
while count < 3:
    import getpass
    name = input('请输入用户名:')
    password = getpass.getpass('请输入密码:')
    if name == 'linbin' and password == 'axbc1kof':
        print('登录成功!')
        break
    else:
        print('登录失败!')
        count  = 1

0 人点赞