python 床前明月光_python基础2

1、运算符

①结果是数值:

算术运算符: +、-、*、/、%、//

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

②结果是布尔值:

成员运算: in      not in

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

逻辑运算:  and  or(括号优先)

***Ctrl+?   注释(#)

2、数据类型

(1)数字:整数、浮点

python3     int

python2     int       long

方法: ①print(int('123'))——字符串转化成整数

②type()——查看类型

③16进制转化成10进制

num = "a"

print(int(num,base=16))

④ bit_length()——当前数字的二进制,至少n位表示

#二进制 1—1 2—10 3—11 4—100 5—101

num=5r=num.bit_length()print(r) #3

(2)字符串   str

方法:   find()   strip()   split()   join()   upper()  lower()  replace()

test='moTohalu'

#首字母大写

v1=test.capitalize()

print('首字母大写:'+ v1)

#所有字母变小写

v2=test.lower()

print('所有字母变小写:'+ v2)

#设置宽度,并将内容居中,20—是总长度,“*”空白位置填充

v3=test.center(20,"*")

print('居中:'+ v3)

#寻找字符串中子序列的个数

v4=test.count('o',3)

print(v4)

#是否以...开始,以...结尾,返回布尔值

v5=test.endswith("u")

print(v5)

v6=test.startswith("m")

print(v6)

#从开始往后找,找到第一个,获取其位置(可以设置起始位置和结束位置 >和<=)

#未找到 -1

# index()方法若未找到则报错

v7=test.find("lu")

print(v7)

#格式化,将一个字符中占位符替换为指定的值

read1= 'I am {name},age {a}'

v8=read1.format(name='Amy',a=33)

print(v8) ##I am Amy,age 33

#占位符的位置

read2= 'I am {0},age {1}'

v9=read2.format('apple',77)

print (v9) ##I am apple,age 77

###断句20个位置 \t 制表符 \n 换行,可制作类似表格

test2='username\tpassword\temail\nhujuanju\t12334\tsdffdc@163.com'

v10=test2.expandtabs(20)

print(v10)

###结果 username password email

####### hujuanju 12334 sdffdc@163.com

是否判断型方法

#判断字符串中只包含字母和数字,结果是布尔值

test='sdsfdg__'

v11=test.isalnum()

print(v11) ###False

#是否字母(汉字也行),返回布尔值

test1='dscfd董'

v12=test1.isalpha()

print(v12)

#是否是数字,返回布尔值

##123 true true

##① true true

##一二 false true

test2='1234'

v13=test2.isdigit()

v14=test2.isalnum()

print(v13,v14)

#是否全部是空格

test3=' '

v15=test3.isspace()

print(v15)

#是否是标题,每一个字母首字母大写

test4='Return money host'

v16=test4.istitle()

print(v16) ##False

v17=test4.title()

print(v17) ###Return Money Host

#将字符串中的每一个元素按照指定分隔符进行拼接

test='床前明月光'

v18='-'.join(test)

print(v18) ##床-前-明-月-光

#left左边填充*满20个字符

v19=test.ljust(10,"*")

print(v19) ##床前明月光*****

#right右边填充*满20个字符

v20=test.rjust(10,"*")

print(v20) ##*****床前明月光

#小写

test='BOBfdsv'

v21=test.islower()

v22=test.lower()

print(v21,v22) ###False bobfdsv

#大写

test='BOBfdsv'

v23=test.isupper()

v24=test.upper()

print(v23,v24) ###False BOBFDSV

#### 默认 去除空格 和 \n \t

#### 去除某个元素(优先最多匹配)

test=' gulu gulu'

v25=test.lstrip()

v26=test.rstrip('dlu')### gulu g

v27=test.strip(' ')###左右都去

print(v26)

## 分割成3份(包含分割的元素)

test="疑似地上霜疑似地上霜地上霜"

v28=test.partition('霜')

print(v28) ##('疑似地上', '霜', '疑似地上霜地上霜')

v29=test.rpartition('霜')

print(v29) ##('疑似地上霜疑似地上霜地上', '霜', '')

##分割(不包含分割的元素)

v30=test.split('霜')

print(v30) ##['疑似地上', '疑似地上', '地上', '']

##换行分割

test1='fedbg\ndefvd\n'

v31=test1.splitlines()

print(v31)

##大小写转换

test='aBcDeFg'

v32=test.swapcase()

print(v32) ###AbCdEfG

##替换

test="静夜思静夜hh静夜hdh"

v33=test.replace("静夜","姑姑",2)

print(v33) ##姑姑思姑姑hh静夜hdh

len()    join()   for循环  索引    切片    在其他数据类型也能使用

索引(下标,从0开始)

##索引,获取字符串中的某一个字符

test='abcdefg'

v1=test[3] ### d

print(v1)

##范围索引

v2=test[0:2] ## >=0&&<2

print(v2) ## ab

##切片

v3=test[0:-1]

print(v3) ###abcdef

##字符长度

v4=len(test)

print(v4) ## 7

##汉字 python3—3 python2—9

v5=len('哈哈哈')

print(v5)

###len() join() 在其他数据类型也能使用

###单个字符输出(循环)

test='葫芦噶华丽的时间长了'

#### while

index = 0

while index < len(test):

v1=test[index]

print(v1)

index += 1

print('---END---')

### for

for v2 in test:

print(v2)

test=' 咕噜冒泡呼呼呼哈'

for item in test:

print(item)

break ### 咕 结束整个循环

for item in test:

print(item)

continue ## 终止当前循环

*****字符串一旦创建,不可修改,一旦修改或拼接,都会重新生成新的字符串

range()

### range 创建连续的数字

v1=range(100)

print(v1) ###range(0, 100) (>=0 && <100)

for item in v1:

print(item) ###输出 0 1 2 ...99

###步长为5

v2=range(0,100,5)

print(v2)

for item in v2:

print(item) ###输出 0 5 10 ...95

####将用户输入的索引打印出来

test = input('>>>')

print('输入的字符为:'+test)

l = len(test)

print('输入字符的长度为:',l)

r = range(0,l)

for item in r:

print(item,test[item])

(3)布尔值    bool                    True  \  Flase

False:  None   " "    ()  [ ]   { }   0

(4)列表 List

列表是有序的,元素可以被修改

—中括号括起来   [   ]

— ,分割每个元素

— 列表中可以是数字,字符串,布尔值,列表...

— 索引取值

— 切片取值,切片结果仍是列表

— for循环

— while循环

— in操作

— 列表元素,可以被修改(链式存储)

li = [1, 3, 5, 'kkkk', '噗噗吗', ['dsc', 89]]

print(li)

##索引修改

li[2] = '第二'

print(li) ##[1, 3, '第二', 'kkkk', '噗噗吗', ['dsc', 89]]

##索引删除

del li[1]

print(li) ##[1, '第二', 'kkkk', '噗噗吗', ['dsc', 89]]

##切片修改

li[1:3] = [23, 'saas']

print(li) ##[1, 23, 'saas', '噗噗吗', ['dsc', 89]]

##切片删除

del li[0:3]

print(li) ##['噗噗吗', ['dsc', 89]]

### 嵌套查找

li = [1, 3, 5, 'kkkk', '噗噗吗', ['dsc', 89,'咕咕哒'],True]

print(li[5][0][1]) ## s

字符串和列表相互转换

### 字符串转换成列表

s = 'ssfervh1232'

new_li = list(s)

print(new_li) ###['s', 's', 'f', 'e', 'r', 'v', 'h', '1', '2', '3', '2'# ]

### 数字不能直接转换成列表

### 列表转字符串

li = [12, 34, 45, 'ddsc', 'sds']

print(str(li)) ### [12, 34, 45, 'ddsc', [334, 'dfs', True]]

###自写for循环(既有数字又有字符串)

s = ''

for i in li:

s = s + str(i)

print(s) ###123445ddscsds

####列表元素只有字符串

li = ['ds', '普马马', 'dcs']

v = ''.join(li)

print(v) ###ds普马马dcs

方法:

## 在列表最后增加元素

li = [23,54,345,'dgs',23,23]

li.append(55)

print(li) ###[23, 54, 345, 'dgs', 55]

###计算元素出现的个数

n = li.count(23)

print(n) ### 3

###扩展原列表, 参数,可迭代对象

li.append([776,'fsvt'])

print(li) ###[23, 54, 345, 'dgs', [776, 'fsvt']]

li.extend('不肯')

print(li) ### [23, 54, 345, 'dgs', '不', '肯']

li.extend([776,'fsvt'])

print(li) ###[23, 54, 345, 'dgs', 776, 'fsvt']

### 获取当前值索引位置(左边优先),可设置起止位置

li=[22,23,45,23]

v = li.index(23)

print(v) ### 1

### 在指定索引位置插入元素

li =['vw',465,67,'fgd']

li.insert(1,'一号') ###['vw', '一号', 465, 67, 'fgd']

### pop() 默认删除最后一个元素,并获取

li =['vw',465,67,'fgd']

v = li.pop()

print(li,v) ### ['vw', 465, 67] fgd

### 也可指定索引

li =['vw',465,67,'fgd']

v = li.pop(2)

print(li,v) ##['vw', 465, 'fgd'] 67

### 删除列表中的指定值,左边优先

li =['vw',465,67,'fgd',67]

v = li.remove(67)

print(li) ## ['vw', 465, 'fgd', 67]

### 删除 pop() remove() del li[4] del li[1:4]

### 将当期列表进行反转

li =['vw',465,67,'fgd',67]

v = li.reverse()

print(li) ### [67, 'fgd', 67, 465, 'vw']

### 排序

li = [22,44,66,12,53,33]

li.sort() ##从小到大 ## [12, 22, 33, 44, 53, 66]

li.sort(reverse=True) ##从大到小 ## [66, 53, 44, 33, 22, 12]

print(li)

(5)元祖  tuple

元祖,有序,元素不可被修改,不能被增加或删除

— 括号包含元素  (  )

— 一般写元祖,推荐最后加 ,

— 索引

— 可以切片

tu = (12,44,34,'dsdf')

print(tu)

## 索引

print(tu[0]) ### 12

##切片

print(tu[1:3]) ## (44, 34)

## for循环 , 可迭代对象

for i in tu:

print(i)

#### 字符串、列表、元祖 -—可迭代对象

### 字符串转换成元祖

s = 'effesd'

tu = tuple(s)

print(tu) ##('e', 'f', 'f', 'e', 's', 'd')

### 列表转换成元祖

li = ['ds',23,443]

tu = tuple(li)

print(tu) ###('ds', 23, 443)

### 元祖转换成列表

tu = ('fewsf',223,23)

li = list(tu)

print(li) ## ['fewsf', 223, 23]

### 字符串转换成元祖 (只有字母)

tu = ('ds','sdas','sad')

v = "".join(tu)

print(v) ### dssdassad

### 字符串转换成元祖 (既有数字又有字母)

tu = ('fewsf',223,23)

s=""

for i in tu:

s += str(i)

print(s) ## fewsf22323

## 嵌套获取

tu = ('wd',12,('ssa',12),(['sdd',2333],23),'sa',True)

print(tu[3][0][1]) ###2333

##元祖一级元素不可修改,元祖内嵌套的列表可以修改

tu = ('wd',12,('ssa',12),(['sdd',2333],23),'sa',True)

tu[3][0][1] = 555

print(tu) ###('wd', 12, ('ssa', 12), (['sdd', 555], 23), 'sa', True)

方法:  count()     index()

(6)字典 dict

—  字典的value可以是任何值

— 字典的key 不能用 布尔值(可用,和0、1重复)、列表、字典

— 字典 无序(可用for、不可用while)

info = {"k1": "v1", ##键值对

'df': 123,

1: "sdsd",

(12, 34): ['dsfs', 34],

'sds': True}

print(info) ## {'k1': 'v1', 'df': 123, 1: 'sdsd', (12, 34): ['dsfs', 34], 'sds': True}

### 索引方式找到指定元素

v = info[(12, 34)][1]

print(v) ## 34

### 删除

del info['sds']

print(info) ##{'k1': 'v1', 'df': 123, 1: 'sdsd', (12, 34): ['dsfs', 34]}

## for循环

for i in info:

print(i) #### 获取key

for i in info.keys():

print(i) #### 获取key

for i in info.values():

print(i) #### 获取values

for k, v in info.items():

print(k, v) ### 获取key 和 value (键值对)

方法: clear()  —清空    copy()—拷贝

keys()      value()    items()   get   update

### 根据序列创建字典,并指定特定的值,默认为None

v=dict.fromkeys(["k1",123,"er"],123)

print(v) ### {'k1': 123, 123: 123, 'er': 123}

### get() 根据key取字典的value,key不存在时,可以指定值,默认为None

info = {"k1":"vv"}

v = info.get("k111","没这个key!")

print(v)

### 删除,并可返回value

dic = {"k1":"vv",

"k2":"uuu"}

v = dic.pop('k2')

print(v) ###获取删除的value uuu

### 删除(随机),返回key+value

k,v = dic.popitem()

print(k,v)

### 设置值

### 若不存在,设置值

dic = {"k1":"vv",

"k2":"uuu"}

v = dic.setdefault('k3',123)

print(dic) ###{'k1': 'vv', 'k2': 'uuu', 'k3': 123}

### 若已存在,不设置,获取当前key的值

v = dic.setdefault('k2',44)

print(v) ## uuu

print(dic) ## Process finished with exit code 0

### 更新

dic = {"k1":"vv",

"k2":"uuu"}

dic.update(k1=123,k3='sadd')

print(dic) ### {'k1': 123, 'k2': 'uuu', 'k3': 'sadd'}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值