课堂笔记

一 编程语言

什么是编程语言?
上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质。在编程的世界里,计算机更像是人的奴隶,人类编程的目的就命令奴隶去工作。

什么是编程?
编程即程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果就是包含一堆字符的文件。

强调:
程序在未运行前跟普通文件无异,只有程序在运行时,文件内所写的字符才有特定的语法意义。

二 计算机组成部分

  • CPU
  • 内存
  • 外存
  • 输入设备
  • 输出设备

三 python的安装与使用

1.安装python解释器
2.安装pycharm编辑器
3.编写python代码,并输出打印hello world!

四 变量(可变化的量)

变量值: 是真实存放在内存中的一块内存地址。
变量名: 用于与变量值绑定关系的。
赋值=号: 将变量的值绑定给变量名的。

1、变量的命名规范

驼峰命名法:AgeOfMe

下划线命名:age_of_me(推荐使用)

2、变量名定义规范

  • 要以英文字母或下划线开头,如:al、_a
  • 不能以数字开头(1a)
  • 不能用关键字命名

3、变量名规范

下划线命名:age_of_me=18

不好的方式:以中文命名,变量名过长,变量名词不达意

4、定义变量的三大特征

# id (用来表示变量的值在内存中唯一的的一份内存地址)本质上,变量的值一样,内存地址也是不一样的
  name1 = 'tank1'
  name2 = 'tank1' # 此处一样是由于有优化机制
## python优化机制
##(小计数池:在某个长度内,python把值相同的变量值统一存放在同一个内存地址中)
  print(id(name1))
# type (变量值的类型)
  str1 = 'hello'
  print(type(str1)) # type用于判断变量的类型
# value(变量的值)
  str2 = 'hello'
  print(str1 == str2)

五 常量(不可变的量)

  • 以全大写命名。 e.g. SCHOOL='合肥学院' .etc
  • 并不是不能对其修改,而是大家都规定好凡是全大写的变量都称之为常量,不可对其进行修改。

六 用户与程序交互

  • 输入:input()//python3中输入的任何数据类型都是字符串,python2中需要注明类型
  • 输出:print()
#让用户输入
name = input('please enter your name: ')
print(name)
#注释
单行注释:# (快捷键:Ctrl+/)
多行注释:''''''(快捷键:+回车键)

七 格式化输出

e.g尊敬的用户,你好!您本月的话费扣除99元,还剩0元。

占位符:
%s: 可以替换任意类型
%d: 可以替换数字类型

示例:
尊敬的用户,你好!您本月的话费扣除%s元,还剩%d元。

# 把100替换给了%s
str1 = '尊敬的用户,你好!您本月的话费扣除%s元,还剩0元。' % 100 # 把一百替换给了%s, 把50替换给了%d
str1 = '尊敬的用户,你好!您本月的话费扣除%s元,还剩%d元。' % ('一百', 50)
print(str1) # 报错
str1 = '尊敬的用户,你好!您本月的话费扣除%s元,还剩%d元。' % ('一百', '50')
print(str1)

八 基本数据类型

1.数字类型:(自动识别)

  • 整型:int
  • 浮点型: float

2.字符串类型

  • 作用:名字,性别,国籍,地址等描述信息
  • 定义:在单引号\双引号\三引号内,由一串字符组成    name='tank'
 1 # 单引号
2 str1 = '天王盖地虎'
3 print(str1)
4 print(type(str1))
5 # 双引号
6 str2 = "遇到米老鼠"
7 print(str2)
8 print(type(str2))
9 # 三引号
10 str3 = '''
11 安徽省
12 合肥市
13 最牛逼的学院'''
14 print(str3)
15 print(type(str3))

实例

优先掌握的操作:

1、按索引取值(正向取+反向取)

#正向取
str1 = 'hello tank!'
print(str1[0]) # h
print(str1[9]) # k
#反向取
print(str1[-2])#k

2、切片(顾头不顾尾,步长)

#顾头不顾尾
str1='hello tank!'
print(str1[0:4])
print(str1[0:5])
#步长
print(str1[0:11])#hello tank!
print(str1[0:11:2])#hlotn!

3、长度len

print(len(str1))
#11

4、成员运算in和not in

print('h'in str1)#true
print('h'not in str1)#false

5、移除空白strip

#会移除字符串中左右两边的空格
print(str1.spirt())

6、切分split

print(name.split('x'))

7、循环

需要掌握的:

1、strip,lstrip,rstrip

str1=' hello kugou '
print(str1.strip())
print(str1.lstrip())
print(str1.rstrip())

2、lower,upper

str1=' Hey Guys '
print(str1.lower())#转换成小写
print(str1.upper())#转换成大写

3、startswith,endswith

str1='Hey Guys'
print(str1.startswith('Hey'))#判断字符开头是否为Hey#True
print(str1.endswith('Guys'))#同理#True

4、format的三种玩法

str1='my name is %s,my age %s'%('tank',18)
print(str1)
# 方式一 根据位置顺序格式化
print('my name is {},my age {}!'.format('tank',18))
# 方式二 根据索引格式化
print('my name is {0},my age {1}!'.format('tank',18))
# 方式三 指名道姓格式化
print('my name is {name},my age {age}!'.format(age=18,name='tank'))#位置可以变化

5、split,rsplit
6、join

## 报错 #只允许字符串拼接 
#print(' '.join(['tank',18]))
##根据空格,把列表中的每一个字符串进行拼接
print(' '.join(['tank','18','from GZ']))
##根据_,把列表中的每一个字符串进行拼接
print('_'.join(['tank','18','from GZ']))

7、replace

str1='my name is LiLei,my age 200!'
print(str1)
str2=str1.replace('LiLei','damn')
print(str2)

8、isdigit 

choice=input('please choose [0,1,2]:')
print(choice.isdigit())

作业

name=' aleX'

   1) 移除 name 变量对应的值两边的空格,并输出处理结果

2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果


3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果


4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果

5) 将 name 变量对应的值根据 “l” 分割,并输出结果。

6) 将 name 变量对应的值变大写,并输出结果


7) 将 name 变量对应的值变小写,并输出结果


8) 请输出 name 变量对应的值的第 2 个字符?

9) 请输出 name 变量对应的值的前 3 个字符?

10)请输出 name 变量对应的值的后 2 个字符?


11)请输出 name 变量对应的值中 “e” 所在索引位置?


12)获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。

name=' aleX'
print('移除两边空格',name.strip())
print('是否以“al”开头',name.startswith('al'))
print('是否以“X”结尾',name.endswith('X'))
print('将“l”替换为“p”',name.replace('1','p'))
print('根据“l”分割',name.split('l'))
print('变为大写',name.upper())
print('变为小写',name.lower())
print('输出第二个字符',name[2])
print('前三个字符',name[:3])
print('后两个字符',name[-2:])
print('e所在位置',name.index('e'))
print('去掉最后一个字符',name[:-1])

 

最新文章

  1. 深入理解javascript函数参数与闭包(一)
  2. 欢迎进入MyKTV前后台点歌系统展示
  3. 《Entity Framework 6 Recipes》中文翻译系列 (19) -----第三章 查询之使用位操作和多属性连接(join)
  4. linux shell工具集合
  5. 洛谷P2733 家的范围 Home on the Range
  6. WCF 基础
  7. php 首页定时生成静态页面
  8. 【JPA】两种不同的实现jpa的配置方法
  9. android studio上代码编译调试中遇到的一些异常记录
  10. 《Java程序员面试笔试宝典》之为什么Java中有些接口没有任何方法
  11. JS扩展方法
  12. 关于微信小程序的Request请求错误处理
  13. puthon文件头
  14. eclipse项目改为maven项目导致svn无法比较历史数据的解决办法
  15. git 一些基本的命令操作总结
  16. readtimeout
  17. 解析KML文件并提取coordinates中的经纬度坐标信息
  18. Linux查看当前登录用户并踢出用户
  19. Java Ioc详解和实现
  20. php redis和java混用问题

热门文章

  1. 分享一个自己项目中用到的.net中正则替换工具处理类(支持先用特征匹配内容整体模板,同时模板内对相关字内容进行替换)
  2. 用Java写一个PDF,Word文件转换工具
  3. 软件安装——tortoiseGit安装和配置
  4. MarkDown语法----纯文本格式的标记语言
  5. VS2019注册码
  6. [Leetcode]环形链表 II
  7. JavaScript 内存管理及垃圾回收
  8. angular父子组件传值,子组件传值给父组件,父组件又传值给子组件
  9. NuxtJS踩坑日记,一步一步爬出我自己挖的坑。
  10. 动力节点——day02