1.基本数据类型之布尔值bool

1.用来判断事物的对错,是否可行,用于流程控制中

2.只有两种状态:
True:对的、真的、可行的
False:错的、假的、不可行的 3.python中所有的数据都自带布尔值
布尔值为False的数据: 0 None ''(空字符串) [](空列表) {}(空字典)
除了上面的数据布尔值都是True 4.存储布尔值的变量名一般都是以is开头
is_delete = True
is_alive = True """
很多程序用户注销功能,其实底层并没有删除用户的数据,而是修改了布尔值
"""

2.数据类型之元组tuple

1.也称为'不可变'的列表:
元组内索引绑定的内存地址不能修改。 2.小括号括起来,内部存放多个数据值,数据值与数据值之间用逗号隔开,数据值可以是任意数据类型。 3.代码实现
t1 = (10, 11.11, 'max') 4.元组和列表对比
4.1 元组和列表都可以通过索引取值,列表可以通过索引把其中某个元素赋予新的数据值,但元组不行。
# list = [11, 22, 33]
# print(list[0])
# list[0] = 888
# print(list[0]) 结果: [888, 22, 33] # t1 = (11, 22, 33)
# print(t1[0])
# t1[0] = 666
# print(t1) 结果:报错 4.2 元组'不可变',不能通过索引来改变内部的元素,但列表增加一个元素后内存地址并未改变,相当于元组中的元素没有改变。示意图中元组的索引值和数据值之间的线没有断,所以元组中的元素没有改变。
# t1 = (11, 22, [111, 222])
# t1[2][1] = 666
# print(t1) 结果:(11, 22, [111, 666]) 5.当元组内部只有一个数据值:数据类型是它本身的数据类型,加一个逗号之后,数据类型是元组
# t1 = (11)
# t2 = (11,)
# print(type(t1)) #<class 'int'>
# print(type(t2)) #<class 'tuple'> # t1 = (12.12)
# t2 = (12.12,)
# print(type(t1)) #<class 'float'>
# print(type(t2)) #<class 'tuple'> # t1 = ('max')
# t2 = ('max',)
# print(type(t1)) #<class 'str'>
# print(type(t2)) #<class 'tuple'>\
"""
建议:如果以后可以存储多个数据值的数据类型中只有一个数据值时,建议数据值后面加上逗号
"""

3.基本数据类型之集合set

1.集合只能用于去重和关系运算(未讲,暂且忽略)。

2.集合内数据只能是不可变类型(未讲,暂且忽略)。

3.大括号括起来,内部存放多个数据值,数据值之间用逗号隔开,数据值不是K:V键值对。

4.代码实现:
s1 = {1, 2, 3, 4} 5.空集合和空字典:
{} 默认是字典
set() 默认是集合

4.与用户交互

1.获取用户输入:input
username = input('请输入您的用户名>>>:')
"""
原理:
1.先执行ipunt获取用户输入
2.将获取到的数据赋值给username
3.以后再程序中使用变量名username就可以找到用户输入的数据
"""
input获取到的用户数据(无论什么数据类型)都会统一处理成字符串 2.输出内部信息:
2.1 print括号内即可以放数据值也可以放变量名,并且支持多个,用逗号隔开即可。 2.2print自带换行符
换行符:\r\n或\n(斜杠和字母组合到一起会产生特殊的含义)
print('今天是个好天气\n明天也是个好天气')
#今天是个好天气
#明天也是个好天气 2.3print可以切换结束符,结束符默认是换行
print(数据,end = '默认是\n') # print('jason', end = '')
# print('jason') #结果:jasonjason 2.4python2和python3区别1:
python2中需要用户自己制定数据类型,写什么类型就是什么数据类型,写字符串要加双引号。
python3中不管什么数据类型都会转成字符串。
python中的raw_input与python3中的input一致,不管输入什么数据类型都会转成字符串。
![image](uploading...) 2.5python2和python3的区别2:
python2中打印方式有两种:print(数据值)、print 数据值,python3只适用于前一种。





5.格式化输出:

1.定义好一些内容,将来需要使用的时候可以局部修改,eg:奖状、合同。

2.代码实现:定义好的其他部分,部分内容做修改,需用占位符:%s、d%。

2.1单个占位符:
# info = '你好%s先生!'
# print(info % 'max')
# print(info % ('max',)) #推荐采用此种方式,此种方式不受占位符个数的限制 2.2多个占位符
# info = '您好%s先生,您本月%s银行消费%s元,余额%s元'
# print(info % ('max', '交通', 8888, 1.25))
#结果:您好max先生,您本月交通银行消费8888元,余额1.25元 2.3注意:有几个占位符就需要几个数据值,多了不行少了也不行 2.4不同占位符的区别:%s可以用于占位各种数据类型,d%只能占位数字
# info = '您好%s先生,您本月%s银行消费%s元,余额%s元'
# print(info % ('max', '交通', 8888, 1.25))
#结果:您好max先生,您本月交通银行消费8888元,余额1.25元 # info = '您好%d先生,您本月%d银行消费%s元,余额%d元'
# print(info % ('max', '交通', 8888, 1.25))
#结果:报错( %d format: a number is required, not str) 2.5 %d的其他用法:
如果后面的数字位数少于总位数:
print('%015d' % 12) #结果:000000000000012 含义:一共十五位数字,最后两位是12,前面的都用0替代。
如果后面的数字位数多余总位数:
print('%06d' % 12345678) #结果:12345678 含义:一共6位数,最后8位数是12345678,但是后缀数字多于总位数,输出结果为后缀数字。
"""
目前此种用法只能针对开头数字为0的,开头数字不为0暂且无法使用
"""

6.基本运算符

1.数学运算符
+ - * / %(取余) //(整除) **(指数)
简化写法:
n = 10
n += 2 #n = n + 2
n -= 2 #n = n - 2
n *= 2 #n = n * 2
n /= 2 #n = n / 2
n %= 2 #n = n % 2
n //= 2 #n = n // 2
n **= 2 #n = n ** 2 2.比较运算符:
< > <= >= ==(等于) !=(不等于))

7.常用赋值符

1.链式赋值:
age = 18
age1 = age
age2 = age
链式复制:age = age1 = age2 = 18
2.交叉赋值
m = 100
n = 99
"""
要求:把m和n互换绑定的值
"""
方法1:引入中间变量
m = 100
n = 99
# x = m
# m = n
# n = x
# print(m, n) 方法2:交叉赋值
m, n = n, m #相当于把m,n指向的数据值互换
print(m, n) #结果:99,100 3.解压赋值
3.1当左边的变量名和右边的数据值数量相等时:
name_list = ['jason', 'kevin', 'tony', 'oscar']
name1, name2, name3, name4 = name_list
print(name1, name2, name3, name4) 3.2当需要解压的数据特别多,我们也只需要其中的那么几个,那么可以打破这个规则,*可以完成这个使命。当打包的数据值不准备使用时,可以用_作为变量名绑定。
name_list = ['jason', 'kevin', 'tony', 'oscar', 'max']
name1, name2, *_ = name_list
print(name1, name2, _)

8.逻辑运算符

1.and(与)
and连接的多个条件同时成立,结果才成立,只要发现一个不成立,结果就不成立。
1.1and左右都为逻辑判断时左右判断都正确时结果才成立。
print(1<2 and 2<3): True
print(5<4 and 6<7): False 1.2如果需要准确结果值:如果and左边的条件成立,则完全取决于右边的条件,右边如果直接是数据值,name结果就是该数据值,如果是表达式,则为布尔值。
print(1 <10 and 666) #666
print(1 <10 and 2<8) #True
print(111 and 222) #222 #左边布尔值是True,看右边,右边是表达式则结果是表达式
and前面的条件成立,后面的数据值是多少结果就是多少;后面要是条件判断,后面的结果是True最终结果就是True,是False结果就是False;and左右都是数字,左边的成立,看右边的是否成立,右边的数字是多少就是多少。
2.or (或)
or 连接的条件只要有一个成立,结果就成立。如果or左右两边或一边是表达式并且成立,结果为True,若有一边是表达式并且不成立,另一边是数据值,则结果为数据值。
print(1 < 10 or 666) #True
print(666 or 1 > 10) #666
print(0 or False) #False
print(0 or 111) #111
"""
or左又都是判断条件情况下,左边成立则是True不用看右边,左边是数字右边是判断条件时,左边数字布尔值为True,结果直接是左边的数字。左边的条件如果不成立,则看右边的条件,右边条件是什么就是什么。
""" 3.not(非):用法为取反 """
三者混合使用时有优先级之分,但我们不需要记忆优先级,应该通过代码的形式规定好优先级,方式为使用括号
"""

9.成员运算符

判断个体是否在群体内
1.列表判断
name_list = ['jason', 'kevin', 'oscar', 'jerry']
print('kevin' in name_list)
print('kevin' not in name_list)
print('j' in name_list) #False 列表最小单位是数据值 ,不能再细分 2.字符串判断 s = 'hello world'
print('h' in s) #True 字符串最小的单位是单个的字符 3.字典判断
d1 = {
'username': 'jason',
'pwd': 123
}
print('username' in d1) #True 字典成员运算只有K参与
print('jason' in d1) #False

10.身份运算符

1.print(id(变量名)),返回一串数字是内存地址

2.is: 判断内存地址是否相同
==: 判断数据值是否相同
# l1 = [1, 2, 3, 4, 5]
# l2 = [1, 2, 3, 4, 5]
# print(id(l1))
# print(id(l2))
# print(l1 == l2) #True
# print(l1 is l2) #False
"""
结论:数据值相同,内存地址不一定相同;内存地址相同,值一定相同
"""

作业

2.获取用户输入并打印成下列格式
------------ info of Jason -----------
Name : Jason
Age : 18
Sex : male
Job : Teacher
---------------- end -----------------
user_name = input('请输入您的用户名>>>:')
user_age = input('请输入您的年龄>>>:')
user_sex = input('请输入您的性别>>>:')
user_job = input('清输入您的职业>>>:')
t1 = (user_name, user_name, user_age, user_sex, user_job)
print('------------ info of %s -----------\n'
'Name : %s\n'
'Age :%s\n'
'Sex :%s\n'
'Job :%s\n'
'---------------- end -----------------' % t1)
#思考过程:围绕今天所学的格式化输出内容(%s % 元组)思考,难点在于备选项的元组
t1。我的想法是首先获取用户输入,然后用一个变量名命名,之后把四个变量名组合成一
个元组t1,补全格式化输出的语法。难点2在于输出时换行符的位置,如果不加换行符所
有的代码会排成一行,如果换行符再字符串的‘’以外则会报错,所以\n只有在每行''之
内,才能起到换行作用。
4.4.准备说出下列变量名v绑定的结果
v1 = 1 or 3 #1
v2 = 1 and 3 #3
v3 = 0 and 2 and 1 #0
v4 = 0 and 2 or 1 #1
v5 = 0 and 2 or 1 or 4 #1
v6 = 0 or False and 1 #False #or前后都不成立结果是false,不能用0代替

python学习day04的更多相关文章

  1. Python学习 day04打卡

    今天学习的主要内容: 一,列表 1,列表的介绍 列表是python的基础数据类型之一,其他编程语音也有类似的数据类型.例如:JS 中的数组Java中的数组等等. 它是以[]括起来,每个元素用',隔开而 ...

  2. Python学习day04 - Python基础(2)数据类型基础

    <!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...

  3. Python学习 day04

    一.list list可以存放各种类型的数据,与java中list类差不多,比如li = ['keith', 1, True, [1, 2, 3], {name: 'tangtang', age: 1 ...

  4. day04:Python学习笔记

    day04:Python学习笔记 1.算数运算符 1.算数运算符 print(10 / 3) #结果带小数 print(10 // 3) #结果取整数,不是四舍五入 print(10 % 3) #结果 ...

  5. python学习之旅

    python学习分类 python基础    +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...

  6. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  7. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  8. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  9. Python学习路径及练手项目合集

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

  10. python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

随机推荐

  1. C语言白盒测试讲义

    好久没有做过C语言的白盒测试了,估计以后也没这个机会.把自己之前参加过的培训素材做个分享. 素材下载链接:https://pan.baidu.com/s/1LPD9Az04zEj8RuCICaKYxQ ...

  2. Pwn学习随笔

    Pwn题做题流程 使用checksec检查ELF文件保护开启的状态 IDApro逆向分析程序漏洞(逻辑复杂的可以使用动态调试) 编写python的exp脚本进行攻击 (若攻击不成功)进行GDB动态调试 ...

  3. vivo大数据日志采集Agent设计实践

    作者:vivo 互联网存储技术团队- Qiu Sidi 在企业大数据体系建设过程中,数据采集是其中的首要环节.然而,当前行业内的相关开源数据采集组件,并无法满足企业大规模数据采集的需求与有效的数据采集 ...

  4. 第二章:seaborn调色板

    1.系统默认调色板 1 import seaborn as sns 2 import matplotlib.pyplot as plt 3 4 # 设置画布的大小 5 sns.set(context= ...

  5. 2.2:常用的Python数据类型、字符串、dtype

    一.内置数据类型 1.整型 2.浮点型 3.字符串 4.复数 5.布尔类型bool 6.None类型 二.字符串 1.从键盘输入数据 s = input() 2.用eval去引号求值 eval(&qu ...

  6. 【Shell案例】【awk、grep、sort、uniq】10、第二列是否有重复

    给定一个 nowcoder.txt文件,其中有3列信息,如下实例,编写一个shell脚本来检查文件第二列是否有重复,且有几个重复,并提取出重复的行的第二列信息:实例:20201001 python 9 ...

  7. docker入门(利用docker部署web应用)

    第一章 什么是docker1.1 docker的发展史2010年几个年轻人成立了一个做PAAS平台的公司dotCloud.起初公司发展的不错,不但拿到过一些融资,还获得了美国著名孵化器YCombina ...

  8. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(36)-掌握Fiddler中Fiddler Script用法,你会有多牛逼-上篇

    1.简介 Fiddler是一款强大的HTTP抓包工具,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有 ...

  9. 区块链,中心去,何曾着眼看君王?用Go语言实现区块链技术,通过Golang秒懂区块链

    区块链技术并不是什么高级概念,它并不比量子力学.泡利不相容原则.哥德巴赫猜想更难以理解,但却也不是什么类似"时间就是金钱"这种妇孺皆知的浅显道理.区块链其实是一套统筹组织记录的方法 ...

  10. linux挖矿处置

    挖矿的类型 主动挖矿:用户在个人电脑或服务器使用挖矿程序进行CPU,GPU计算,获取虚拟货币. 被动挖矿:挖矿病毒通过系统漏洞,恶意程序,弱口令等方式入侵服务器,设备感染挖矿病毒后会开始挖掘虚拟货币. ...