Python开发【第三篇】:Python基本数据类型

运算符

1、算数运算:

2、比较运算:

3、赋值运算:

4、逻辑运算:

5、成员运算:

基本数据类型

1、数字

int(整型),所有的功能,都放在int里

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
 int

- int  将字符串转换为数字
a = "123"
print(type(a),a)

b = int(a)
print(type(b),b)

num = "0011"
v = int(num, base=16)
print(v)


- bit_lenght  当前数字的二进制,至少用n位表示
r = age.bit_length()


2、布尔值
  真或假
  1 或 0
3、字符串
"hello world"
test="alex"
v=test.capitalize()  首字母大写
v=test.casefold()    所有变小写(很多未知的对应变小写)
 
test="alex"
v1=test.lower()    所有变小写
v2=test.islower()   判断是否全部是小写
 
test="alex"
v1=test.upper()     所有变大写
v2=test.isupper()   判断是否全部是大写
 
test="this is title"
v1=test.title()     把每个首字母转换成大写(转成标题)
v2=test.istitle()    判断每个首字母是否是大写(判断是否是标题)
 
test="alex"
test.ljust(20,"*")  总长度20个字符,左边用*填充
test.rjust(20,"*")  总长度20个字符,右边用*填充
test.center(20,"*")  总长度20个字符,居中,空白*填充
test.zfill(20)    总长度20个字符,左边填充,不能指定字符只能用0填充
 
test="alex"
test.lstrip()  去除字符串左边换行、空格、指定内容
test.rstrip()  去除字符串右边换行、空格、指定内容
test.strip()   去除字符串换行、空格、指定内容
 
test.count("le",1,2)   从字符串中寻找子序列出现的次数,从第2位开始找到第3位
test.endswith("x")   判断以什么结尾
test.startswith("a")  判断以什么开头
test.find("le",1,2)   从开始往后找,找到第一个之后,获取其位置
test.index("le")  找不到报错
 
test=" I am {name},age {a}"
v1=test.format(name='alex',a=18)  格式化占位符,将一个字符串中的占位符替换为指定的值,当占位符为数字时可直接写值
v2=test.format_map({"name":'alex',"a":18})  格式化占位符,传入的值{"name":'alex',"a":18}
 
test="adfbg123"
v1=test.isalnum()  判断字符串中是否只包含字母和数字
v2=test.isalpha()   判断字符串中是否是字母汉字
 
test="123456"
v1=test.isdecimal()  判断字符串是否是十进制数字  
v2=test.isdigit()    判断字符串是否是数字(②、2)
v3=test.isnumeric()  判断字符串是否是数字(②、2、二、贰)
 
test="abcdef\thfjjjjj\n"
v=test.isprintable()  判断是否存在不可显示的字符(\t  \n)
 
test="    "
v=test.isspace()  判断是否全部是空格
 
test="你是风儿我是沙"
t="_"
v=t.join(test)  或v="_".join(test)  将字符串中的每一个元素按照指定分隔符进行拼接(重要)
print(v)
 
 v="adfdglasjfalsfaogmavndfa"
m="str.makestrans("adfsj","12345")  对应关系
new_v=v.translate(m)         替换
 
分割,正则表达式也可分割
test="testtest"
v=test.partition('s')  左分割
v=test.rpartition('s')  右分割
v=test.split('s',2)  左分割但不包含,可分割的个数
v=test.rsplit('s',2)  从右边开始分割  
v=test.splitlines()  只能根据换行符分割,可加ture或false是否保留换行符
 
test="backend 1.1.2"
v=test.startswith('ba')  判断是以什么开头的
v=test.endswith('2')    判断是以什么结尾的
 
test="alex"
v=test.swapcase()  大小写转换
 
test="username\temail\tpassword\nlaiying\tying@qq.com\t123"
v=test.expandtabs(20)  断句20
a="def"
v=a.isidentifier()  字母、数字、下划线:标识符 def  class
 
test=("alexalexalex")
v=test.replace("ex","by")   替换
v=test.replace("ex","by",1)  替换第一个  
 
#range:帮助创建连续的数字,或通过设置步长来指定不连续
v=range(0,100) 或v=range(0,100,5)
for item in v:
  print(item)

###########   7个黑魔法   ###########
join
split
find
strip
upper
lower
replace
 
###########   4个灰魔法   ###########
 注:字符串一旦被创建就不可修改,一旦修改或拼接,都会造成重新生成字符串

移除空白

分割

for循环  break/continue也适用

  格式:for 变量名 in 字符串:

      print(变量名)

  

②长度(len):获取当前字符串中有几个字符组成

  •       test="alex"
  •       v=len(test)
③索引/下标:

v=[3]    ——获取字符串中的某一个字符

v=test[0:3]   ——索引范围

④切片:

v=test[0:-1]   #0<=    <1

 

###########   1个深灰魔法   ###########
 注:字符串一旦被创建就不可修改,一旦修改或拼接,都会造成重新生成字符串

 

 str
4、列表
创建列表:
1
2
3
name_list = ['alex''seven''eric']
name_list = list(['alex''seven''eric'])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
 list
5、元祖
创建元祖:
1
2
3
ages = (1122334455)
ages = tuple((1122334455))
基本操作:
  • 索引
  • 切片
  • 循环
  • 长度
  • 包含
 tuple
6、字典(无序)
创建字典:
1
2
3
person = {"name""mr.wu"'age'18}
person = dict({"name""mr.wu"'age'18})

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度
 dict
PS:循环,range,continue 和 break

其他

1、for循环
用户按照顺序循环可迭代对象中的内容,
PS:break、continue
1
2
3
li = [11,22,33,44]
for item in li:
    print item
2、enumrate
为可迭代的对象添加序号
1
2
3
li = [11,22,33]
for k,v in enumerate(li, 1):
    print(k,v)
3、range和xrange
指定范围,生成指定的数字
1
2
3
4
5
6
7
8
print range(110)
# 结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
 
print range(1102)
# 结果:[1, 3, 5, 7, 9]
 
print range(300-2)
# 结果:[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]  

练习题

一、元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

二、查找
查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
    li = ["alec", " aric", "Alex", "Tony", "rain"]
    tu = ("alec", " aric", "Alex", "Tony", "rain") 
    dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
 
三、输出商品列表,用户输入序号,显示用户选中的商品
    商品 li = ["手机", "电脑", '鼠标垫', '游艇']
 
四、购物车

功能要求:

  • 要求用户输入总资产,例如:2000
  • 显示商品列表,让用户根据序号选择商品,加入购物车
  • 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
  • 附加:可充值、某商品移除购物车
1
2
3
4
5
6
goods = [
    {"name""电脑""price"1999},
    {"name""鼠标""price"10},
    {"name""游艇""price"20},
    {"name""美女""price"998},
]

 五、用户交互,显示省市县三级联动的选择

1
2
3
4
5
6
7
8
9
10
11
12
13
dic = {
    "河北": {
        "石家庄": ["鹿泉""藁城""元氏"],
        "邯郸": ["永年""涉县""磁县"],
    }
    "河南": {
        ...
    }
    "山西": {
        ...
    }
 
}
 

 

posted @ 2019-04-20 23:12  Code小王子  阅读(154)  评论(0)    收藏  举报