python实训day1

今日作业:

    name=' aleX'
    print(name)
    print(name.strip())
    print(name.startswith('al'))
    print(name.endswith('X'))
    name=name.replace('l','p')
    print(name)
    name1=' aleX'
    print(name1.split('l'))
    print(name1.upper())
    print(name1.lower())
    print(name1[1])
    print(name1[2])
    print(name1[-2])
    name2=name1[0:-1]
    print(name2)
   
   
    str1='my name is wangjialin,my age is 18.'
    print(str1[3])#输出某一位置的字符
    print(str1[3:7])#切片
    print(str1[3:10:2])#步长
    print(len(str1))#长度
    print('x'in str1)#判断字符是否在字符串内
    print('T'not in str1)
    print('h'in str1)
    str2='   my name is wangjialin,my age is 18.    '
    print(str2)
    print(str2.strip())
    list1=str2.split(' ')
    print(list1)
    for line in str1:
        print(line)
        print(line, end=" ")
    #去除空格或指定符号
    str3='   my name is liziheng,my age is 20.'
    str4='my name is liziheng,my age is 20.    '
    print(str3.lstrip())
    print(str4.rstrip())
    str5='****my name is liziheng,my age is 20.'
    str6='my name is liziheng,my age is 18.****'
    print(str5.lstrip('*'))
    print(str6.rstrip('*'))
    str7='my name is LiZiHeng'#大小写转换
    print(str7.lower())
    print(str7.upper())
    print(str7.startswith('my')) #判断首尾字母
    print(str7.startswith('My'))
    print(str7.endswith('LiZiHeng'))
    print(str7.endswith('LiZiHeng'))
    str8='my name is {},my age is {}'#format方式1
    str8=str8.format('liziheng',20,111) #111不输出
    print(str8)
    str8='my name is {0},my age is {1}'#方式2
    str8=str8.format('liziheng',20,111)
    print(str8)
    str8='my name is {name},my age is {age}'#方式3
    str8=str8.format(age=20,name='liziheng')
    print(str8)
    #split,rsplit左右切分
    name='liziheng'#join(拼接的必须是字符串类型)
    age='20'
    print(':'.join([name,age]))
    name1='liziheng jacob'
    name=name1.replace('liziheng','jacob')#代替
    ID=input('输入ID:')#判断字符串是否为数字
    print(ID)
    print(type(ID))
    print(ID.isdigit())
    list=['liziheng',20,'male,',3,10]
    print(list[4])#正反向取值
    print(list[-2])
    print(list[1:4])#切片(顾头不顾尾)
    print(list[0:4:2])#步长
    print(len(list))
    print('liziheng'in list)#in与not in
    print('liziheng' not in list)
    list.append('王健林')#追加
    list.append('lilian')
    print(list.pop(2))#删除pop为取出remove为删除
    level=list.pop(3)
    print(level)
    print(list)
    name2=list.remove('liziheng')
    print(name2)
    print(list)
    for line in list:    #循环
        print(line)
今天是python实训的第一天,老师由当下最前沿最热门最高端的人工智能引出话题,讲到了人工智能的用处以及发展趋势,我了解到了当前人工智能领域常用的开发语言就是python,因此学好python也是为未来做一份打算
课堂笔记:
1.变量名(指向值所在的空间),等号,变量值
>>>name = 'Kermit'
>>>sex = 'male'
>>>age = 18
>>>level = 10

 

 


变量在内存


2.变量的定义规范
1. 变量名只能是 字母、数字或下划线的任意组合
2. 变量名的第一个字符不能是数字
3. 关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']


3.定义方式:
驼峰体
>>>AgeOfOldboy = 56
>>>NumberOfStudents = 80

下划线(推荐使用)
>>>age_of_oldboy = 56
>>>number_of_students = 80


4.定义变量名不好的方式
变量名为中文、拼音
变量名过长
变量名词不达意


5.定义变量会有:id,type,value
1. 等号比较的是value
2. is比较的是id

python小计数池(python优化机制):
在变量值产生后指定的范围内,
在内存中事先开辟一块内存空间,
然后分别把指定范围内的变量存放进去

#判断值是否相等
>>>print(x == y)

#判断id是否相等
>>>print(x is y)

强调:
1. id相同,意味着type和value必定相同
2. value相同type肯定相同,但id可能不同,如下

>>>x = 'Info Kermit:18'
>>>y = 'Info Kermit:18'
>>>id(x)
4376607152
>>>id(y)
4376607408
>>>x == y
True
>>>x is y
False


6.常量(全大写字母,也是变量,默认不变)
>>>SCHOOL = 'xxxxxx'


7.用户交互
>>>name = input('input your name:')
>>>name = input('input your pwd:')
>>>print(name,pwd)


8.注释
代码注释分单行和多行注释, 单行注释用#
多行注释可以用三对双引号""" """

代码注释的原则:
1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
2. 注释可以用中文或英文,但不要用拼音


9.文件头
!/usr/bin/env python
-*- coding: utf-8 -*-


10. 基本数据类型
数据即变量的值,如age=18,18则是我们保存的数据。
变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识

1.整型 int
>>>number = 100            # int(100)
>>>number = int(100)       #两者等价

2.浮点型 float
>>>f = 15.0        # float(15.0)
>>>f = float(15.0)

3.字符串类型
>>>name = 'ABC'
>>>pwd = ''hfdsjkhf''
>>>context = '''jsdfh
dsjkfdhsk
sdfjk'''                 #多行定义字符串

#python字符串之间可以连接,相加、乘
>>>print(name*5)
>>>print(name+pwd)
>>>print(name,pwd)

字符串内置函数
list = [1,2,3,4,5]
str = 'abcdefghi   '
1.按索引取值(正向取,反向取):只能取
>>>print(list[2])
3
>>>print(list[-1])     #反向取
5

2.切片取值(顾头不顾尾)
>>>print(str[2:4])     #2 ~ 3
cd

步长为2
>>>print(str[2:7:2])      #从2开始取,每隔一个取一次
cf

3.长度len
print(len(list))

4.成员运算in和not in
>>>print('x' in str)
False
>>>print('a' in str)
True

5.移除空白strip(去除字符串左右两边的空格)
>>>print(str.strip())
abcdefghi

6.切分split(根据split()括号中的规则,切分字符串,并追加到列表中)
>>>str2='abc def ghi'
>>>list2=str2.split()
>>>print(list2)
['abc','def','ghi']

7.循环
>>>for i in str2:
    print(i,end = ' ')   #自定义end参数

str3 = '***abc'
str4 = 'def***'
1.  strip,lstrip(去除左边的符号),rstrip(去除右边的符号)
>>>print(str3.lstrip('*'))
abc

>>>print(str3.rstrip('*'))
def

2. lower(转换成小写),upper(转换成大写)
>>>str5 = 'abc'
>>>print(str5.upper())
ABC

3. startswith(判断开头),endswith(判断结尾)
>>>print(str5.startswith('ab'))
True

4. format用法
!----------方式1(按照位置替换)
>>>str6 = 'my name is {}, my age is {}!'
>>>str7 = str6.format('HY',23)
>>>print(str7)
my name is HY, my age is 23!

!---------方式2(按照索引替换)
>>>str6 = 'my name is {1}, my age is {0}!'
>>>str7 = str6.format(23,'HY')
>>>print(str7)
my name is HY, my age is 23!

!---------方式3(指名道姓替换)
>>>str6 = 'my name is {name}, my age is {age}!'
>>>str7 = str6.format(age = 23,name = 'HY')
>>>print(str7)
my name is HY, my age is 23!

5. split,rsplit(从右边切分)

6. join(字符串拼接)
name = 'hy'
age = '23'
print(':'.join([name,age]))

7. replace
>>>str8 = 'abc def'
>>>str8.replace('def','abc')  #第一个参数是旧参数,第二个参数是新参数
>>>print(str8)
'abc abc'

8. isdigit(判断字符串是否是数字)
>>>ID = input('请输入ID')
>>>print(ID)

4.列表类型
#[]括号内以逗号隔开,可存放多个不同类型的值
>>>list = ['abc','def',11,1.0,['csv','xml']]

 

 


列表在内存

 

 


可变类型与不可变类型

列表是可变类型:列表中的值改变后,内存地址不变
字符串是不可变类型:字符串值改变后,内存地址也改变

取列表值
>>>list = ['abc','def',11,1.0,['csv','xml']]
>>>print(list[0])
abc
>>>print(list[4][0])
csv

列表内置方法
>>>list = ['hy',23,'male',190,70]
1.按索引存取值(正向存取,反向存取),可存可取
>>>print(list[4])
70
>>>print(list[-2])
190

2.切片(顾头不顾尾,步长)
>>>print(list[1:5])
[23,'male',190,70]
>>>print(list[1:5:2])
[23,190]

3.长度
>>>print(len(list))
5

4.成员运算in和not in、
>>>print('hy' in list)
True

5.追加
>>>list.append('abc')
>>>list.append('def')
>>>print(list)
['hy',23,'male',190,70,'abc','def']

6.删除
>>>print(list.pop())   #最后一个
>>>print(list.pop(0))    #第一个
>>>>list.remove('hy')    #pop有返回值,remove没有返回值

7.循环
>>>for i in list:
    print(list)

5.字典类型
在{}内,以逗号隔开,可存放多个值,每个值以key:value形式存放
>>>dict = {'name':'csv','pwd':'123'}
>>>print(dict['name'])
csv

6.布尔类型
True or False
>>>print(10 == 10)
True
>>>print(10 == 11)
False

布尔类型的重点知识!!!:
所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真


11.格式化输出
可以在输出时给字符串类型做一次替换

%s,%d占位符可以替换一个数字类型
>>>str = '尊敬的用户,您的话费余额为%s元。' % 100
>>>print(str)
尊敬的用户,您的话费余额为100元。


12.for循环
迭代式循环:for,语法如下
for i in range(10):
    缩进的代码块

>>>list = [1,2,3,4,5]
for i in list:
    print(i)
1
2
3
4
5

for i in range(10):   #0-9
    pass

for i in range(3,10):   #3-9
    pass

 

posted @ 2019-06-12 08:58  李子恒123  阅读(146)  评论(0编辑  收藏  举报