18/04/27 基础数据类型

  1.基础数据类型

    1.1 数字  int  :主要用于计算

    1.2 布尔值  bool :布尔值就两种(True 真 1 ,False 假 0 )就是判断反应条件的正确与否。

    1.3 字符串 str :通俗的话来说就是引号引起来的就是内容:a = '内容'

  2. 格式化输出

    现在有一需求,问用户的姓名、年龄、工作、爱好,然后打印成以下格式

------------ info of Alex Li -----------
Name : Alex Li
Age : 22
job : Teacher
Hobbie: girl
------------- end -----------------

 有两种方法:

第一种采用占位符 %占位符【%s:字符串形式】【%d:数字形式】

你只需要把需要打印的格式先准备好,由于里面的信息是需要用户输入的,所以你没办法预知,因此可以先放个位置占位符,再把字符串里的占位符与外部变量做个映射关系就好了

mingpian = '''
------------ info of %s -----------
Name : %s
Age : %d
job : %s
Hobbie: %s
------------- end -----------------
'''%( '张帅','张帅',56,'农民工','')         #在里面添加你需要的信息  ***有几个未知数就填几个信息
print(mingpian)

name = input('姓名')
age = int(input('年龄'))
job = input('工作')
Hobbie = input('爱好')
info = '''
------------ info of %s -----------
Name : %s
Age : %s
job : %s
Hobbie: %s
------------- end -----------------
''' %(name , name , age , job , Hobbie)    #这行的%就是把前面的字符串与括号后面的变量关联起来
                                        # 第一行的%s就是一个占位符,它代表的是 name
 #三个引号引起来的功能很强大,它可以表示注释,如果前面有类似“info”的就代表文本,且是换行的文本@@@@ 在这样的文本中不能在注释了@@@@
print(info)
View Code

###除了%s代表字符串占位符,还有%d,他是数字占位符,如果把上面age后面的换成%d,就代表只能输入数字了

扫描二维码关注公众号,回复: 1390299 查看本文章

###  input  接收的所有输入都默认为字符串格式想要转换成数字 可以  age = int(input(‘年龄’))

msg = "我是%s,年龄%d,目前学习进度为80%"
print(msg)

%('金鑫',18)

###注意80%中的%  不是占位符,那该怎样向python解释器解释这是一个单纯的% 而不是占位符呢

     答:在80%后面再加一个%  即: 80%%

第二种方法:采用字典(dic)

dic(字典) = { 'name':'老男孩', 'age':56, 'job':'老板','hobbie':''}
mingpian = '''
------------ info of %(name)s -----------
Name : %(name)s
Age : %(age)d
job : %(job)s
Hobbie: %(hobbie)s
------------- end -----------------
'''%dic
print(mingpian)

得到的结果是
------------ info of 老男孩 -----------
Name : 老男孩
Age : 56
job : 老板
Hobbie: 钱
------------- end -----------------

  3.基本运算符  

    3.1 算术运算

设 : a = 10 ,b = 20

    3.2比较运算

设: a = 10 ,b = 20

一个等号“=”是赋值;两个等号“==”是比较【比较是否相等】

    3.3逻辑运算

       3.3.1  逻辑运算符

  1)第一种情况:逻辑运算符前后都是比较运算。
    #优先级概念:()> not > and > or ,同一优先级从左向右依次计算。
  2)第二种情况 逻辑运算符前后都是数字
    #【or】:X or Y 若X为真,则输出X。 若X为假,则输出Y 【and】相反  或1得1,与0得0
    #数字与bool之间的转换
      int---> bool 为零为True ,else为False。
      bool---> int True为1
【思考题】:
print(2>1 and 4 or 5) 为多少

计算 

    3.3.2

在python中输入  :  bool(除0以外的任意数字) 都会得 True   

          bool(0) 会得 False  

so:

  并得出总结:或1得1,与0得0 (这里的“1”与“0”是真假的意思)

    3.3.3  数字与bool值的转化

 数字 转 bool 非零的即为真

                      bool 转 数字 真为1 True  假为0 False

    4.ascii  unicode  gbk

每个计算机都有一个密码本  【密码本:二进制与字符的对照表】

在计算机诞生之初 就有 ascii (初级密码本) 包含内容 :特殊字符,数字,字母。 

  0000 0001  8位 == 1 字节  1 字节表示一个字符。

    【8位中的第一位是预留位,都是0】

  字符:组成内容的最小单元。

    例如:asd :“a”“b”“c”就是组成“abc”的最小单元

       中国:“中”或“国”字就是组成“中国”的最小单元

万国码:unicode

    创建初期 16 位 即 两个字节表示一个字符

      a : 0000 0000 0000 0001

      中 :0110 1000 0010 0000

    升级: 32 位 即四个字节表示一个字符

      a : 0000 0000 0000 0000 0000 0000 0000 0001

      中:1010 1000 1010 1010 1111 0000 0000 1001

      这样会造成资源的浪费

对unicode升级 : utf-8。

    utf-8:最少用8位数表示一个字符

       a:0000 0001 (字母用1个字节表示)

       欧洲文字: 0000 0000 0000 0001 (用两个字符表示)

       亚洲文字(中):0000 0000 0000 0000 0000 0001 (用三个字符表示)

中国针对unicode进行改良 : gbk(国家标准)与utf-8 完全没有关系

           a :0000 0001 (字母用一个字节表示)

        中:0000 0000 0000 0001 (用两个字符表示)

8 位 (bit) = 1 字节 (byte)

1024 byte = 1 KB

1024 KB = 1 MB

1024 MB = 1 GB

1024 GB = 1TB

猜你喜欢

转载自www.cnblogs.com/songzijian/p/8962917.html
今日推荐