三.基本数据类型,输入输出,基本运算符

一.基本数据类型

(1)数字类型

数字类型可以进行数学运算以及比较运算,但仅限于数字类型之间进行

1.整型int

作用:记录年龄,等级,号码等状态

定义与使用

age = 999
level = 10
qq = 3838338

res = age * 1
print(res)     # 输出 999
print(age != 10)  # 输出True

2.浮点型float

作用:记录薪资,身高,体重等状态
定义与使用

salary = 3.3
print(salary,type(salary)) # 输出3.3 <class 'float'>

print(3.3 + 1) # 输出4.3
print(3.3 >= 1) # 输出True

print("abc" > 1) #报错,不能混用

(2)字符串str

作用: 记录一些描述性的状态,比如名字,性别,消息等
定义与使用:在双引号或者单引号内或三引号内(’’’’’’,"""""")定义的一组字符称之为字符串

msg = "一行白鹭上青天"
msg1 = '一行白鹭上青天'
msg2 = '行一白鹭上青天'
msg3 = '行 1&*一白鹭上青天'
msg4 = '行'
print(msg4,type(msg4)) # 输出 行 <class 'str'>

msg5 = """
aaa
bbbb
cccc
"""
print(type(msg5)) # 输出 <class 'str'>

# 引号的嵌套
msg = "my name is 'egon'"
print(msg)  #输出 my name is 'egon'

gender = "male"
gender = 1
gender = 0

总结:
单引号,双引号:只是单行内容
三引号: 可以是多行内容
引号嵌套:
内层单引号,外层用双引号
内层双引号,外层用单引号

了解:字符串类型也可以进行数学运算以及比较运算,但仅限于字符串类型之间进行

数学运算: 字符串只能做 + , *

print("abc" + " " + "def") #字符串的相加是一个拼接操作,效率极低
print("abc"*10)
print("#"*50)
print('hello')

(3)列表list:索引对应值,索引从0开始

作用:按顺序存放多个值,并且能够按顺序取出来单独的一个值
定义与使用: 在[ ]内用逗号分隔开多个任意类型的值

hobbies = "play music read"

                 0      1       2
egon_hobbies = ["play","music","read"]
print(egon_hobbies[0])  #输出 play
print(egon_hobbies[1])  #输出 music
print(egon_hobbies[2])  #输出 read
print(egon_hobbies[-1]) #输出 read

 0      1      2                3   
l = [111,333.3333,"abc",[44444,5555,6666,["aaa","bbb"]]]
print(l[2])      # 输出abc
print(l[3][0])   # 输出44444
print(l[3][-1])  # 输出['aaa', 'bbb']
print(l[3][3][0]) # 输出aaa

练习题1:存放一个人信息(名字,年龄,多个爱好)

egon_info = ["egon",18,["play","movie"]]

练习题2:存放多个人信息(名字,年龄,多个爱好)

info = [
    ["egon1", 18, ["play", "movie"]],
    ["egon2", 19, ["read"]],
]
print(info[1][2][0])

names=["egon","张三","李四"]
salaries=[1.1,2.2,3.3]

         0    1   2     3  4  5 6
info=["egon",18,"male",19,10,11,12]
print(info[-1])

总结:列表适合存储单一属性的值

(4)字典dict

作用:存放多个值,用key对应值,key通常为字符串类型
定义与使用: 在{ }内使用逗号分隔开多个key:value,其中value 可以是任意类型

info = {"name":"egon","age":18,"gender":"male","hobbies":["play","music"]}
print(info["name"])  #输出egon
print(info["age"])   #输出18

print(info["hobbies"][1])  #输出music

练习题:存放多个人信息(名字,年龄,多个爱好)

info = [
    {
        "name": "egon1",
        "age": 18,
        "level": 10,
        "hobbies": ["play", "movie"]

    },
    {
        "name": "egon2",
        "age": 19,
        "level": 11,
        "hobbies": ["read"]
    },
]

print(info[1]["level"])  #输出11

(5)布尔类型:只有2个值True和False

可以自己定义布尔值

tag = True
print(tag,type(tag))  #输出True <class 'bool'>

通过比较运算得到布尔值

print(10>3)   # 输出True
print("egon" == "egon") #输出True

布尔值用于条件

二.输入输出

接收用户的输入

python3中input功能会把用户输入的任意内容都存成字符串类型

inp_name = input("请输入您的账号名>>>: ") # "egon123*"
print(inp_name,type(inp_name))  # 输出egon123* <class 'str'>
# 注意1:
inp_age = input("请输入您的年龄>>>: ") # "18"
inp_age = int(inp_age) # int会把纯数字的字符串转换成int型
print(inp_age+1) "18" + 1  #报错

# 注意2:
inp_pwd = input("请输入您的密码>>>: ") # "123"
print(inp_pwd == 123) #"123" == 123    输出False
print(inp_pwd == "123") # "123" == "123  输出True

# 注意3: 无论输啥,都存成字符串
x = input(">>>: ") # "[1,2,3]"
print(x,type(x))  # 输出[1,2,3] <class 'str'>

了解(**):
1、python2中raw_input功能与python3中的input功能一模一样
2、python2中input功能,需要用户输入一个明确的数据类型,输入什么类型就存成什么类型

格式化输出

%s 字符串占位符,整型,浮点型,列表各种类型的值都可以通过此占位符来传输

print('login successfull')
name = input('your name: ')
age = input('your age: ')
print("my name is %s my age is %s" % (name,age))
print("my name is %s" % "egon")
print("my name is %s my age is %d" % ("egon",18))
print("my name is %s my ageis %s" % ("egon",[1,2,3]))

小练习:

name = input('your name:')
age = input('your age:')
job = input('your job:')
hobby = input('your hobby:')
msg = '''
------------ info of %s -----------
Name  : %s
Age   : %s
Sex   : %s
Job   : %s
------------- end -----------------
''' % (name,name,age,job,hobby)
print(msg)

三.基本运算符

1.算数运算符

算数运算符通常用于数字类型之间进行,但是+号和*号比较特殊,可以用于其他类型,但是仅限于同种类型之间进行

print(10 / 3)  #输出3.3333333333333335
print(10 // 3) #输出3
print(10 % 3)  #输出 1
print(10 ** 2) #输出100

总结:
/ 和 // (地板除)之间的区别是, / 保留小数位,// 只保留正数,并不是四舍五入,而是直接丢掉小数位
% 是取模,也是取余,10跟3取余,除不尽,余数为1
** 是次幂,10**2就是100

了解知识()**
特殊:+ *

l1=[1,2,3]
l2=[4,5,6]
print(l1 + l2) #输出[1, 2, 3, 4, 5, 6]
print(l1*3) #输出[1, 2, 3, 1, 2, 3, 1, 2, 3]

2.比较运算符

比较运算符通常用于数字之间进行

print(10 == 10)  #输出True
print(10 == "10") #输出False
print(10 != "10") #输出True

了解(*)
字符串,列表之间也可以比大小,但是一般不会这么做,仅作了解

print("abz" > "abcdef") # True

l1=[1,'abc',18]
l2=["a",'abc',18]
l1 > l2 # 报错,对应位置的值必须是同种类型才可以

l1=[1,'abc',18,111,222,333]
l2=[2,'abc',18]
print(l2 > l1)

3.赋值运算

age = 18
age += 1  # age = age + 1
print(age) #输出19

age *= 100 # age = age * 100
print(age)  #输出1900

4.逻辑运算符

not: 把布尔值结果取反

print( not 10 > 3)                 #输出False
print(not "egon" == "egon")        #输出False
print(not True)                    #输出False
print(not False)                   #输出True

and: 用来链接左右两个条件

左右两个条件同时为True,最终结果才为True
(一假为假,全真则真)

print(10 > 3 and 3 == 3)
print(10 > 33 and 3 == 3)
print(False and True)

or: 用来链接左右两个条件

左右两个条件但凡有一个结果为True,最终结果就为True
(一真则真,全假为假)

print(False or True)
print(True or True)
print(False or False)
print(10 > 33 or False)

短路行为 => 偷懒行为

10 < 3 and 1 == 1
False or 1 == 1
True or 1 == 1

优先级: not> and > or
推荐用( )区分优先级

# (True and 1 == 1) or (not "egon" == "egon") or ("aaa" == "aaa" and 1 <= 3)

# res = True and 1 == 1 or not "egon" == "egon" or "aaa" == "aaa" and 1 <= 3
# (True and 1 == 1) or not "egon" == "egon" or ("aaa" == "aaa" and 1 <= 3)
# print(res)


res = True and 1 != 1 or not "egon" == "egon" or "aaa" == "aaa" and 11 <= 3
#res=(True and 1 != 1) or not "egon" == "egon" or ("aaa" == "aaa" and 11 <= 3)

print(res)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值