day3

今日内容

1.变量(标识符)的命名规范 *****
2.常量
3.格式化输入输出
4.注释
5.基本的数据类型:int long float bool str list dict *****
6.运算符:算术运算符 | 关系运算符 | 逻辑运算符 | 成员运算 *****

变量的命名规范

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']

4. 以下划线开头的变量名都有特殊意义

5. 以下划线开头和结尾的叫魔法变量:内置变量

6. 一般建议使用下划线连接语法用来命名长的变量名

7. 支持大小驼峰的命名规范:owenName | OwenName

8. 多个单词的简写使用全大写:URL | HTTP | HTML

9. 使用全大写来表示常量:PI = 3.141592653 | OWEN_SALARY = 88888

常量

其他语言的程序运行中会存在值不可以被改变的常量,而在python并没有绝对的常量。

python在运行过程中所有的量都可以发生改变,只能去保障不去修改全大写定义的变量。

输入和输出

       输入和输出在python2和python3的功能上有一些改动,python3对python2中的一些机制进行了

优化和舍弃。如在python2中“print(10)”和“print 10”输出的结果是相同的,在python3中被舍弃掉了。

    

'''
py2
info = input('提示信息:')
# 细节
# 1.可以输入一个值,但一定要按照值得表示方式进行输入,10就是数字 'abc'就是字符串
# 2.如果输入的是abc,默认将abc作为变量来解读,如果变量abc未定义就报错

raw_input(): 采用所有输入都以字符串进行存储


py3
info = input('提示信息:')
# 细节
# 1.所有信息都是直接输入,都会被转换为字符串存储 == raw_input

注释

注释是提供给开发者阅读代码的提示,并不会被python解释器执行

# 开头的语句为单行注释

在文件最上方用''''''包裹的语句为多行注释

在pycharm中注释的快捷键为”ctrl+/ ’'

数据类型

数据类型

整型

int类型在python2和python3的存储方式上有区别

在python2中数据量小的整型用int存储

py3下:long被遗弃 | 所有整型都用int存储(优化:数据量过大,采用字符串存储处理,如果需要运算,可以直接拿来运算)

     

浮点型

# float: 用来存放小数
salary = 88888.0123456789

# 可以通过格式化方式来绝对输出格式
# %.6f % salary
# 1)%f对浮点型数据进行占位
# 2).后的数据数字表示小数精度
# 3).前的数据是输出的长度,小于等于要输出的数据长度不起作用,超出就采用规定的最大长度
# 注:%015.6f:右对齐,左侧不足拿0填充, %-15.6f: 左对齐输出
print('%015.6f' % salary)

# 了了解
# 可以将格式化的结果进行保存,以便之后再次使用
info = '%015.6f' % salary
print(info)

布尔类型

# bool类型:就是两个值 True | False
result = False
print(result)

 

字符串类型

# 单行字符串: "" | ''
# 多行字符串: """""" | ''''''

# 案例:
name = input('name: ')
age = input('age: ')
# %s是万能占位符, %是用来连接有占位符的字符串与需要占位的变量,多个变量用()包裹
info = """信息:
name: %s
age: %s""" % (name, age)
print(info)

列表

# 1、定义:变量名 = [多个值,之间用,隔开]
ls = [3, 1, 2]

# 2、列表变量名ls访问的是列表整体
print(ls) # [3, 1, 2]

# 3、通过索引(index)来访问具体的值,index从0开始编号: ls[index]
print(ls[0]) # 3

# 4、ls的嵌套及值的访问
ls = [[1, 2, 3], [4, 5, 6], [7, 8, [9]]]
# 访问数字9
print(ls[2][2][0])

# 重点:list存放值的方式: eg:[3, 1, 2] => 列表的0号位存放的不是数字3,而是堆区3空间的地址

字典

# 列表能存放多个值,但多个值只能通过index区分,但是index没有语义
# 需找即可以存放多个值,切每个值有一个语义描述 => dict类型
# 定义:{}是用来定义字典的语法,key是用来描述最终要访问的value值的,key对于开发者来说是已知的
# 访问:通过 dic[key]来访问key描述的值
dic = {'key': 'value'}
'''

people = {
'name': 'Liuxx',
'age': 68,
'gender': '哇塞'
}
# 整体访问
print(people)
# 访问年龄的值,[将key原样拿下来] => ['age']
print(people['age'])


# 案例
# 字典的嵌套
info = {
'name': 'egon',
'hobbies': ['play', 'sleep'],
'company_info': {
'name': 'Oldboy',
'type': 'education',
'emp_num': 40,
}
}
# 拿到40 | 拿到 'sleep'
res = info['company_info']['emp_num']
print(res)
res = info['hobbies'][1]
print(res)


students=[
{'name':'alex','age':38,'hobbies':['play','sleep']},
{'name':'egon','age':18,'hobbies':['read','sleep']},
{'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
# 第二个学生的第一个爱好
print(students[1]['hobbies'][0])

算术运算符

# + | - | * | / | // | ** | %

# 1.字符串和list可以做 + 和 *
# 2./非整除,// 为整除
# 3.**求幂:5 ** 2 => 25
# 4.任意数 % n => [0, n-1]
# 5.有负数参与的取余:符号跟着 % 后面那个数

赋值运算符

# += | -= | *= | /= | %= | **= | //= | =
num = 10
num += 1 # num = num + 1 => 11

# 1.链式赋值
a = b = num

# 2.交叉赋值
x = 10
y = 20
x, y = y, x


# 3.解压赋值
ls = [3, 1, 2]
a, b, c = ls

# _是合法的变量名,会接受值,但我们认为_代表该解压位不用接收,用_来接收表示
_, _, g = ls # g才存放2,其他标示不接受

逻辑运算符

# and | or | not
# 1.and: 左右都成立才成立,有不成立的就不成立
# 2.or: 左右都不成立才不成立,有成立的就成立
# 3.ont: 成立则不成立,不成立则成立

res = 0 and 20 # and前为假,整个式子就可以确定为假了,and后就不需要执行(短路)
print(res) # 0

res = 10 or 20 # or前为真,整个式子就可以确定为真了,or后就不需要执行(短路)
print(res) # 10

 

原文地址:https://www.cnblogs.com/1624413646hxy/p/10713737.html