02变量和类型

数据类型

**基本数据类型

  • 整型
    Python中可以处理任意大小的整数
  • 浮点型
    浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)
  • 字符串型
    字符串是以单引号或双引号括起来的任意文本,比如’hello’和"hello",字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
  • 布尔型
    布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。
  • 复数型
    形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j。实际上,这个类型并不能算作常用类型,大家了解下就可以了。

引用数据类型

变量

命名

  • 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头
  • 大小写敏感(大写的a和小写的A是两个不同的变量)
  • 不要跟关键字(有特殊含义的单词)和系统保留字(如函数、模块等的名字)冲突

PEP 8要求:

  1. 用小写字母拼写,多个单词用下划线连接。
  2. 受保护的实例属性用单个下划线开头
  3. 私有的实例属性用两个下划线开头
变量的使用
score = 100

print(score + 10)
print(score - 2)
print(score * 2)
print(score / 2)    # 50.0
print(score // 2)  # 地板除,取整数部分
print(score % 2)    # 取模,余数
print(score ** 2)   # 2次方

查看变量的类型
使用type函数查看类型

a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True

print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))


--控制台输出
'''
<class 'int'>
<class 'float'>
<class 'complex'>
<class 'str'>
<class 'bool'>
'''

使用内置函数可以对变量进行类型转换

  • int():将一个数值或字符串转换成整数,可以指定进制。
  • float():将一个字符串转换成浮点数。
  • str():将指定的对象转换成字符串形式,可以指定编码。
  • chr():将整数转换成该编码对应的字符串(一个字符)。
  • ord():将字符串(一个字符)转换成对应的编码(整数)。

python占位符%

语法:

%[(name)][flags][width].[precision]typecode

name:
用来传入字典的值

print('hi %(name)s %(age)d' %{'name':'alex', 'age':20})

flags:
作为用户对一些格式的选择,只有固定的几个值,以下

+			右对齐;正数前加正好,负数前加负号;
-			左对齐;正数前无符号,负数前加负号;
空格		右对齐;正数前加空格,负数前加负号;
0			右对齐;正数前无符号,负数前加负号;用0填充空白处
print('the number is %-d %-d' % (+250, -250))
print('the number is %+d %+d' % (+250, -250))
print('the number is %0d %0d' % (+250, -250))
print('the number is % d % d' % (+250, -250))

width:
根据名字就可以知道指的是宽度

print('balance : [%d]' % 9999)
print('balance : [%3d]' % 9999)
print('balance : [%9d]' % 9999)

'''
balance : [9999]
balance : [9999]
balance : [     9999]
'''

说明如果设置宽度低于实际字符宽度时,会按照实际的宽度来输出
但是如果设置宽度高于字符宽度时,会按照设置的宽度输出,空白符自动补位,右对齐

precision:
很简单,与c和c++相似,用来表示输出小数点后几位

print('balance : [%.3f]' % 99.12121245)

'''
balance : [99.121]
'''

typecod:
s,获取传入对象的__str__方法的返回值,并将其格式化到指定位置
r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
c,整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置
o,将整数转换成 八 进制表示,并将其格式化到指定位置
x,将整数转换成十六进制表示,并将其格式化到指定位置
d,将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置
e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)
E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)
f, 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
F,同上
g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)
G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)
%,当字符串中存在格式化标志时,需要用 %%表示一个百分号

python运算符

说明: 在实际开发中,如果搞不清楚运算符的优先级,可以使用括号来确保运算的执行顺序。

运算符描述
[] [:]下标,切片
**指数
~ + -按位取反, 正负号
>> <<右移,左移
&按位与
^ |按位异或,按位或
<= < > >=小于等于,小于,大于,大于等于
== !=等于,不等于
is is not身份运算符
in not in成员运算符
not or and逻辑运算符
= += -= *= /= %= //= **= &== ^= >>= <<=

练习

a = 10
b = a 		#  b指向了a的内存空间
a = 20		#  a指向的内存地址变了
print(a)   # 20
print(b)   # 10
'''
赋值运算符和复合赋值运算符
'''
a = 10
b = 3
a += b # 相当于:a = a + b
a *= a + 2 # 相当于:a = a * (a + 2)
print(a) # 想想这里会输出什么
'''
比较、逻辑和算身份运算符的使用
'''
flag0 = 1 == 1
flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not (1 != 2)

print(flag0)    # True
print(flag1)    # True
print(flag2)    # False
print(flag3)    # False
print(flag4)    # True
print(flag5)    # False

练习

练习1:华氏温度转换为摄氏温度。

'''
将华氏温度转换为摄氏温度
'''

f = float(input('请输入华氏温度:'))
c = (f - 32) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))

练习2:输入圆的半径计算计算周长和面积。

'''
输入半径计算圆的周长和面积
'''
import math

r = float(input('请输入圆的半径:'))
p = 2 * math.pi * r
area = math.pi * r * r
print('周长:%.2f' % p)
print('面积:%.2f' % area)

练习3:输入年份判断是不是闰年。

'''
输入年份 如果是闰年输出True 否则输出False
闰年:能被4整除,不能被100整除或者可以被400整除
'''
year = int(input('请输入年份:'))
is_leap = (year % 4 == 0 and year % 100 != 0) or year % 400 == 0
print(is_leap)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值