首页 > 编程语言 >python语法和运算符

python语法和运算符

时间:2022-09-26 19:26:36浏览次数:54  
标签:语法 jason name python list 运算符 print False 数据

今日内容总结

基础数据类型

基本数据类型之布尔值bool

什么是布尔值

用来判断事物的对错 是否可行 只要用于流程控制中的逻辑判断

布尔值的状态

只有两种状态
	1.True	对的 	真的 	可行的
	2.False	错的 	假的 	不可行的
python中所有数据都自带布尔值
	布尔值为False的数据有:0 None '' [] {}
	布尔值为True的数据有:除了上面的都是True
存储布尔值的变量名一般推荐使用is开头
	is_delete = False
 	is_alive = True

很多程序中提供的注销账户的功能 其实底层并没有删除数据 而是修改了数据的状态

id username password phone is_delete
1 Jason 123 110 1
2 Kevin 321 120 0

基本数据类型之元组tuple

什么是元组

1.也称为'不可变'的列表
元组内索引绑定的内存地址不能修改
2.小括号括起来 内部存放多个数据值 数据值与数据值之间逗号隔开 数据值可以是任何数据类型
3.代码实现
t1 = (11, 22, 'jason')
4.元组与列表的对比

l1 = [11, 22, 33]
print(l1[0])  # 获取索引0对应的数据值11
l1[0] = 666  # 将数据值666赋值给l1列表索引0
print(l1)  # [666, 22, 33]
t1 = (11, 22, 33)
print(t1[0])  # 11
t1[0] = 999  # 元组内索引绑定的数据值不可改变
print(t1)

image

t1 = (11, 22, [111, 222])
t1[2][1] = 666
print(t1)

image

5.元组内如果只有一个数据值

    t1 = (1)
    t2 = (11.11)
    t3 = ('jason')
    print(type(t1), type(t2), type(t3))  # <class 'int'> <class 'float'> <class 'str'>
    t1 = (1,)
    t2 = (11.11,)
    t3 = ('jason',)
    print(type(t1), type(t2), type(t3))  # <class 'tuple'> <class 'tuple'> <class 'tuple'>
    """
    建议:以后在使用可以存放多个数据值的数据类型时 如果里面暂时只有一个数据值 那么也建议你加上逗号
    """

基本数据类型之集合set

1.集合只能用于去重和关系运算
	后面再讲 暂且忽略
2.集合内数据只能是不可变类型
	后面再讲 暂且忽略
3.大括号括起来 内部存放多个数据值 数据值与数据值之间逗号隔开 数据值不是k:v键值对
4.代码实现
	s1 = {1, 2, 3, 4, 5, 6}
5.定义空集合与空字典	
	{}  	默认是字典
 	set()	定义空集合

与用户交互

"""
以前银行取钱只能拿着存折去柜台跟小姐姐交流才可以
	你想干嘛 我想取钱 
	请输入密码 滴滴滴密码
	想取多少钱 我想取一个亿
	...
随后程序代替了小姐姐跟我们交互
	ATM机器

1.获取用户输入

获取用户输入
  input
username = input('请输入您的用户名>>>:')
"""
1.先执行input获取用户输入
2.将输入的数据绑定给变量名username
3.以后在程序中就可以使用变量名反复调用用户数据
"""

image

image

强调:input获取到的数据都会统一处理成字符串类型

2.输出内部信息

输出内部信息
  print
 	1.括号内既可以放数据值也可以放变量名 并且支持多个 逗号隔开即可
 	2.print自带换行符
	  换行符:\r\n \n(斜杠与字母组合到一起可能会产生特殊的含义)
	3.print也可以切换结束符
	  print(数据,end='默认是\n')
扩展:python2与python3中两个关键字的区别
 	 python2中
	 input方法需要用户自己提前指定数据类型 写什么类型就是什么类型
 	 raw_input方法与python3中input一致 输入的统一处理成字符串	
	 python2中
      		print方法有两种使用方式
         	print 数据值
		print(数据值)

image

格式化输出

提前定义好一些内容 将来需要使用的时候可以局部修改
	eg:奖状、录取通知书、合同
代码实现
	在现实生活中大部分情况下使用下划线提示别人填写内容
 	但是在程序中需要使用占位符:%s %d
info = '%s同志你好'
'''单个占位符'''
print(info % 'Jason')  # Jason同志你好
print('%s同志你好' % 'Tony')  # Tony同志你好
print(info % ('jason',))
print('%s同志你好' % ('Tony',))
'''多个占位符'''
desc = '姓名:%s 年龄:%s 爱好:%s'
print(desc % ('jason', 18, 'read'))  # 姓名:jason 年龄:18 爱好:读书
print('姓名:%s 年龄:%s 爱好:%s' % ('tony', 28, 'rap'))  # 姓名:tony 年龄:28 爱好:rap
'''注意事项:有几个占位符就需要几个数据值'''
print('my name is %s my age is %s' % ('jason',))  # 少了不行 会报错
print('my name is %s my age is %s' % ('jason', 18, 'read'))  # 多了也不行  也会报错
'''不同占位符的区别'''
demo1 = '%s您好 您本月的话费是%s 余额是%s'  # %s常见数据类型都支持
print(demo1 % ('jason', 100, 10000000000000))  # jason您好 您本月的话费是100 余额是10000000000000
demo2 = '%d您好 您本月的话费是%d 余额是%d'  # %d只支持数字类型
print(demo2 % ('tony', 1000000000, -100000))  # 运行会因为tony不是数字类型而出错

print('%08d'% 123)  # 00000123
print('%08d'% 1234324324)  # 1234324324

运算符

基本运算符

1.数学运算符

+ - * / %(取余) //(取整) **(次方)
简化写法
n = 10
n += 1  # n = n + 1
n -= 1  # n = n - 1
n *= 1  # n = n * 1
n /= 1  # n = n / 1
n %= 1  # n = n % 1
n //= 1  # n = n // 1
n **= 1  # n = n ** 1

2.比较运算符

< > <= >= ==(等于号) !=(不等于)

常用赋值符

1.链式赋值

name = 'jason'
name1 = name
name2 = name
链式赋值
name = name1 = name2 = 'jason'

2.交叉赋值

m = 100
n = 999
'''让m和n互相转换绑定的值'''
"""错误示写法"""
m = n
n = m
print(m, n)  # 999 999
'''方式1:采用中间变量'''
temp = m
m = n
n = temp
print(m, n)  # 999 100  这种方法不是最好的
'''方式2:交叉赋值语法'''
m, n = n, m
print(m, n)  # 999 100  简化最好用这种

3.解压赋值

name_list = ['jason', 'kevin', 'tony', 'oscar']
    '''low的写法'''
    name1 = name_list[0]
    name2 = name_list[1]
    name3 = name_list[2]
    name4 = name_list[3]
    '''解压赋值语法'''
    name1, name2, name3, name4 = name_list
    '''解压赋值在使用的时候 正常情况下需要保证左边的变量名与右边的数据值个数一致'''
    a, b = name_list  # 变量名少了不行 运行会报错
    a, b, c, d, e = name_list  # 变量名多了也不行 运行也会报错
    '''当需要解压的数据个数特别多 并且我们只需要使用其中的几个 那么可以打破上述的规则'''
    a, *b = name_list  # *会自动接收多余的数据 组织成列表赋值给后面的变量名
    print(a)  # jason
    print(b)  # ['kevin', 'tony', 'oscar']
    a, c, *b = name_list
    print(a)  # jason
    print(c)  # kevin
    print(b)  # ['tony', 'oscar']
    a, *b, c = name_list
    print(a)  # jason
    print(b)  # ['kevin', 'tony']
    print(c)  # oscar
    '''当数据值不准备使用的时候 可以使用下划线作为变量名绑定'''
    a, *_, c = name_list

逻辑运算符

'''主要配合条件一起使用'''
	and	 与
	and连接的多个条件必须全部成立 结果才成立
eg:
你去相亲提要求:身高必须是160以上、长相必须好看、家里必须有钱、性格必须温柔  身高 and 长相 and 有钱 and 温柔
1 > 2 and 4 < 8 and 10 < 1 and 1 == 2
如果条件中全部由and组成那么判断起来非常的简单 只要发现一个不成立 结果就不成立
    print(1 < 10 and 666)  # 666  成立
    print(1 < 10 and 2 < 8)  # True  成立
    print(111 and 222)  # 222  成立
    如果需要你准确的说出具体的结果值  那么需要按照下列方式
    如果and左边的条件是成立的 那么就完全取决于右边的条件
    右边如果直接是数据值 那么结果就是该数据值 如果是含有表达式 则为布尔值
	or	或
	or连接的多个条件只要有一个成立 结果就成立
eg:
你去相亲提要求:要么家里有钱 或者家里有势 或者长得完美 或者对你死心塌地  有钱 or 有势 or 好看 or 专一
1 > 2 or 4 < 8 or 10 < 1 or 1 == 2
如果条件中全部由or组成那么判断起来非常的简单 只要发现一个成立 结果就成立
    print(1 < 10 or 666)  # True
    print(666 or 1 > 10)  # 666
    print(0 or False)  # False
    print(0 or 111)  # 111
    规律用and
	not	非
	取反
 	类似于说反话

"""
三者混合使用的时候有优先级之分 但是我们不需要记忆优先级 应该通过代码的形式提前规定好优先级
	eg: 先乘除有加减  但是可以使用括号来改变优先级
	(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
"""

成员运算符

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

身份运算符

"""
id()  返回一串数字 该数字可以看成是内存地址
"""
is	判断内存地址是否相同
==	判断数据值是否相同

l1 = [11, 22, 33, 44, 55, 66, 77, 88]
l2 = [11, 22, 33, 44, 55, 66, 77, 88]
print(l1 == l2)  # True
print(id(l1))
print(id(l2))
print(l1 is l2)  # False

小整数池
i1 = 11
i2 = 11
print(i1 is i2)  # true


s1 = 'jason jason jason'
s2 = 'jason jason jason'
print(s1 is s2)  # true
不同的环境下可能优化的程度不一样

"""
了解
    值相同 内存地址可能不同
    内存地址相同 值肯定相同
"""

作业

获取用户输入并打印成下列格式

	 ------------ info of Jason -----------
    Name : Jason
    Age  : 18
    Sex  : male
    Job  : Teacher 
    ---------------- end -----------------

程序编写:

username = input('Name:')
age = input('Age:')
sex = input('Sex:')
job = input('Job:')
info = ' Name:%s\n Age:%s\n Sex:%s\n Job:%s'
title = '------------ info of %s -----------'
end = '---------------- end -----------------'
print(title % username)
print(info % (username, age, sex, job))
print(end)

说出下列变量名v绑定的结果

v1 = 1 or 3  # 绑定1 1成立 而or只要一个成立后 后面都不用看了
v2 = 1 and 3  # 绑定3 1成立然后因为是and得看后面否也成立 3也成立然后直接赋值
v3 = 0 and 2 and 1  # 绑定0 0不成立 后面都是and 开始就没成立 不用往后看了直接赋值0
v4 = 0 and 2 or 1  # 绑定1 0不成立 2就不用管成不成立 跳过直接看or右边的 1成立直接赋值
v5 = 0 and 2 or 1 or 4  # 绑定1 同上所述 因为or  1只要成立 4就不用看了 直接赋值1
v6 = 0 or False and 1  # 绑定False 0不成立 因为是or 往后看False也不成立 后面是and没成立不用往后看了直接赋值False

标签:语法,jason,name,python,list,运算符,print,False,数据
From: https://www.cnblogs.com/qian-yf/p/16730966.html

相关文章

  • 探索 JSP 以及语法
    ......
  • 不带行交换的Guass消去法,python实现
    importnumpyasnp#合并A、b,增广矩阵ABclassgauss:def__init__(self,A:list,b_T:list):''':paramA:矩阵A,n*n:paramb_......
  • Python数据类型+运算符
    Python基础数据类型上期练习讲解#练习一.想办法打印出jasonl1=[11,22,'kevin',['tony','jerry',[123,456,'jason']]]#解题思路,先看列表中有几个数......
  • Python采集《惊奇先生》, 下载你想看的高质量漫画
    前言大家早好、午好、晚好吖~知识点:爬虫基本流程保存海量漫画数据requests的使用base64解码开发环境:版本:python3.8编辑器:pycharmrequests:......
  • 基本数据类型(补)及各种运算符
    1、昨日内容回顾python注释编写注释意义、注释添加方法变量的赋值赋值基本原理变量的使用命名原则、编写风格常量的使用常量的命名python常见数据......
  • python进阶之路4
    内容回顾PEP8规范代码编写规范及美观python注释语法平时养成写注释的习惯 1.警号 2.三个单引号 3.三个双引号常量与变量1.变量语法结构 变量名......
  • 正则表达式语法
    正则表达式语法元字符-转义符\需要用到转义符号的字符有一下:.*+()/?[]^{}元字符-字符匹配符符号符号示例解释[]可接收的字符列表[efgh]e、f、g、h......
  • 运算符、赋值符
    基本运算符1.数学运算符+-*/%//**简化写法n=10n+=1#n=n+1n-=1#n=n-1n*=1#n=n*1n/=1#n=n......
  • python -day4
    python-day4目录python-day4python作业讲解基本数据类型布尔值bool基本数据类型元组tuple基本数据类型集合set用户交互格式化输出基本运算符常用赋值符逻辑运算符成员运......
  • python练习题
    1.输入账号密码,判断成功,程序退出。判断失败,继续登录输入。考察点:while和if语句的运用,及flage标志位。#coding=utf-8;flage=True;whileflage:user=raw_inpu......