python开发【二】---运算符&数据类型

pycharm的安装

https://blog.csdn.net/pdcfighting/article/details/80297499

https://www.cnblogs.com/mosson/p/10248395.html

运算符

算术运算符:

+ - * /            ---加减乘除

//                   ---取商

%                 ---取余

**            ---幂

成员运算:

in:在指定序列有给定值,返回值是True

not in:在指定序列没有给定值,返回值是True

例:
not in
name = "证件问"
if "证" not in name:
    print("ok")
else:
    print( "error")
结果:error
----
in
name = "证件问"
if "证"  in name:
    print("ok")
else:
    print( "error")
结果:ok

比较运算:

==      等于

!#    不等于   <>  不等于

>        大于    >=  大于等于

<        小于    <=  小于等于

逻辑运算:

and

or

not

优先计算括号内的内容

赋值运算:

+=
例:count = count + 1  等于 count += 1
-=
例:count = count - 1  等于 count -= 1
*=
例:count = count * 1  等于 count *= 1
/=
例:count = count / 1  等于 count /= 1
//=
例:count = count // 1  等于 count //= 1
%=
例:count = count % 1  等于 count %= 1
**=
例:count = count ** 1  等于 count **= 1

  

布尔值:

True 真 1

False 假 0

***算术运算和赋值运算得到的结果是值

***比较运算,逻辑运算和成员运算的结果是布尔值

数据类型

基本数据类型:数字,字符串,布尔值

数字:int  ---将字符串转换为数字

在python3里,不管数字多大都是int,即整形

在python2里,数值超过一定值是就不叫int,而且叫long,即长整形

例:a = "123"
b = int(a)
print(type(a),a)
print(type(b),b)
结果:
<class ‘str‘> 123
<class ‘int‘> 123例:base进制,默认10进制num = "b"v = int(num,base=16)print(v)例:bit_length()当前数字二进制至少用几位表示
age = 4# 1 1# 2 10# 3 11# 4 100# 5 101r = age.bit_length()print(r)结果: 3

  

字符串:str

    ****字符串在内存中一旦创建,就不可修改

****一旦修改和拼接都会生成新的字符串
一个字节是8位,一个汉字在utf8里,是3个字节
例:capitalize(),首字母大写
test = "alex"
v = test.capitalize()
print(v)
结果:Alex例:islower()判读字符串是否为小写字母例:casefold()和lower(),所有大写变小写,前者可用对很多规则的对应变相应小写,后者支持部分规则变小写
test = "aLex"v1 = test.casefold()v2 = test.lower()print(v1)print(v2)结果:alexalex例:center() 设置宽度,并将内容居中,20代指总长度,*代表空白位置填充     ljust() 设置宽度,并将其内容居左    rjust() 设置宽度,并将其内容居右
test = "aLex"v = test.center(20,"*")print(v)结果:********aLex********
test = "alex"v = test.ljust(20,"*")print(v)test1 = "alex"v1 = test1.rjust(20,"*")print(v1)
结果:

alex****************
   ****************alex

例:count(),去字符串中寻找子序列的出现次数,从第3个字符到第10个字符x出现发次数
test = "aLexalex"v = test.count("x",3,10)print(v)结果:2例:endswith(),startswith(),以什么结尾,以什么开头
test = "alex"v1 = test.endswith("x")v2 = test.startswith(‘s‘)print(v1)print(v2)结果:TrueFalse例:find(),从开始忘后找,找到第一个之后,获取位置 (从第5位置开始,找到第8位)未找到返回值为-1 ***index() 也是寻找,如果找不到直接报错
test = "alexalex"v = test.find(‘ex‘,5,8)print(v)结果:6例:format(),格式化,将一个字符串的占位符替换为指定的值
test = "i am {name},age {a}"print(test)v = test.format(name="alex",a=19)print(v)结果:

i am {name},age {a}
   i am alex,age 19

例:0永远代表第一位,以此类推

test = "i am {0},age {1}"print(test)v = test.format("alex",19)print(v)结果:

i am {0},age {1}
   i am alex,age 19

例:isalnum(),字符串中只能出现数字和字母,有其他字符,则返回值为false

例:isalpha(),字符串中只能出现字母,有其他字符,则返回值为false

例:expandtabs() ,tab以前到tab为20个字符,即短句一组为20,以tab为分割线

test = "username\temail\tpassword\nmaodou\[email protected]\t123\nmaodou\[email protected]\t123\nmaodou\[email protected]\t123"print(test)v = test.expandtabs(20)print(v)结果:

username email password
maodou [email protected] 123
maodou [email protected] 123
maodou [email protected] 123
username............email...............password
[email protected]
[email protected]
[email protected]

例: isdecimal()为10进制数字支持,isdigit()支持10进制以及特俗数字符号,isnumeric(),支持10进制以及特俗数字符号和汉字数字

test = "②1"v1 = test.isdecimal()v2 = test.isdigit()print(v1,v2)结果:False Ture例:isprinttable(),存在不可显示的字符,返回结果为False(如有\t制表符 \n换行符)例:isspace(),是否全部为空格,全部为空格,返回值是Ture例:istitle(),判断死否为标题(首字母为大写) title(),把不是标题的变成标题例:join(),添加间隔 将字符串中的每一个元素按照指定分隔符进行拼接 (内部作循环)
test = "我喜欢诺诺罗亚索隆"t = " "v = t.join(test)print(test)print(v)结果:

我喜欢诺诺罗亚索隆
   我 喜 欢 诺 诺 罗 亚 索 隆
   我_喜_欢_诺_诺_罗_亚_索_隆

例:upper() ,把字符串变成大写

例:isupper() ,判断字符串是否为大写

例:默认lstrip()去除左空白

默认 rstrip()去除右空白

默认strip() 去除两边空白(包括空格,换行,tab) 也可指定去除内容

test = " alex "v = test.lstrip()v1= test.rstrip()v2 = test.strip()v3 = test。lstrip(‘a‘)print(v)print(v1)print(v2)print(v3)结果:alex..alexalexlex例:str.maketrans()创建对应关系,reanslate()替换
v = "1324365760"m = str.maketrans("12345670","qweracsd")new_v = v.translate(m)print(new_v)结果:qewrecascd例:partition() 以什么分割 只能分割成3份   splits()   以什么为分割,去掉分割点(test.partition("s",2))分割前2个s
test = "testsbjkbksjb"v = test.partition("s")v1 = test.rpartition("s")v2 = test.split("s")v3 = test.rsplit("s")print(v)print(v1)print(v2)print(v3)结果:

(‘te‘, ‘s‘, ‘tsbjkbksjb‘)
   (‘testsbjkbk‘, ‘s‘, ‘jb‘)
   [‘te‘, ‘t‘, ‘bjkbk‘, ‘jb‘]
   [‘te‘, ‘t‘, ‘bjkbk‘, ‘jb‘]

例: splitlines() 分割只根据True和False选择和保留换行

test = "sfsdg\nsfsakgj\nfdsaf"v = test.splitlines(False)v1 = test.splitlines(True)print(v)print(v1)结果:[‘sfsdg‘, ‘sfsakgj‘, ‘fdsaf‘][‘sfsdg\n‘, ‘sfsakgj\n‘, ‘fdsaf‘]例:startswith(),判断字符串是否以XX开头例:endswith(),判断字符串是否以XX结尾例:swapcase(),字符串大小写互换
test = "MaoDou"v = test.swapcase()print(v)结果:mAOdOU
 

  基本:***join split find strip upper  lower ***

中级:

  1.索引/下标(从0开始)---获取字符串中某一个字符

  例:

  test = "alex"  v = test[0]  print(v)  结果:a

   2.切片:获取字符串某个范围内的字符

  例:>=0 & <1

  test = "alex"  v = test[0:1]  print(v)
  结果:a  
  test = "alex"  v = test[0:-1]  print(v)  结果:ale

   3.len:在python3中:获取当前字符串由几个字符串组成

      在pyhton2中:若字符串是中文 ,例:毛豆  则返回值是6 

  例: 

  test = "alex"  v = len(test)  print(v)   结果:4

  4.for循环

    for  变量名  in   字符串:

  例: 

  test = "毛豆是个毛孩子"  # index = 0  # while index < len(test):  #     v = test[index]  #     print(v)  #     index += 1  # print("====")  for i in test:      print(i)  结果:

  毛
  豆
  是
  个
  毛
  孩
  子

  5.range:帮助创建连续的数字,也可以通过步长设置不连续

  例: 

  v = range(0,100)                  ---连续数字

  v = range(0,100,5)               ---步长为5的不连续数字

  6.将文字对应的索引打印出来

  例: 

  test = input(":")  print(test)  L = len(test)  print(L)  r =range(0,L)              for item in r:        ===for item in range(0,len(item))      print(item, test[item])  结果:

  :cat
  cat
  3
  0 c
  1 a
  2 t

列表:list

列表内的元素可以被修改

中括号括起【】,以,分割元素

列表里的元素可以是数字,字符串,列表,布尔值......所有东西都能放在里面

“集合”内部可以放任何东西

  1.通过索引取值

  例:li = ["a","b",6,[1,2,3],"sss"]

  print(li[1])

  结果:b

  2.通过切片取值,切片结果也是个列表

  例:li = ["a","b",6,[1,2,3],"sss"]

  print(li[1:3])

  结果:["b",6]

  3.修改列表元素

    用切片方式也可以进行修改

 例:索引的方式

  li = ["a","b",6,[1,2,3],"sss"]  li[1] = 120  li[0] = [1,2,"dl"]  print(li)  结果:[[1, 2, ‘dl‘], 120, 6, [1, 2, 3], ‘sss‘]例:切片的方式
  li = ["a","b",6,[1,2,3],"sss"]  li[1:3] = ["bb",60]  print(li)  结果:[‘a‘, ‘bb‘, 60, [1, 2, 3], ‘sss‘]

  4.删除列表元素:del

 例:del 索引的方式

  li = ["a","b",6,[1,2,3],"sss"]  del li[3]  print(li)  结果:[‘a‘, ‘b‘, 6, ‘sss‘]例:del 用切片的方式删除
  li = ["a","b",6,[1,2,3],"sss"]  del li[2:4]  print(li)  结果:[‘a‘, ‘b‘, ‘sss‘]

  5.可以进行for循环

  6.支持in操作

例:查看元素是否在列表中

  li = ["a","b",6,[1,2,3],"sss"]  v = "sss" in li  print(v)  结果:True

  7.列表转换成字符串:把列表中每个元素拼接成一个元素  

  例:需要自信写for循环一个一个处理:既有数字又有字符串

  li = [11,22,33,"123","maodou"]  r = str(li)  print(r)  s = ""  for i in li:      s = s + str(i)  print(s)  结果:

  [11, 22, 33, ‘123‘, ‘maodou‘]        ====整个是个字符串
  112233123maodou

  例:列表中只含有字符串,可以直接使用字符串的join方法

  li = ["123","maod"]  v = "".join(li)  print(v)  结果:123maod
例:append() 追加,在原有值后追加
    li = [11,22,33,44]
    li.append(5)
    print(li)
    结果:[11, 22, 33, 44, 5]
例:extend(),扩展原来的列表,参数:是可迭代对象
    li = [11, 22, 33, 44]
    li.extend([888,"88","狗狗"])
    print(li)
    结果:[11, 22, 33, 44, 888, ‘88‘, ‘狗狗‘]
例:clear() 清空列表
    li = [11,22,33,44]
    li.clear()
    print(li)
    结果:[]
例:copy()复制,拷贝,浅拷贝
    li = [11,22,33,44]
    v = li.copy()
    print(v)
    结果:[11,22,33,44]
例:count()计算元素出现的个数
    li = [11,22,33,44]
    v = li.count(22)
    print(v)
    结果:1
例:index(),根据值获取当前值索引位置,最左优先
    li = [11, 22, 33, 44]
    v = li.index(33)
    print(v)
    结果:2
例:insert()指定索引位置插入
    li = [11, 22, 33, 44]
    li.insert(2,"aa")                ===在第3个位置插入字符串aa
    print(li)
    结果:[11, 22, ‘aa‘, 33, 44]
例:pop() 删除某个值,并且获取删除值,默认删除最后一个元素
    li = [11, 22, 33, 44]
    v = li.pop(2)
    print(li,v)
    结果:[11, 22, 44] 33
例:remove()删除列表中某个值,默认左边有限
    li = [11, 22, 33, 44]
    li.remove(33)
    print(li)
    结果:[11, 22, 44]
例:reverse() 将当前列表进行反转
    li = [11, 22, 33, 44]
    li.reverse()
    print(li)
    结果:[44, 33, 22, 11]
例:sort()排序
    li = [11, 22, 99,342,33, 44]
    li.sort()
    print(li)
    li.sort(reverse=True)
    print(li)
    结果:
    [11, 22, 33, 44, 99, 342]
    [342, 99, 44, 33, 22, 11]

  

元组:tuple

元组,一级元素不可被修改,不能被增加或者删除

写元组时通常在最后加个”,“,为了区分元组还是方法

元组也可以通过索引,和切片取值

元组可以进行for循环,可迭代对象

元组可以和列表,字符串相互转化,和列表类似

例:count(),获取指定元素在元组中出现的次数
例:index(),获取某个值的位置 

字典:dict

key :value

key:布尔值,列表,字典不能作为key值

value:可以是任何值

字典是序的,支持del删除

for循环,默认只有key

例:

info = {    "k1": 18,    "k2": True,    "k3": [11,22,33,            {"kk1":"vv1",             "kk2":(11,22)}           ],    "k4": (11,22,33,44)}for item in info:                ===默认key    print(item)for item in info.keys():         ===循环key    print(item)for item in info.values():       ===循环value    print(item)   print(item,info[item])      ===循环key,value结果:1,2结果相同

  k1
  k2
  k3
  k4
  18
  True
  [11, 22, 33, {‘kk1‘: ‘vv1‘, ‘kk2‘: (11, 22)}]
  (11, 22, 33, 44)

例:del删除

info = {    "k1": 18,    "k2": True,    "k3": [11,22,33,            {"kk1":"vv1",             "kk2":(11,22)}           ],    "k4": (11,22,33,44)}del info["k1"]print(info)del info["k3"][3]["kk2"]print(info)结果:

 {‘k2‘: True, ‘k3‘: [11, 22, 33, {‘kk1‘: ‘vv1‘, ‘kk2‘: (11, 22)}], ‘k4‘: (11, 22, 33, 44)}
 {‘k2‘: True, ‘k3‘: [11, 22, 33, {‘kk1‘: ‘vv1‘}], ‘k4‘: (11, 22, 33, 44)}

例:

info = {    "k1": 18,    "k2": True,    "k3": [11,22,33,            {"kk1":"vv1",             "kk2":(11.22)}           ],    "k4": (11,22,33,44)}print(info)结果:{‘k1‘: 18, ‘k2‘: True, ‘k3‘: [11, 22, 33, {‘kk1‘: ‘vv1‘, ‘kk2‘: 11.22}], ‘k4‘: (11, 22, 33, 44)}

例:通过索引找到"kk2"中的11

info = {    "k1": 18,    "k2": True,    "k3": [11,22,33,            {"kk1":"vv1",             "kk2":(11,22)}           ],    "k4": (11,22,33,44)}v = info["k3"][3]["kk2"][0]print(v)结果:11
例:dict.fromkeys() 根据序列,创建字典,并指定统一值
    v = dict.fromkeys(["k1",123,"999"])
    v1 = dict.fromkeys(["k1",123,"999"],123)
    print(v)
    print(v1)
例:get(),根据key获取值,key不存在时可以指定默认值,不指定默认值为None
    info = {
        "k1": 18,
        "k2": True,
        "k4": (11,22,33,44)
    }
    v = info.get("k1",111)
    print(v)
    v1 =info.get("k8",111)
    print(v1)
     结果:18
              111
例:pop(),删除并获取值
例:setdefault(),设置值,已存在,获取当前key的值
                                   不存在,进行添加,获取key值
    dic = {"k1":"v1","k2":"v2"}
    v = dic.setdefault("k1",123)
    print(dic,v)
    v1 = dic.setdefault("k3",123)
    print(dic,v1)
    结果:
    {‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘} v1
    {‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: 123} 123
例:update(),更新
    dic = {"k1":"v1","k2":"v2"}
    dic.update({"k1":"111","k3": 123})    ===dic.update(k1="111",k3=123)
    print(dic)
    结果:
    {‘k1‘: ‘111‘, ‘k2‘: ‘v2‘, ‘k3‘: 123}

  


布尔:bool

bool()

None ,"" ,(),[],{},0    都是False

----

原文地址:https://www.cnblogs.com/liuchunling/p/10858342.html

时间: 2024-07-29 18:43:36

python开发【二】---运算符&数据类型的相关文章

python笔记二(数据类型和变量、字符串和编码)

一.数据类型 python可以直接处理的数据类型有:整数.浮点数.字符串.布尔值.空值. 整数 浮点数 字符串:双引号内嵌套单引号,可以输出 i'm ok. 也可以用\来实现,\n 换行 \t table 多行字符串用  ''' ''' 布尔值: 可以对布尔值进行与或非运算/ 与and 或or 非not 空值 二.变量 a = 1/ a = "nadech"    与java不同,python在声明一个变量的时候不用指定变量的类型,直接赋值就可以了 在 执行a =1 的时候,pytho

Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化

Python入门(二)--IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化 我们从今天就开始正式的学习PY交易了,PY交易还行,我们有基础之后学习起来倒不是说那么的被动,我学习的是Python2.7,虽然现在随着版本的迁移至Python3,但是这个并不会对我们造成什么困扰,毕竟只是一个适应阶段 我们的学习资料:廖雪峰官方网站Python2.7教程 一.IDE选择PyCharm 我们虽然在前面一章已经配置过,但是我们还是有很多的IDE可以开发Py,比如su

Python之变量、数据类型、运算符

变量与数据类型 1 掌握变量使用及命名规则 1.1 变量赋值 变量赋值通过"="实现, 实例: a = 10 b = 10.11 c = 'abc' 注意事项:变量名尽量具有现实意义 实例:price = 10 Name = '张三' Age = '16' 注意事项:变量的值如果有中文则必须在文件头部声明文件编码 #coding:utf8 1.2 变量命名规则 1.2.1 一般由字母.数字.下划线组成: 实例: i.__my_name.name_21 和 a1b1_c3 1.2.2 不

python变量、运算符、表达式、数据类型

一.变量 变量是计算机内存中的一块区域,存储规定范围内的值,值可以改变,通俗的说变量就是给数据起个名字 1.变量的命名 变量名有字母.数字.下划线组成 数字不能开头 不可以使用关键字 举例:a,a1,a_1 2.变量的赋值 变量的赋值就是变量声明和定义的过程 举例:a=1 3.变量分类 不可变变量:数字.元组().字符串(值变的时候会指向一个新的地址) 可变变量:列表[].字典{}(值变,id不变) 举例: zhzhgo=25定义变量zhzhgo的值为25 id(zhzhgo)查看变量zhzhg

python开发技术详解(二)

文章目录: 数据类型 数据类型 a=1 b=2 print id(a) print id(b) Out[1]: 163578032 Out[2]: 163578032 python开发技术详解(二)

Python基础二:pycharm的安装及简单使用,while循环,格式化输出,运算符, 编码的初识,git

Python基础二: pycharm的安装及简单使用,while循环,格式化输出,运算符, 编码的初识,git 1.pycharm的安装及简单使用 Tab / Shift + Tab 缩进.不缩进当前行 (先选中代码) Shift + 滚轮 放大缩小代码 Ctrl + ? 注释.解注(先选中代码) Ctrl + d 复制上一行代码 Ctrl + z 撤销 Ctrl + Shift + F10 RUN Ctrl + 左键---->点击 int,str 等可查看源码 2.while 循环(重点) w

Python开发【第二十二篇】:Web框架之Django【进阶】

Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205 Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻

Python基础之二:数据类型

四.Python数据类型 数字 字符串 列表 元祖 字典 1.数字类型 整型 表示范围:-2147483648到2147483647,超过该范围的会被当作长整型 示例:num=123 type(num)-返回<type 'int'>,用来测试变量的类型 长整型 表示范围:任意大整数,后跟L或l与整型区别 示例:num=1l type(num)-返回<type 'long'> 浮点型 示例:num=12.0 type(num) -返回<type'float'> 复数型 示

Python服务器开发二:Python网络基础

Python服务器开发二:Python网络基础 网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括:传输层的 FTP,UDP,TCP协议等,网络层的ip协议等,高层协议如HTTP,telnet协议等,HTTP是TCP/IP的一个子协议. socket是对TCP/IP协议的封装和应用(程序员层面上).也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如

python 基础篇(二)数据类型概述

正式进入python的学习. 数据类型可以分为身份,类型,数据项三项联合组成. 身份: id() 类型:type() 数据类型:int,boolean,tuple,string,dict,list 1.不可变类型:int,string,tuple,boolean 2.可变类型:dict,list. 可变不可变是指当前引用类型的数据项是否改变 所有的id都是唯一的. 不需要提前定义,是动态类型. 一.变量的赋值都是引用,id()表示的后面的引用,我们以boolean为例 可以看出id变了,事实上a