python基础|python基础 二

1.变量

  • 变量:在程序中用来保存数据的容器
    声明变量(定义)--假的声明
    变量名 = 值
说明:
变量名(要求:标识符,不能是关键字)
规范:遵守PEP8命名规范(名字的所用字母都小写,如果由多个单词组成,单词之间用_隔开)
关于代码规范
http://www.python.org/dev/peps/pep-0008/
谷歌对应中文文档:
http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/
= : 赋值符号,将等号右边的值负给左边的变量
值 : 可以是任何有结果的表达式,例如:100、变量、调用函数表达式
变量必须先声明(赋值)再使用
name1 = "李四" age = 25 gender = "男"# 同时声明多个变量 num1 = num2 = num3 = 99 # 注意变量的个数和值的个数要保持一致 x, y, z = 10, 20, 30 # 同一个变量可以存储不同类型的值 num = 100 num = "carry" num = True num = [1, 2, 3]

  • 注意
    声明变量和给变量赋值的本质
    结论:python中所有的变量,存储的都是数据在内存中的地址,内存地址的大小一样
    用一个变量给另一个变量赋值,实质是将变量中的地址赋给另一个变量
    使用变量的时候,是使用变量中对应的值
C中声明变量: int num = 100 num = 99python: num = 100

变量的三要素:值、地址和类型
  • 值:变量中存的地址对应的值
  • 地址:变量中存住的地址(id)
  • 类型:变量中存储地址对应值的类型
name1 = "张收纳" name2 = name1print(name1) print(name2) # id(变量)-获取变量中存储的地址 print(id(name1)) print(id(name2))

2.运算符
python中的运算符:数学运算符、比较~、逻辑~、赋值~、位运算 1.数学运算符:+、-、*、/、%、//、** % :取余(求余数) 应用:获取一个整数的最低的一位或者几位的值 num%(10^n)// :整除 - 求商,获取商的整数部分 注意:如果是负数整除(取整数部分并减一) ** :幂(次方)

print(99 % 5) print(99 // 5) print(1.01 ** 31) # 开方 print(36 ** 0.5) print(8 ** (1/3)) # 获取百位的数字 print(289 // 100) # 获取一个数的个位数 num = int(input("获取数字的个位数")) print(num % 10)

  • 2.比较运算符:> 、< 、==、!= 、>=、<=
    所有比较运算符的结果都是布尔值
# python 有有一种特殊的写法 10 <= num <= 20

  • 3.逻辑运算符:and 、or 、not
    逻辑运算符对象是布尔值,运算结果也是布尔值
    and : 逻辑与运算
    值1 and 值2:如果值1和值2都为True,结果才为True
    否则都为False
    and的短路:and前面的语句是False,后面的代码就不会执行
    or : 逻辑或运算
    值1 or 值2:如果值1和值2都为False,结果才为False
    否则都为True
    not:逻辑非运算
    如果值是True,结果就是False,如果值是False,结果就是True
    用来对每个条件进行否定
4.赋值运算符 =、+=、-=、*=、/=、%=、//=、**=

  • 所用赋值运算符的左边必须是变量,组合的赋值运算符的左边的变量必须已经赋值
    所有赋值运算符最终会进行赋值操作
    变量 += 值(变量= 变量+值(其他同理)
  • 6.位运算 : &(与) |(或) ^(异或) ~(取反) <<(左移) >>(右移)
位运算是针对二进制中每一位进行相关的操作 & : 数字1 & 数字2--->二进制的每一位进行与运算, 如果都为1,则为1,否则为0 10010 & 01110 = 00010 与运算的应用:判断一个数的奇偶性(最优方法) 数值 & 1如果是0则这个数为偶数,如果是1则为奇数| : 数字1 | 数字2 --->二进制的每一位进行与运算,如果都为0,则为0,否则为1~ : 数字-将每一位取反(0变成1,1变成0) ~2 -> 010 -> 101(补) -> 100(反) -> 011(原) = 3^ : 数字1 ^ 数字2每一位相同就为0 ,不同为1<< :数字<< n(位数)-将指定的数字每一位左移n位,移除多少位后面加多少个0 移动的位数不能超过符号位 结果 = 数字 * 2**n 10 << 1 00001010 << 1 = 00010100 = 20>> : 数字 >> n(位数) 结果 = 数字 / 2**n(取整数) 20 >> 1 010100 >> 1 = 001010 = 10

3.字符串:一种常用的有序但是不可变的容器的数据类型
  • 可以同时存储多个字符,属于序列范畴
    字面量:使用单引号或者双引号将任意字符括起来,就是字符串常量
字符:字符串中的每一个单元
字符串的内容:
普通字符:包含数字字符、字母、普通符号.....
转义字符:通过 \ 将一些字符转换成有特殊功能或者特殊意义的字符
\n: 换行 \t: 制表符(tab) \': 普通单引号 \\: \

注意:一个转义字符代表一个字符
阻止转义:在字符串的最前面加 r/R,可以阻止转义字符转义
1.字符编码
python 中的字符采用的是Unicode编码
  • a.什么是编码:就是数字和字符的一一对应,其中字符对应的数字就是字符的编码
  • b.编码方式:
    ASCII码表:针对数字字符、字母字符、一些英文中常用的符号进行编码
    大写字母的ASCII值小于小写字母的值
    采用一个字节对字符进行编码(2**7 - 1)
    Unicode表:Unicode码包含ASCII码表,同时能够对世界上所用语言及对应符号进行编码
    采用两个字节对字符进行编码,能编码655536编码
    中文编码值:4E00 ~ 9FA5

  • c.两个函数
    chr(编码值)- 将字符编码转化成字符
    ord(字符) - 获取字符对应的编码值
print(chr(0x004E00), chr(0x009FA5)) print(ord("童")) # 可以将字符编码放到字符编码中就是一个字符: \u + 4位的16进制编码值 print(hex(31461)) print("cop\u7ae5>>>>>>")

一 龥 31461 0x7ae5 cop童>>>>>>

2.获取字符串中的字符
一旦一个字符串确定,那么字符串每一个字符的为值就确定了
而且每个字符会对应一个用来表示其位置和顺序的下标值
  • 1.下标(索引)
    字符串中的每个字符都有一个下标,代表其在字符串的位置
    下标的范围: 0 ~ 字符串长度-1
    -1 ~ -字符串长度(-1代表最后一个字符的下标)
  • 2.获取单个字符
    语法:字符串[下标] - 获取字符串中指定下标对应的字符
    说明:字符串 - 可以是字符串常量,也可以是字符串变量(只要结果是字符串就行)
  • 3.获取部分字符
    语法:字符串[开始下标:结束下标:步长]
    功能:从开始下标开始获取到结束下标前为止,每次下标值增加对应的值
    返回的结果是字符串
  • 注意:当步长是正数(从前往后取)、开始下标对应的字符要在结束下标对应字符的前面
    当步长是负数(从后往前取)、开始下标对应的字符要在结束下标对应字符的后面
str1 = "1234567890" print(str1[3:9:]) print(str1[3:9:2])# 取不到 print("==:", str1[-1:6:2])print("==:", str1[-6:6:-2])

456789 468 ==: ==:

  • 简写
    字符串[开始下标:结束下标] (相当于步长是1)
    str2 = "" ( 空字符串)
  • 获取部分字符,省略下标
    获取部分字符的时候,开始下标和结束下标都可以省略
  • a. 开始下标省略 字符串[:结束下标:步长] 或者 字符串[:结束下标]
    步长是正数:从字符串开头往后获取
    步长是负数:从字符串结尾往前获取
  • b. 结束小标省略
    字符串[开始下标::步长] 后者 字符串[开始下标:]
print(str1[:4:1]) print(str1[:4:-1])print(str1[:]) print(str1[::-1])print(str1[:100])

1234 09876 1234567890 0987654321 1234567890

3.字符串相关运算
  • 1.字符串加法
    字符串1 + 字符串2 :拼接在一起,产生一个新的字符串
    注意:字符串如果相加,加号两边必须都是字符串
str1 = "123" str2 = "abc" print(str1 + str2, str1, str2)

【python基础|python基础 二】执行结果:123abc 123 abc
  • 2 字符串的乘法
    字符串 * n(正整数) : 字符串的内容重复n次,产生一个新的字符串
print("*"*10 + "%"*10)

**********%%%%%%%%%%

    1. 比较运算符: > , < , == , != , >= ,<=
  • 字符串1 == 字符串2 - 判断两个字符串是否相等
    两个字符串比较大小: > , < , >= ,<=
    比较编码值
print("abc" == "abc")# 将每一个字符的编码值比较 print("abc" > "adr")char =input("请输入") # 三种方法 print("是否是中文:", "一" <= char <= "龥") print("是否是中文:", "\u4e00" <= char <= "\u9fa5") print("是否是中文:", 0x4e00 <= ord(char) <= 0x9fa5)

  • 4.str
  • str(数据) :将数据转换成字符串
    • a. 其他数据都可以转字符串,转换时就是在数据的值最外面加‘’或“”
    • b.字符串转其他类型
      字符串转整数:int(字符串)
      字符串转浮点型:float(字符串)
      字符串转布尔: bool(所有类型数据)

    推荐阅读