python 基础学习 2

and or not:

逻辑运算:在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

  优先级:() > not > and > or

  x or y  x为非0,则返回x;

  x and y ,x为真,则返回y;

      x or y , x为真,值就是x,x为假,值是y;

              x and y, x为真,值是y,x为假,值是x。

  int--->bool ,非零转化成bool为true,零转化成bool为false。

        只要是0就是false,非0就是true

  bool--->int,true--->1,false--->0

  in,not in :

  判断子元素是否在原字符串(字典,列表,集合)中:

#print('喜欢' in 'dkfljadklf喜欢hfjdkas')
#print('a' in 'bcvd')
#print('y' not in 'ofkjdslaf')

 

字符串的索引与切片:

  索引:s1 = s[0]

    索引下标从0开始。

a = 'ABCDEFGHIJK'
print(a[0])
print(a[3])
print(a[5])

  切片:切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串,步长可为负数。

     顾头不顾尾,前开后闭

a = 'ABCDEFGHIJK'
print(a[0:3])
print(a[2:5])
print(a[0:]) #默认到最后
print(a[0:-1]) #-1就是最后一个
print(a[0:5:2]) #加步长
print(a[5:0:-2]) #反向加步长

  while 1 比 while true 效率高,因为计算机最终识别的是二进制0和1。

int方法

int.bit_length:表示数字的二进制值有效位数

字符串方法

  capitalize:首字母大写

  upper:字符串全大写

  lower:字符串全小写

  swapcase :大小写翻转

  title:每个单词首字母大写

#captalize,swapcase,title
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
msg='egon say hi'
print(msg.title()) #每个单词的首字母大写

  

  center:居中

# 内同居中,总长度,空白处填充
ret2 = a1.center(20,"*")  
print(ret2)

  count:字符串中该元素出现的个数

#数字符串中的元素出现的个数。
# ret3 = a1.count("a",0,4) # 可切片
# print(ret3)

  expandtads

a2 = "hqw\t"
#\t前面的补全
# 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
ret4 = a2.expandtabs()
print(ret4)

  startwith:

  endwith:

a4 = "dkfjdkfasf54"
#startswith 判断是否以...开头
#endswith 判断是否以...结尾
# ret4 = a4.endswith('jdk',3,6)  # 顾头不顾腚
# print(ret4)  # 返回的是布尔值
# ret5 = a4.startswith("kfj",1,4)
# print(ret5)

 

  find:通过元素找索引,找不到为-1

#寻找字符串中的元素是否存在
# ret6 = a4.find("fjdk",1,6)
# print(ret6)  # 返回的找到的元素的索引,如果找不到返回-1

 

  index:通过元素找索引,找不到报错

# ret61 = a4.index("fjdk",4,6)
# print(ret61) # 返回的找到的元素的索引,找不到报错。

  split:以什么分割,最终形成一个列表,此列表不含有这个分割的元素

#split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
# ret9 = 'title,Tilte,atre,'.split('t')
# print(ret9)
# ret91 = 'title,Tilte,atre,'.rsplit('t',1)
# print(ret91)

  strip:

#strip
name='*egon**'
print(name.strip('*')) 
print(name.lstrip('*'))
print(name.rstrip('*'))

  format三种格式化输出:

#format的三种玩法 格式化输出
res='{} {} {}'.format('egon',18,'male')
res='{1} {0} {1}'.format('egon',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='egon',age=1  8)

  replace:字符替换(old,new,count)

#replace
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))

  is系列

#####is系列
name='jinxin123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成

 

  len:字符长度

  isdight:返回是否为数字的bool值

  startwith:判断首字母是否为xxx

  

  字符串 str---->bool ,''--->false

      "0"--->true

python在编译安装时,可以通过参数,分别用于指定使用2个字节或者4个字节表示一个Unicode字符;python3无法进行选择,默认用ucs4.

  

数据类型:

  int 用于1,2,3计算

  bool true false 用户判断

  str:存储少量数据,进行操作  'xxxxx'

  list:存储大量数据  [1,2,3,'xxxxx']

  元组tuple:只读  (123,'xxx')

  dict:字典

     {'kobe':'player','age':28}

  集合:{2,3,4}

列表的增删改查

  他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型

  增加:append(‘a’),添加在列表末尾;

      insert(index,'a'),  

      插入;extend();插入可迭代对象。

li = [1,'a','b',2,3,'a']
# li.insert(0,55) #按照索引去增加
# print(li)
#
# li.append('aaa') #增加到最后
# li.append([1,2,3]) #增加到最后
# print(li)
#
# li.extend(['q,a,w']) #迭代的去增
# li.extend(['q,a,w','aaa'])
# li.extend('a')
# li.extend('abc')
# li.extend('a,b,c')
# print(li)

 

  删除:pop(index),按照索引删除;

      remove(‘x’)按元素去删除;

      clear()清空列表,但不会删除列表;

# l1 = li.pop(1) #按照位置去删除,有返回值
# print(l1)

# del li[1:3] #按照位置去删除,也可切片删除没有返回值。
# print(li)

# li.remove('a') #按照元素去删除
# print(li)

# li.clear() #清空列表

 

      def list,删除列表;可以切片删除def list[0:3]

  改:直接给列表元素赋值;list[1] = ‘1’,赋值的是可迭代对象

#
# li = [1,'a','b',2,3,'a']
# li[1] = 'dfasdfas'
# print(li)
# li[1:3] = ['a','b']
# print(li)

 

  查:for 循环  for i in list

      切片去查,或者循环去查。

  其他方法

      count():统计某个元素在列表中出现的次数

1 a = ["q","w","q","r","t","y"]
2 print(a.count("q"))

      sort():用于在原位置对列表进行排序。反序sort(reserve = true)

1 a = [2,1,3,4,5]
2 a.sort()# 他没有返回值,所以只能打印a
3 print(a)
4 a.reverse()#他也没有返回值,所以只能打印a
5 print(a)

 

公共方法

  len();测量列表长度

 

列表的嵌套

元组tuple

  元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组

  只读列表,可循环查询,可切片。其中的元素不能改,元组中含列表,列表中的元素可以改。

字典dict

  字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

  字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

  增:

     setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。

# dic['li'] = ["a","b","c"]
# print(dic)
# setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。
# dic.setdefault('k','v')
# print(dic)  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
# dic.setdefault('k','v1')  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
# print(dic)

  删:

    pop();popitem();clear();

# dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值
# print(dic_pop)
# del dic["name"]  # 没有返回值。
# print(dic)

# dic_pop1 = dic.popitem()  # 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回
# print(dic_pop1)  # ('name','jin')

# dic_clear = dic.clear()  # 清空字典
# print(dic,dic_clear)  # {} None

字典的删

  改

    update()

#
# dic = {"name":"jin","age":18,"sex":"male"}
# dic2 = {"name":"alex","weight":75}
# dic2.update(dic)  # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
# print(dic2)

  查

    get()

# value1 = dic["name"]  # 没有会报错
# print(value1)
#
# value2 = dic.get("djffdsafg","默认返回值")  # 没有可以返回设定的返回值
# print(value2)

  其他方法:

      

# item = dic.items()
# print(item,type(item))  # dict_items([('name', 'jin'), ('sex', 'male'), ('age', 18)]) <class 'dict_items'>
# 这个类型就是dict_items类型,可迭代的

# keys = dic.keys()
# print(keys,type(keys))  # dict_keys(['sex', 'age', 'name']) <class 'dict_keys'>

# values = dic.values()
# print(values,type(values))  # dict_values(['male', 18, 'jin']) <class 'dict_values'> 同上

  字典的循环:

      

# dic = {"name":"jin","age":18,"sex":"male"}
# for key in dic:
#     print(key)
# for item in dic.items():
#     print(item)
# for key,value in dic.items():
#     print(key,value)  

其他(for ,enumerate,range)

for循环:用户按照顺序循环可迭代对象的内容  

enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。

range:指定范围,生成指定数字。    

    join,列表转化为字符串。

    join 链接列表中的字符串

  range(0,1..100...),for i in range():

 

转载于:https://www.cnblogs.com/liu-yong/p/9167290.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值