python1.1数据类型+变量+输入输出+if

1 编码

  1. 计算机本质存储的概念是二进制编码格式 也就是0000000111111

  2. 为了能够在操作系统上显示字母和特殊,制作了ASIIC字符编码,每一个字符所对应的二进制格式都是不同的

  3. 不同国家的语言制作了不同语言的字符编码所对应的二进制格式,操作系统才能显示不同的文字语言。

  4. 常见的字符编码是 UTF-8 GBK 等

  5. 保存文件时使用的UTF-8编码,那就打开文件时就要用UTF8编码打开,才能一一对应,否则乱码。

    思考题:通过键盘输入的字母,以文件的形式保存在硬盘上后,这个经历了什么过程?

  • 手动指定字符编码

    # 指定代码的编码格式
    # -*- coding=gbk -*-
    

1.print的功能

# print 的功能是打印输出的结果。
print("哈哈哈哈")



打印代码输出的结果
print("哈哈哈哈")
print("哈哈哈哈")
print("哈哈哈哈")
print("哈哈哈哈")
print("哈哈哈哈")
print("哈哈哈哈")

输出的结果'''
哈哈哈哈
哈哈哈哈
哈哈哈哈
哈哈哈哈
哈哈哈哈
'''
  • 正常print的默认输出结果是带有换行符的 也就是 \n
  • 如果想把输出的结果,排成一行,需要加上end=“”
print("哈哈哈哈",end="")
print("哈哈哈哈",end="")
print("哈哈哈哈",end="")
print("哈哈哈哈",end="")
print("哈哈哈哈",end="")
print("哈哈哈哈",end="")
输出的结果'''
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
'''
  • 扩展
    • print end=“” 代表不带任何结尾符
#  \n  换行符
#  \r  回车

for i in range(5):
    print(i) # 输出的每一行的内容,默认是带换行符的
    print(i,end="")  #加上参数 end ,就是取消了 换行符的功能,那么输出的内容就在一行上面显示了


# print(aa,end="")

print练习题

  1. 使用print输出自己的姓名

    print("stone")
    
  2. 使用print输出
    春眠不觉晓,
    出处闻啼鸟,
    夜来风雨声,
    花落知多少。

    print("春眠不觉晓,")
    print("出处闻啼鸟,")
    print("夜来风雨声,")
    print("花落知多少。")
    
  3. 是用print输出
    春眠不觉晓,出处闻啼鸟,夜来风雨声,花落知多少。

    print("春眠不觉晓,",end="")
    print("出处闻啼鸟,",end="")
    print("夜来风雨声,",end="")
    print("花落知多少。",end="")
    

2 数据类型

2.1 数字

 ```python
 1、数字类型
    1、整形类型 int
       作用: 记录个数 ,数值,年龄 月份 高 宽 游戏等级
 
    2、浮点型  float 小数的意思
    x = 1.1
    作用是  记录 身高 体重
 
    整型  和 浮点型 可以相互 运算
    作用 :  数学运算  数值比较
 ```
  • 表示常识性数字 数字一般就是运算

    1. 数字在代码中直接使用,整型数字 没有引号就是数字

    2. 作用 加减乘除等数字运算

      print(123)
      print(123 + 456)
      print(123 - 111)
      print(55 * 2)  # 乘法
      print(2 ** 2)  # 乘法 平方
      
      print(100 / 2) # 除法
      print(122 % 2) # 除法 取余数
      
      地板除??
      
      取余数  测试奇偶的作用
      res = 19 %2
      print(res)
      返回 0 就是偶数
      返回 1 就是奇数
      
    3. 判断一个数值的属性

      aa = 33
      print(type(aa))
      

2.2 字符串

字符串的定义
  • 必须用双引号 或者单引号 括起来 比如 "123" '123' '''123'''

  • 变量 先定义 后使用。

  • 变量的定义 Variable = "123"

    # 字符串 (单双引号,都代表 字符串)
    aa = "33"
    print(type(aa))
    aa = '33'
    print(type(aa))
    
  • 三个引号代表是字符串

    print('''aaaa''')
    
    print('''aaaa
    bbbb
    cccc
    ''')
    
  • 字符串的 加 和乘

    字符串的加法 等于两个或者N个字符串的拼接
    print("春眠不觉晓 " + "出处闻啼鸟 " + "夜来风雨声 " + "花落知多少 ")
    
    print("字符串的重复出现N次进行的拼接!"*3)
    
    print("字符串的重复出现N次进行的拼接!\n"*3) 
    # 使用前面学到的 print的end参数 也可以添加换行符
      
    print("字符串的重复出现N次进行的拼接!"*3,end="\n")  
    函数内执行3次 和函数执行3次,含义是不一样的。
    
  • 字符串的分割使用

    time = time.strftime('%Y:%m:%d:%H:%M:%S').split(":")
    # 使用split  以冒号为分割符,返回为一个列表
    print(time)
    
  • 字符串的长度计算 len函数

    str = "abcdefghij"
    print(len(str))
    结果: 10
    

2.3 布尔类型(bool)

True  False

作用: 记录真假的两种状态

x = 10
any = 20

type(x==any)
print(type(x==any))


print(1>2)
print(1<2)


a=1
b=2
print(a>b)
print(a<b)
  • 不同数据类型比较 只可以 比较是否等于 不可以进行大小比较

    print(1 == 'aaa')
    print(1 > 'aaa')
    
    

3 数据类型的转换

  • 整数使用int表示
  • 字符串使用str表示
  • 布尔使用bool 表示
  • 不同数据的转换遵循一个原则:想转换什么类型就用什么类型包裹起来。
  1. 转换成整形

    # 字符串数字转换成整形
    
    print(int("666") + int("888"))
    
    a = "666"
    b = "888"
    
    print(int(a) + int(b))
    
    print("666" + "999")  # 字符串的相加是拼接了
    
    # 字符串字符不能转换成整形 int 只能渡可度之人
    # print(int("aaa")+int("bbb")) # 直接报错了
    
    
    # 布尔类型转换成整形
    print(int(False))  # 等于0
    print(int(True))   # 等于1
    
  2. 转换成字符串

    # 整形转字符串
    
    print(str(11)+ str(12))
    
    # 布尔转字符串
    
    print(str(False))
    print(str(True))
    
  3. 转换成布尔类型

    # 整型转布尔
    
    print(bool(0))  #除了0 转换成布尔后是False  其他整形全部是True
    print(bool(1))
    print(bool(-1))
    
    # 字符串转布尔
    print(bool("")) # 除了空值转换成布尔后是False  其他字符串全部是True
    print(bool(" ")) # 空格也是True
    print(bool("a"))
    print(bool("**…………%%"))
    
    
    
    
  4. 转换总结

    • 其他类型转换成布尔 ,除了空字符串和0 ,其他都是True
    • 字符串转换成整形,只有数字形式的字符串才可以转换
    • 想要转换那种字符类型,就要类型关键字包裹
    • 真-真等于真 假假等于真 真假=假

整型练习题

  1. 计算整型50乘以10再除以5的商并使用print输出。

    print((50 *10) / 5)
    
  2. 判断整型8是否大于10的结果并使用print输出。

    print(8>10)
    
  3. 计算整型30除以2得到的余数并使用print输出。

    print(30%2)
    
  4. 使用字符串乘法实现 把字符串”我爱我的祖国”创建三遍并拼接起来最终使用print输出。

    print("我爱我的祖国"*3,end="")
    
  5. 判断 字符串”wupeiqi”和”alex”是否相等的结果并使用print输出。

    print("aaa"=="bbb")
    
  6. 判断 整型666和整型666是否相等的结果并使用print输出。

    print(666==666)
    
  7. 判断 字符串”666”和整型666是否相等的结果并使用print输出。

    print("666"==666)
    
  8. 看代码写结果(禁止运行代码):

    print( int("100")*3 )  
    300
    print( int("123") + int("88") )
    211
    print( str(111) + str(222) )
    "1112222"
    print( str(111)*3 )
    "111111111"
    print( int("8") > 7 )
    True
    print( str(111) == 111 )
    False
    print( bool(-1) )
    True
    print( bool(0) )
    False
    print( bool("") )
    False
    print( bool("你好") )
    True
    print( True == True)
    True
    print( True == False)
    False
    print( bool("") == bool(0) )
    True
    

注意:类型转换不是改变原来值,实际在底层是新创建了一个值。例如有整数 6 ,然后使用 str(6) 转化了一下得到 “6”,实际上这个字符串”6”是依据整数6新创建的。

5 变量

说变量的概念必须要说变量的载体是硬件存储设备 内存

  • 什么是变量
  • 为什么要有变量
  • 怎么用变量

一、什么是变量?

记录事物的状态,并且状态是可以变化的

使用变量名绑定一个内存地址,把数据存到内存地址所在的存储空间内

存储空间的模型 = 数据存放的形式= 人为定义的类型,被语法所识别。

二 、为什么要有变量

为了让计算机能够像人一样记忆事物的状态,并且状态是可以变化的

python中的数据类型有以下几个类型
字符串 str
数字 int
列表 list
字典 dict

不同的数据类型有不同的存放数据结构

三、怎么用变量

  • 变量定义的3个组成部分
  • 变量名 管理一个房间的地址,用来找到变量值得
  • 赋值符号 把房间的地址绑定给变量名
  • 变量值 就是 我们记忆的状态或者数据

1 变量名的命令规范

  • 2.1大前提 变量名的规范应该是见名知意
  • 2.2 规范: 字母 数字 下划线 组成 (单纯的 特殊字符也可以当做变量名使用)
  • 2.3不能以数字开头
  • 2.4 不能以python的关键字命名 ,python 关键字使用wordkey 函数 可以显示
import keyword

print(keyword.kwlist)

['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']
变量名的命名风格
(1)纯小写+下划线(变量名推荐)
    age_of_oldboy = 73
(2)驼峰体
    AgeOfOldboy = 73


常量的概念

1、python中没有常量的概念 使用驼峰写法 定义常量

GuessDang = 22 #数字类型

GuessDang = "22" # 字符串类型

  • 变量名在等号的左边代表 ,代表赋值操作
  • 变量名只要不在等号的左边代表 ,代表取值值操作
赋值操作
age = 20
取值操作
res = age + 1
print(res)
age  没有关联到内存地
语法上没有错误 逻辑上错误
引用变量值

print(name)
img

变量值得两大特征

# 变量的ID 相等 ,变量的值一定相等
# 变量的值 相等,,ID可能相等,也可能不相等

id 反应的是内存的地址
# (1) id:反映的是内存地址
# x=10
# y=x
# y="aaaa"
#
# print(id(x))
# print(id(y))

# is判断的是id是否相等
# 例1
# x=1111
# y=2222
# print(x is y)

# 例2
# x=1111
# y=x
# print(x is y)

# ==判断的是值是否相等
# name1="egon"
# name2="egon"
# print(name1 == name2)

# 强调1:id如果相等,值一定相等
# 强调2:id如果不相等,值有可能相等
重复定义变量名,更改内存地址ID
aa = "33"
aa = "44"
print "aa"
打印变量aa的内容
type 事物状态的不同的值的表达方式
x=10
print(type(x))

name="egon"
print(type(name))

2 变量的各种使用

使用场景:怎么查看数据的类型
print(type(a))
使用场景:怎么查看变量的指向的地址是否一样
a = 10
b = a
print(a+b)

使用场景:怎么查看变量id

aa =10
bb =11
print(aa is bb)
使用场景:变量的读操作:
aa = "33"
print "aa"
# 打印变量aa的内容
使用场景:打印两个变量名的内容,用一个print打印出来
a="aaaa"
b= "bbbb"
print(a,b) # 使用 , 逗号分隔输出内容,有一个空格 aaa bbb
print(a+b) # 使用 + ,输出中没有空格。 aaabbb


3 常量的概念

1、python中没有常量的概念 使用驼峰写法 定义常量

GuessDang = 22 #数字类型

GuessDang = "22" # 字符串类型

6 注释的使用

单行注释规范的写法 对不想运行的代码,暂时取消代码运行

print("hell ") # 这个是显示hell

多行注释 通常在代码的第一行,对整个文件的解释说明

'''
这个程序是爬虫功能
'''

7 输入

input 函数配合变量格式化输出的使用

输入函数 input , 在交互式中输入的值 要赋值给变量名 ,任何输入的值都是str 字符串的类型

  • strip() 函数的作用是删除输入数据 字符头 和字符尾空格使用的。
  • lstrip() 只删除头部空格
  • rstrip() 只删除尾部空格

代码

name = input("ple key name :").strip()
print(name)

8 if 语句

分支控制,根据条件判断走哪条路而已

  1. 语法形式 单条件判断 和多条件判断
if 判断的完整语法
   缩进同样空格数的代码 为 代码块

if  条件: # 碰到冒号缩进4个空格

if 条件1:
    代码1
    代码2
elif条件2:
    代码1
    代码2
else:
    代码1
    代码2
含有多个代码块的,但是只能执行一个代码块
  1. 判断的语句 if
# 1、单步判断:
_name = "aaa"
_password = "123456"

name = input("name:")
password  = input("password:")

if name == _name and password == _password:
    print("wellcome {name} login .".format(name=name))
else:
    print("error name or password")

1、重复判断:
GuessDang = "22"
guess = input("guess_dang : ")

if guess == GuessDang:
    print("you very good!")
elif guess > GuessDang:
    print("you key big!")
else:
    print("you key small")
  1. 添加了数据类型的转换
如果给常量 取消了“” 双引号,那么必须要给你输入的数字

强制转换成 int 整数。

GuessDang = 22
guess = int(input("guess_dang : "))

if guess == GuessDang:
    print("you very good!")
elif guess > GuessDang:
    print("you key big!")
else:
    print("you key small")


# 成绩 90分以上 显示优秀
# 成绩 大于 等于80分 小于90  显示良好
# 成绩 大于等于 60  小于80 显示及格
# 成绩 小于60  显示  不及格

num_ber = input("请输入你的成绩分数:")

num_ber = int(num_ber)

if num_ber >89:
    print("优秀")
elif num_ber > 79:
    print("良好")
elif num_ber > 69:
    print("及格")
else:
    print("不及格")
    
    

应用

# 写一个判断 输入的用户名和密码是否正确的逻辑关系

username = "zhangsan"
password = "123456"

_username = input("username:")
_password = input("password:")


if _username == _username and _password == password:
    print("Welcome user {name} login ...".format(name=_username))
else:
    print("Error!! please input again")

if 练习题

提示用户输入用户名和密码,用户名等于 stone 且密码等于 aaa  就输出登陆成功 ,否则输出登陆失败
uesr = "stone"
password  = "aaa"
key_user = input("please key you are name:")
key_password = input("please key you are password:")

if key_user== uesr and key_password == password:
    print(key_user+" 欢迎登陆!")
else:
    print("用户或者密码错误")




猜数字,提示用户输入一个数字,判断数字如果大于10 就输出猜错了,否则输出才对了

number = 10

key_number = input("Please key number:")

if int(key_number) > number:
    print("猜对了")
else:
    print("猜错了")



提示用户输入一个数字,判断是否为偶数,是偶数则输出 偶偶数 ,否则输出 奇奇奇数

key_number = input("Please key number")

if (int(key_number) %2) >0:
    print("奇奇数")
else:

    print("偶偶数")

if 条件嵌套

if 条件1:
   if 条件1:
  		 ....
   else:
   		...
   
else:
   if 条件1:
   		....
   else: 
   		...
   
   

课程总结

1、编码的的内容

  • 字符编码是人和计算机沟通的一种文字翻译表,其中ASCII表最为通用的
  • 常用字符编码 包括 gbk utf8 等等
  • 文件以utf8编码保存,打开文件必须也utf8编码打开 否则是乱码
  • 在python 代码中 # -- coding=utf-8 -- 指定字符编码

2、 print打印函数

  • 功能是 输出结果打印到屏幕上。
  • print 默认结束是换行 \n
  • end="" 空值代表 不换行
  • end=“\r” 代表回车

3、 数字类型

  • 表达数量的数据类型
  • 有整型 int 和浮点类型float
  • 主要是 + - * / % 取余数

4、字符串

  • str代表 ,用双引号 或者单引号 包裹
  • 可以进行字符串拼接 和字符串相乘

5、布尔类型 bool

  • 作为判断使用
  • 只有True False 两种状态

6、数据类型转换

  • 数字转字符 str(123)
  • 字符转数字 int("123") 只能转数字形式的字符串,其他不能转换
  • 数字转布尔 bool(0)是False 其他都是True 字符串转布尔 bool("") 空值是False其他都是Ture
  • “666” == 666 等于false Ture == False 等于False

7、变量

  • 变量定义表示事物的状态的载体,且状态是可变化的
  • 变量命名规范 1、见面知意 2、不能使用关键字 不能以数字 特殊字符开头 3、以小写字符加下划线命令 或者驼峰体
  • 变量名 赋值符号 变量值 ,变量名只要不在赋值符号左边,就是取值操作。
  • 变量的id相等 ,变量值一定相等,变量的值相等,变量的id 可能相等,也可能不相等

8、 if判断

  • 单循环判断 和嵌套循环判断

  • 缩进统一是4个空格

posted @ 2021-08-10 16:03  mmszxc  阅读(169)  评论(0)    收藏  举报