python3基础3--数据类型--数据运算--表达式if -else-while-for

一、python3 数据类型

1.1 数字
例如:1,2,3,4等
1.2  int(整型) 
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
1.2.1 long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

1.3 float(浮点型)
有理数:实数,虚数。
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
1.4 复数
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
1.5 布尔值
真或假 True or False
1 或 0
1.6 字符串
"python3"
1.6.1 字符串的拼接(“+”)
python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,数据量小还可以这么干,如果数据量非常大,没必要单独在拷贝一份相同的数据。
1.6.2 字符串格式化输出(%占位符,{}占位符,format()方法)
name = "python3"
print  ("This is  %s "  % name)
注意:%s,字符串,%d,数字,%f,浮点数
{name = "python3"}
print('I\'m {},{}'.format('python3','Welcome to my space!'))
1.7 python数据类型之 列表(list)
例子:
names = ['python2','python2.7','python3','python3.6']
print(names)
1.7.1 select 查询 切片
print(names[-4:])
print(names[:])
print(names[:-1])
print(names[::-1])
print(names[1:2])
print(names.index('python2'))
print(names.count('python3.6'))
1.7.2 insert 插入
names.append(1)
names.insert(1,"pth")
1.7.3 update 更新
names[1]="py"
names[:]="py"
1.7.4 del 删除
del names[1]
del names
names.pop()
names.pop(1)
names.remove(names[1])
names.remove(“python2”)
1.8 python数据类型之 元组(tuple)
例子:
names = ('python2','python2.7','python3','python3.6','python3.6')
names.count("py")   ### 统计py出现的次数
print(names.index('python2.7')) ###返回下标值
1.9 python数据类型之 列表(字典)
例子:
names = {'python2','python2.7','python3','python3.6','python3.6'}
stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
print(stu.clear())

#输出:None

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
stu2 = stu.copy()
print(stu2)

name = ['tom','lucy','sam']
print(dict.fromkeys(name))
print(dict.fromkeys(name,25))  #指定默认值


#输出:{'tom': None, 'lucy': None, 'sam': None}
#     {'tom': 25, 'lucy': 25, 'sam': 25}

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
print(stu.get('num2'))

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
print(stu.keys())

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
print(stu.valuses())

#输出:Lucy

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
print(stu.items())

#输出:dict_items([('num2', 'Lucy'), ('num3', 'Sam'), ('num1', 'Tom')])

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
print(stu.keys())

#输出:dict_keys(['num3', 'num1', 'num2'])

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
name = stu.pop('num2')
print(name,stu)

#输出:Lucy {'num1': 'Tom', 'num3': 'Sam'}

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
name = stu.popitem()
print(name,stu)

#输出:('num2', 'Lucy') {'num3': 'Sam', 'num1': 'Tom'}

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
name = stu.setdefault('num5')
print(name,stu)

#输出:None {'num1': 'Tom', 'num2': 'Lucy', 'num5': None, 'num3': 'Sam'}

stu = {
    'num1':'Tom',
    'num2':'Lucy',
    'num3':'Sam',
}
stu.update({'num4':'Ben'})
print(stu)

#输出:{'num2': 'Lucy', 'num3': 'Sam', 'num1': 'Tom', 'num4': 'Ben'}
PS:注意copy 和deepcopy的区别,update和setdefault的区别。

二、python3 数据运算

算数运算:
+  
-
*
/
%
**
//

比较运算:
==
!=
<>
<
>
<=
>=

赋值运算:
=
+=
-=
*=
/=
%=
**=
//=

逻辑运算:
and 
or
not

成员运算:
in
not in


身份运算:
is 
is not

位运算:
&  交 与
|| 并 或
^  异或
~  取反
>> 左移动
<< 右移动


#!/usr/bin/env python

a = 60            # 60 = 0011 1100
b = 13            # 13 = 0000 1101
c = 0

c = a & b;        # 12 = 0000 1100
print "Line 1 - Value of c is ", c
  
c = a | b;        # 61 = 0011 1101
print "Line 2 - Value of c is ", c
  
c = a ^ b;        # 49 = 0011 0001 #相同为0,不同为1
print "Line 3 - Value of c is ", c
  
c = ~a;           # -61 = 1100 0011
print "Line 4 - Value of c is ", c
  
c = a << 2;       # 240 = 1111 0000
print "Line 5 - Value of c is ", c
  
c = a >> 2;       # 15 = 0000 1111
print "Line 6 - Value of c is ", c

三、python3 控制循环表达式

3.1  if-else
场景一、用户登陆验证
# 提示输入用户名和密码  
# 验证用户名和密码
#     如果错误,则输出用户名或密码错误
#     如果成功,则输出 欢迎,XXX!

#!/usr/bin/env python
# -*- coding: encoding -*-

username = input("输入用户名:")
password = input("输入密码:")

 if username == "python3" and password == "python3":
  print ("欢迎,%s!", % username)
 else
    print ("error username or password")

#!/usr/bin/env python
# -*- coding: encoding -*-
import getpass

name = input('请输入用户名:')
pwd = getpass.getpass('请输入密码:')
  
if name == "python3" and pwd == "python3":
    print("欢迎,%s!", % username)
else:
    print("用户名和密码错误")
PS:注意缩进格式。
3.2  if elif else
场景二、猜年龄游戏
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
my_age = 18

user_input = int(input("input your guess num:"))

if user_input == my_age:
    print("Congratulations, you got it !")
elif user_input < my_age:
    print("Oops,think bigger!")
else:
    print("think smaller!")
3.3  while
count = 0
while True:
    print("一直会循环99次",count)
    count +=1
    if count == 100:
        print("测试通过")
        break
3.4  for 
需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环

for i in range(10):
    if i<5:
        continue #不往下走了,直接进入下一次loop
    print("loop:", i )
需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出

for i in range(10):
    if i>5:
        break #不往下走了,直接跳出整个loop
    print("loop:", i )

转载于:https://www.cnblogs.com/dong-python3/p/8340755.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spark java教程_(Spark)学习进度十四(Spark之Java独立应用编程)

环境如下:(更新了林子雨教程中不可使用的部分) Hadoop 2.6.0以上 java JDK 1.7以上 Spark 3.0.0-preview2 二、java独立应用编程(在下载依赖jar包的过程中如遇到卡顿现象可以Ctrl+C停止下载,然后重新执行本条命令即可继续下载相应的依赖jar包) 1、安装maven ubuntu中没有自带…

nowcoderD Xieldy And His Password

题意:一个01序列,长度1e6,问有多少子串十进制是3的倍数 题解:DP[i][j]代表前i个并且以i为结尾,且十进制%3j的串的个数 #include<bits/stdc.h> #define maxn 1001000 using namespace std; char s[maxn]; long long dp[maxn][3], sum; int main(){while(~scanf("%s&q…

3D电视,你知道多少?

1.3D电视常见知识 系统概述篇 1、 什么是3D电视&#xff1f; 答&#xff1a;3D电视是一种能够模拟实际景物的真实空间关系的新型电视&#xff0c;它利用人眼的视觉特性产生立体感&#xff0c;让观众感受到观看的影像是具有深度特性的三维立体场景&#xff0c;观众对延伸于屏幕…

testng.xml文件配置

TestNG的DTD检查文件&#xff1a;http://testng.org/testng-1.0.dtd.php <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <!--suite&#xff08;测试套件&#xff09;为根…

什么是分组转发

分组转发(forwarding)是指在互联网络中路由器转发IP分组的物理传输过程与数据报转发机制。根据分组的目的Ip地址与源Ip地址是否属于同一个子网可分为直接转发和间接转发。 是直接转发还是间接转发&#xff0c;路由器需要根据分组的目的IP地址和源IP地址是否属于同一网络判断。目…

java 栈 先进后出_数据结构: 先进后出——堆栈

栈是一种常用的数据结构&#xff0c;在生活中经常遇到这样的例子&#xff0c;如铁路调度站。本节将详细介绍堆栈的实现过程。算法点拨(顺序栈)栈是一种重要的数据结构。从数据结构的角度看&#xff0c;栈也是线性表&#xff0c;其特殊性在于栈的基本操作是线性表操作的子集&…

Spring Boot—07应用application.properties中的配置

方法1Value("${test.msg}") private String msg;方法2Autowired private Environment env; String value env.getProperty("test.msg");方法3RequestMapping(path"/${query.all}.json", methodRequestMethod.GET) ResponseBody public List&…

skip与direct模式区别 ,他们与CBP的关系

1 CBP表示残差的编码状态,CBP一共6bit&#xff0c;低4位表示4个亮度8x8块,第4位表示U,第五位表示V,如果相应的位为"1", 表示此块有残差系数,反之没有残差,此宏块没有被编码.2 direct 是帧间宏块的一种预测模式&#xff0c;而不是宏块类型&#xff0c;而 S…

程序的装入和链接过程

从用户放入源程序进入操作系统到相应的装程序在机器上运行&#xff0c;所经历的主要阶段有编译阶段 链接阶段 装入阶段 和运行阶段

[零基础学JAVA]Java SE应用部分-34.Java常用API类库

本季目标1、StringBuffer类 2、Runtime 类 3、包装类与JDK 1.5的新特性——泛型 4、日期的操作类 5、Math类 6、Random类1、StringBuffer&#xff08;重点&#xff09; String 类的时候说过&#xff1a;String 类的内容一旦声明则不可改变&#xff0c;改变的只是其地址。…

我所理解的机器学习

各位请移步到【http://www.cnblogs.com/cchHers/p/8945908.html】转载于:https://www.cnblogs.com/cchHers/p/8933042.html

protobuf java文档_Java中使用Protobuf

gradle依赖库&#xff1a;implementation com.google.protobuf:protobuf-java:3.4.0implementation com.google.protobuf:protobuf-java-util:3.4.00.编写.proto文件&#xff0c;编译生成对应Java源文件&#xff1a;syntax "proto2";option java_generic_services …

python 数组和列表的区别

Python没有数组&#xff1a; 只有元组(tuple)和列表(list)&#xff1b;元组一旦创建不可改变&#xff0c;例如&#xff1a;aatuple(1,2,3)&#xff1b;元组不能追加(append)元素&#xff0c;弹出(pop)元素等&#xff1b;只能对元组中的元素进行索引aa[0]&#xff0c;不能对其中…

内存空间 逻辑地址空间 相对地址 绝对地址

内存空间&#xff08;物理空间或绝对空间&#xff09;&#xff1a;由一系列存储单元所限定 的地址范围。 逻辑地址空间&#xff08;地址空间&#xff09;&#xff1a;由程序中逻辑地址组成的地址范围。 相对地址&#xff08;逻辑地址&#xff09;&#xff1a;用户程序经编译后…

多租户表设计

2019独角兽企业重金招聘Python工程师标准>>> multi-tenant-databases-in-the-cloudtips-amp-tricks-to-build-multi-tenant-databases-with-sql-databases团队开发框架实战—多租户支持转载于:https://my.oschina.net/yangjiandong/blog/1612626

java 读取webapp文件_在Java Webapp和Java Normal应用中读取公共外部属性文件

但是&#xff0c;我们有以下一些特殊要求&#xff0c;Webapp将部署到tomcat。格式为.jar的普通Java应用程序将放在/ myapp文件夹下myappConfig.property文件将放置在/ myapp下客户端计算机上的目录结构/myapp/myapp.jar/assests/myappConfig.property/tomcat/webapps/myapp.war…

CSS实现树形结构 + js加载数据

看到一款树形结构&#xff0c;比较喜欢它的样式&#xff0c;就参照它的外观自己做了一个&#xff0c;练习一下CSS。 做出来的效果如下&#xff1a; 拉莫小学 一年级 一班二班二年级三年级 一班二班三班树的dom结构&#xff1a; <div class"tree"><ul><…

python中__init__函数以及参数self

1.class类包含&#xff1a; 类的属性&#xff1a;类中所涉及的变量 类的方法&#xff1a;类中函数 2. _init_函数&#xff08;方法&#xff09; 首先说一下&#xff0c;带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。init函数&#xff08;方…

程序的装入方式

1 绝对装入方式 2 可重定位装入方式 3 动态运行时装入方式

嵌套集合模型(Nested set model)介绍

原文链接&#xff1a;www.pilishen.com/posts/an-in… 此文档是 nestedset-无限分类正确姿势的扩展阅读 本文翻译自维基百科Nested set model nested set model(嵌套集合模型)是一种在关系型数据库中表示nested sets&#xff08;嵌套集合&#xff09; 的特殊技术。[nested sets…