人工智能方向学习第二天

python学习第二天

字符串与编码:

  1. ascii编码只能编写英文字符串,如果想要使用中文字符串,就需要用到unicode,但unicode编码要比ascii编码多一倍的存储空间,所以速度会很慢,需要转化成“可变长编码”的UTF-8编码,他把unicode编码按照不同数字大小编码成1-6个字节,常用英文是1个,常用汉语是3个,这样会节约空间。
  2. python的字符串是以unicode编码的,所以支持多种语言,ord()函数提供字符的整数表示,而chr()函数提供将编码转化成字符,如ord(‘中’)=20013,chr(20013)=中,而在字符串的传输和保存过程中,需要转化成bytes型,以unicode表示的str通过encode()方法可以编码为指定的bytes,例如:abc.encode('ascii')=b'abc','中文'.encode('utf-8')=b'\xe4\xb8\xad\xe6\x96\x87'而反之可以用decode()可以反向转化b'ABC'.decode('ascii')='ABC'
  3. len()函数可以计算str中有多少字符,如len(‘abc’)=3,也可以计算bytes的字节数,如len(b’abc’)=3,len(b’\xe4\xb8\xad\xe6\x96\x87’)=6,len(‘中国’.encode(‘utf-8’))=6。
  4. 格式化有三种方式,一种是与c语言相似,如print('我是%s,我%d岁'%('jack',18)),第二种是format格式化,如print('我是{0},我{1}岁'.format('jack',18)),第三种是f-string型,print('我是{'jack'},我{18}岁')当然{}中可以格式控制如{18.d}。

数据类型

  1. list型,是一个列表,有序集合,是可以随意删减修改的,如classmate['a','b','c'],len(classmate)=3)我创建了一个含三个元素的有序列表,如果我想获得最后一个元素,我可以写classmate[2]或是classmate[-1]此时如果我想要删掉其中一个元素,classmate.pop(2)这时我就删掉了最后一个元素,如果我又回心转意了,我要加上他,这时,我可以classmate.append('c')也可以classmate.insert(2,'c')
  2. tuple型,一旦初始化就不能修改,如t=(1,2),但这里有一个特殊情况,如果只有一个元素,那么逗号不能掉如t=(1,),如果掉了就会默认是一个数而不是列表,但tuple中的元素可以是任何类型,所以你可以将其中一个元素设为list型,这样就可以通过修改这个元素来修改这个列表。
  3. dict型,在其他语言中被称为map,使用键-值储存,具有极快的查找速度,d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} d['Michael'] =95,这时一种以空间换时间的方法。
  4. set型set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
    要创建一个set,需要提供一个list作为输入集合s = set([1, 2, 3]) s {1, 2, 3},s.add(),s.remove()。

条件判断和读取和模式匹配

  1. 和c语言一样,用的是if else,但c语言在写多个的时候用的是elseif而这里用的是elif,如if a>2:a++ elif a<2: a-- else a==2:pass
  2. 读取用的是input()函数,如x=input('x:')代表的是x:,然后你输入一个数你读取。但有一个要注意的地方,input()的输出是一个str型,即你输入一个1,他会输出’1’,所以你需要用强制转化符如int()去转化结果。
  3. 模式匹配与条件判断基本上是一样的功能,但在情况较多的情况下提高了程序的可读性,如:
    `score = ‘B’
    match score:
    case ‘A’:
    print(‘score is A.’)
    case ‘B’:
    print(‘score is B.’)
    case ‘C’:
    print(‘score is C.’)
    case _: # _表示匹配到其他任何情况
    print(‘score is ???.’)
    这里有一个需要注意的地方,case_表示其他情况,case后面的东西可以是多个这就需要用 | 来隔开如a|b。

循环

  1. 如果我要输出一个列表中的所有元素,如·list1=[1,2,3],for x in list1:print(x),如果我要计算1到100的值,那么我就需要range()函数,range(x)指输出从1到小于x的整数,这个x必须是整数,sum=0,for x in range(101):sum=sum+x,while,break,continue和c语言基本一样。
  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值