8/11
今日考题
1.pycharm如何创建项目,设置背景,调整字体及解释器选择
1.创建项目
右键选择要创建文件所在路径 > 选择要创建的文件类型或者选择第一个后自己命名后缀 > python文件就以.py结尾
2.设置背景
file > settings > appearance > 第一个能选择的选择样式 > apply+ok
3.调整字体
file > settings > editor > general > 勾上change fontsize... > apply+ok
2.什么是注释,python中如何使用,pycharm如何快速注释
注释就是解释这段代码的作用不实际参与代码运转
# 用来注释单行
"""
用来注释
多行
"""
快速注释:
选中要注释的区域 ctrl+?
3.诠释变量的语法结构及内部本质
以 name = 'leo' 为例
name是变量名
=是赋值符号
leo是赋予变量名的'变量'
本质就是
当赋值符号出现,内存里就帮赋值符号右边的leo在内存里占了个位子
而后在赋值符号的左边name会牵一个一方通行的绳子指向leo
之后就可以通过name找到leo
4.变量名命名规范及风格
规范如下
1.变量名只能由数字、英文字母、还有下划线构成
2.数字不能开头,下划线也尽量不开头
3.变量名不能和关键字重合(典型的不能命名print)
4.变量名要做到见名知意(长没事,别人一看知道是啥很重要)
风格有以下几种
1.下划线式
leo_ex_gfs
2.大驼峰
LeoExGfs
3.小驼峰
leoExGfs
复习巩固
- pycharm破解思路
1.破解码
2.2018版可以拖拽破解文件
3.无限白嫖插件
# baidu一下你总有办法
- pycharm基本操作
3.如何选择解释器
file
settings
project
python interpreter
- python注释语法
# 什么是注释 ?
就是对代码的解释 帮助我们理解代码 防止以后看不懂了
# 这个#就是单行注释
多行注释用
'''
注释
内容
'''
或者
"""
注释
内容
"""
pycharm中快速注释用
ctrl + ?
- 变量的基本使用
计算机既然叫电脑就是人主观的想要计算机像脑子一样工作记忆
变量的目的就让程序也能记录事物
- 变量的本质
老师的版本:
# 语法结构
变量名 赋值符号 变量值
"""
遇到赋值符号先看右边再看左边
age = 18
1.在内存空间中申请一块内存空间存储18
2.给18绑定一个变量名age
3.通过变量名age就可以访问到18
要想访问内存中的数据必须通过变量名的形式
垃圾数据:没有绑定任何变量名的数据
"""
# 前面的问题回答里有我自己独到的另一种理解,稍有不同
- 变量命名规范
1.只能是数字、字母、下划线
2.数字不能开头 下划线尽量不用(面向对象有特殊含义)
3.变量名不能与关键字(本身就具有一定功能)冲突
4.变量名一定要"见名知意"
- python基本数据类型
# 什么是数据类型?
就是用来表达不同数据的方式
# 如何查看当前变量名绑定的值的类型
type(变量名)
1.整型int
age = 18
2.浮点型float
salary = 11.11
3.字符串str
name = 'leo'
name1 = "leo"
name2 = '''leo'''
name3 = """leo"""
内容概要
-
python基本数据类型
-
与用户交互
-
基本运算符
-
流程控制(重点)
掌握了流程控制就可以编写一些常见应用程序 用户登录注册 # 为了能更好的吸收今天先不讲了
详细讲解
python基本数据类型
1.列表
"""
列表
中括号括起来[] 内部可以存放多个元素
元素与元素之间逗号隔开
元素可以是任意数据类型包括再套列表
"""
stu_list = ['leo', 'nancy', 'bob']
print(stu_list[0]) # 这个找到的是leo
print(type(stu_list)) # list
在IT领域索引一般都是从0开始 不同于日常生活
# 请取到下面的kevin数据
l1 = [11, 22, 33, [44, 55, ['jason', 'kevin', 'tony']]]
l2 = l1[3] # 方法1
l3 = l2[2]
print(l3[1])
print(l1[3][2][1]) # 方法二*
结果都是kevin
列表的本质
2.字典dict
'''
大括号括起来内部可以存放多个元素
元素的组成形式是K:V键值对
键值对与键值对之间逗号隔开
K一般是对V的描述性质的数据,大部分情况下是字符串
V类似于变量值可以是任意数据类型
'''
user_dict = {
'name': 'leo',
'age': 18,
'hobby': 'bodybuilding',
'love': 'ace',
'addr': {'country': 'CHINA', 'city': ['浦东', '静安']}
}
print(user_dict['age'])
# 字典取值直接通过K即可
# 练习取浦东
location = user_dict['addr'] # 方法一
section = location['city']
print(secton[0])
print(user_dict['addr']['city'][0]) # 方法二*
3.布尔值bool
只有两种状态 用来表示对错
True False
用来表示对错 是否可行之类的逻辑判断
"""
墨守成规的会用is来做布尔值的变量名开头
is_right = True
is_delete = False
"""
4.元组tuple
"""
元组
小括号括起来 内部可以存放多种元素
元素可以是任意类型
元组内元素不可改
"""
t1 = (11, 22, 33, 44, 55, 66)
看起来和列表很想但是有些细小区别 # 人送外号小列表
小列表比较不一样就是里面的元素不能改
这里不能改不是说输入的元素不能删了换别的数据
eg:以前面的t1 = (11, 22, 33, 44, 55, 66)为例
t1[0] = 111 # 这边就会有问题 这时候run就已经要报错了
笔试题
t1 = (11, 22, [33, 44])
t1[2][0] = 666
print(t1) # 正确答案是B
"""
A 报错
B (11, 22, [666, 44])
C 未知
""" # 后面有详细图解
元组的本质和列表很像但是他的指向线不能断
5.集合set
"""
大括号括起来 里面可以存档多个元素 元素与元素之间逗号隔开
但是元素不同于字典的K:V键值对 而且元素也不能是任意类型
大多数情况下只能是数字和字符串(不可变类型)
"""
常用功能:这个就和数学里集合一样,高中数学学过的集合能用场合就都能用
去重 去掉重复元素 # 集合的定义中有说集合是无序不重复的元素序列
运算关系 取交集(比如共同好友)
与用户交互
1.输入
input
# 获取用户输入
username = input('请输入用户名>>>:')
print(type(username))
# 输出永远是str input获取到的用户输入都会存为字符串类型
2.输出
print
# 可以打印一个值也可以一次性打印多个值
print(123)
print(111,222,333,444)
格式化输出
# 默认的文本格式
info = "亲爱的%s你好!你%s月的话费是%s,余额是%s"
# 占位符顾名思义就是提前占好位置之后再给对应的数据填充 %s
print(info % ('leo', 8, 39, 120))
结果为:
亲爱的leo你好!你8月的话费是39,余额是120
# 有了这个基础就可以通过输入不同的变量做一些预先写好东西
res = """
------------ info of %s -----------
Name : %s
Age : %s
gender : %s
Job : %s
------------- end -----------------
"""
username = input("请输入您的用户名>>>:")
age = input('请输入您的年龄>>>:')
gender = input('请输入您的性别>>>:')
job = input('请输入您的工作岗位>>>:')
print(res % (username, username, age, gender, job))
# 还有种不太常用的占位符 %d
这个占位符只能给数字占位
乍一听很菜啊 他有别的作用
生成固定位数的单号
print('%08d' % 666) # 生成8位数单号不够的位数用0补齐
结果:
00000666
那要是超过8位 例如
print('%08d' % 112233445566)
结果:
112233445566 # 你都超过了我就没啥好限制你的了
基本运算符
算术符号
2**3 # 2的三次方(8)
9//2 # 9整除2(4)
比较运算符
print(1 > 2)
结果为: False
print('hello' > 'world')
结果为: False
"""
字符串比较的时候是按照对应的数字比较
A-Z 65-90
a-z 97-122
具体可以看ascii码表
"""
# 增量赋值(简化)
x = 10
x = x + 1 # 等价于 x += 1
x = x - 10 # 等价于 x -= 10
x = x * 20 # 等价于 x *= 20
x = x / 10 # 等价于 x /= 10
# 链式赋值
x = 'leo'
y = x
z = x # 等价于下面那行
x = y = z = 'leo'
# 交叉赋值
a = 1
b = 2
现在要把这两个变量的数值互换
# 方法1
c = a
a = b
b = c #这里互换就已经完成了
print(a,b)
# 方法2
a, b = b, a # 这样就行,方便好多
print(a,b)
# 解压赋值
code = [a,b,c,d]
如果你要一个个对应输出按照先前逻辑得打
c1 = code[0]
c2 = code[1]
c3 = code[2]
用这个叫解压赋值的技巧简化就可以写成
c1, c2, c3 = code # 可以print(c1, c2, c3) 试试
"""
这时候是默认两边要保持相同个数不然会报错的
不过有情况可以打破 往下看
"""
l1 = [11,2,2,3,4,5,6,7,8,67,5,4,5,7,5,3,5,4]
a,b,*_,d = l1
print(a, b, d)
结果为: 11 2 4
中间部分就被*_拿走了
这时候再试试这个
print(_)
结果是: [2, 3, 4, 5, 6, 7, 8, 67, 5, 4, 5, 7, 5, 3, 5]