python第一天

python第一天

编译型与解释型

编译型:一次性编译成二进制,在执行

  • 优点:执行效率高
  • 缺点:不能跨平台,开发效率低
  • 代表语言:C

解释型:逐行解释成二进制,在执行

  • 优点:可以平台,开发效率高
  • 缺点:执行效率低
  • 代表语言:python

变量

    • 变量必须全部由数字,字母和下划线任意组合。
    • 不能以数字开头,不能是python的关键字。
    • 要具有描述性,不能使用中文,不能过长。

常量

  1. python中没有真正的常量,一般常量用大写的变量来表示,通常放到文件的最顶端。

    • 将不变的量设置为常量

    注释:解释说明,在关键的地方,和难以理解的地方加上注释,以防日后忘记。

基础数据类型

int数字 1,2,3,4,5,6,7

str字符串 fasdasd中国

bool布尔值 True False

用户输入input

name = input('>>>')
print(type(name))

if用法

  • if 条件:
  • if else:
  • if elif elif.......
  • if elif elif ....else
  • if 嵌套

while 循环

  • whlie无线循环
  • 基本结构
while True:#True条件判断
	print('123')
    print('你好')
    print('177')
  • 循环如何终止?
  1. 改变条件

    flag = True
    while flag:
        print('狼的诱惑')
        print('我们不一样')
        print('月亮之上')
        flag = False
        print('庐州月')
        print('人间')
    
  2. break终止此次循环,并且不在打印后面的东西循环后面的东西

 while True:
     print('狼的诱惑')
     print('我们不一样')
     print('月亮之上')
     break
     print('庐州月')
     print('人间')
 print(111)
  1. continue退出本次循环继续下一次循环
flag = True
      while flag:
          print(111)
          print(222)
          flag = False
          continue
          print(333)
  # while else: while 循环如果被break打断,则不执行else语句。
  count = 1
  while count < 5:
      print(count)
      if count == 2:
          break
      count = count + 1
  else:
      print(666)
  • 考虑到需要重复之前的动作,输入用户名密码,考虑到while循环

格式化输出%

  • %s字符串 %d数字
name = input('请输入你的姓名')
age = input('请输入你的年龄')
job = input('请输入你的职业')
msg = '''------------ info of %s-----------
Name  : %s
Age   : %s
job   : %s
------------- end -----------------''' %(name,name,int(age),job)
print(msg)

要对应,不对应就报错了,单个%代表的是占位符

运算符

  1. 算数运算 + - * /
  2. 比较运算 > < ==
  3. 赋值运算 = 、
  4. 逻辑运算 and or
  5. 成员运算符
#算数运算符
print(2 ** 3)#次方
print(10 // 3)#取整除 - 向下取接近除数的整数
print(10 % 3)#取余数
#比较运算符
a = 10
b = 20
(a == b) 返回 False。
(a != b) 返回 True。
(a > b) 返回 False。
(a < b) 返回 True。
(a >= b) 返回 False。
(a <= b) 返回 True。
#python逻辑运算符
a = 10
b = 20
print(a and b)#20  如果a是Flase则返回b的值     数字非零及True
print(a or b)#10 如果a是Ture则返回b的值   和上面正好相反
print(not(a and b))#a是Ture返回Flase,如果a是Flase返回True
优先级:not > and > or
#成员运算符
s1 = [1,2,3,4,5]
print(1 in s1)
print(6 in s1)  #判断是否在里面
s1 = [1,2,3,4,5]
print(1 not in s1)
print(6 not in s1)#判断是否不再里面

数据类型的转换

# str ---> int  : 只能是纯数字组成的字符串
s1 = '00100'
print(int(s1))
# int ----> str
i1 = 100
print(str(i1),type(str(i1)))

# int  ---> bool  : 非零即True ,0为False。
i = 0
print(bool(i))
# bool ---> int
print(int(True))  # 1
print(int(False))  # 0

编码

  • ​ ASCII码:只包含:英文字母,数字,特殊字符。

    0000 0001 : a

    0000 0101 : ;

    8bit == 1byte

    'hello123': 8byte

  • gbk: 英文字母,数字,特殊字符和中文。国标

    一个英文字母: 0000 0001 : a

    一个中文 中: 0000 0001 0100 0001 : 中

  • Unicode: 万国码:把世界上所有的文字都记录到这个密码本。

    ​ 起初一个字符用2个字节表示:

    0000 0001 0000 0011: a

    0000 0001 0100 0001 : 中

    后来为了涵盖全部文字:

    0000 0001 0000 0011 0000 0001 0000 0011: a

    0000 0001 0100 0001 0000 0001 0000 0011 : 中

  • Utf-8:升级:最少用8bit1个字节表示一个字符。

    ​ 0000 0011: a 1字节

    ​ 0000 0011 0000 0011 欧洲 2个字节

    0000 0011 0000 0011 0000 0011 中: 3个字节。

    单位

    8bit = 1byte
    1024byte = 1KB
    1024KB = 1MB
    1024MB = 1GB
    1024GB = 1TB
    1024TB = 1PB
    1024TB = 1EB
    1024EB = 1ZB
    1024ZB = 1YB
    1024YB = 1NB
    1024NB = 1DB  
    
    
posted @ 2020-01-06 16:04  幻海梦蝶  阅读(83)  评论(0编辑  收藏  举报