python教程_小白入门/2020/7/29
学习目标
文章目录
P68 快捷键的使用
双击shitf 会弹出全局搜索功能,JetBrains开发的很多工具都有这个功能
ctrl + shift + a 也可以弹出全局搜索功能
关闭:双击shift ,打开全局搜索功能,在Action中输入registry
找到ide.suppress.double.click.handler文件并打上勾,然后close
以上操作完成之后再双击shift的时候就不会出现全局搜索选框了
python 代码编写规范: 在操作符前后加空格,这是规范
快速格式化代码: ctrl + alt + L
移动一行代码:alt + shift + 上下箭头
快速复制粘贴选中的代码:ctrl + d
P69 字符串的常见操作
# # 修改大小写
# # capitalize()将字符串的首字母大写,只能将首字母大写,其他字母都改变不了
# print('hello'.capitalize())
# print('hello。good'.capitalize())
# print('hello\ngood'.capitalize())
# # upper()将所有字母全部大写
# print('hello'.upper())
# # lower()将所有字母全部小写
# print('hello'.lower())
#
# # title 每个单词的首字母大写
# print('good morning'.title())
#
# # 不管用户输入的是大写还是小写的exit都进行退出
# while True:
# content = input('请输入内容,输入exit退出:')
# print("您输入的内容是:", content)
# if content.upper() == 'EXIT':
# break
# ljust(width,fillchar)==>让字符串以指定长度显示
# 如果长度不够,默认在右边使用空格补齐
print('Monday'.ljust(10))
print('Monday'.ljust(10, '+'))
# rjust()原理与以上相同,只是l是左边,r是右边,使用方法都一样
print('Monday'.rjust(10, '+'))
# center() 将字符居中
print('monday'.center(16, '*'))
# lstrip rstrip,删除字符串左边或者右边的空格
print('+++++a p p l e '.lstrip('+'))
print(' a p p l e '.rstrip())
print(' a p p l e '.strip())
# 以某种固定格式显示的字符,我们可以将它切割成一个列表
x = 'zhangsan+lisi+wangwu+zhaoliu'
names = x.split('+')
print(names)
# 将列表转换为一个字符串
fruits = ['apple', 'pear', 'banana', 'orange']
print('-'.join(fruits))
print('*'.join('hello'))
# 字符串和字符串之间可以使用加法运算,作用是拼接两个字符串
# 字符串和数字之间可以使用乘法运算,作用是将指定的字符串重复多次
# 字符串和数字之间做 == 运算结果是False,做!=运算结果是True
# 字符串之间做比较运算,会逐个比较字符串的编码值
# 不支持其他的运算
P70 字符串的编码
编程中的每一个字符都是以二进制的形式存储在计算机中的
每一个字符都在计算机中对应一个数字
最重要的就是ASCII码表
A----65
a------97
ASCII 一共可以表示128个字符
然后在ASCII的基础上又发展出来一系列的码表
ISO-8859-1,与ASCII码表完全兼容
Unicode 编码,绝大部分国家的文字都有一个对应的编码
P71 字符串的编码集
一般情况下来讲,出现乱码的原因是编写时候的编码与读的时候的编码不一致造成的。
# ASCII---Latin1---Unicode编码
# 字符 -- 数字编码存在一个一一对应的关系
# 使用内置函数 chr 和 ord 能够查看数字和字符的对应 关系,是ASCII 码表
# ord 获取字符对应的编码, chr 根据编码获取对应的字符
print(ord('a'))
print(chr(77))
print(ord('你'))
# GBK-中文简体 utf-8-兼容性最好 BIG5-中文繁体
# 以前的二进制编码具有弊端,所以要进行改进下,所以才出现了适应中文情况的GBK utf-8 BIG5等编码方式
P72 in 和not in的使用
成员运算符 in 和 not in
# 成员运算符,用来判断一个内容在可迭代对象里是否存在
word = 'hello'
x = input('请输入一个字符:')
# 判断用户输入的字符在字符串里是否存在
# for c in word:
# if x == c:
# print('您输入的内容存在')
# break
# else:
# print('您输入的内容不存在')
#
# if word.find(x) == -1:
# print('您输入的内容不存在')
# else:
# print('您输入的内容存在')
if x in word:
print('存在')
else:
print('不存在')
P73 格式化输出字符
# 可以使用 % 占位符来表示格式化一个字符串
name = 'zhangsan'
age = 15
print('大家好,我的名字是:', name, '我今年', age, '岁了')
print('大家好,我的名字是%s,我今年%d岁了' % (name, age))
# 在字符串里可以使用 % 占位符,注意里边是没有逗号的
# %s表示的是字符串的占位符
# %d表示的是整数的占位符
# %nd打印时,显示n位,如果不够,在左边使用-空格-补齐
# %0nd打印时,显示n位,如果不够,在左边使用-0-补齐
# %-0nd打印时,显示n位,如果不够,在右边使用-0-补齐
# %f表示的是浮点数的占位符,默认保留6位小数
# %.nf表示的是保留小数点后n位
num = 6
print('大家好,我是%-3d号女嘉宾' % (num))
print('我今天挣了%.3f元钱' % 3.1415927)
# 将默认的十进制数以16进制形式打印出来
a = 255
print(a)
print('%x' % a) ## 以16进制打印出来
print('%X' % a)
print('%o' % a) ##以8进制打印出来
b = 0b10001010110101
print(b) # 二进制转换为10进制
print('%x' % b) # 二进制转换为16进制
print('%o' % b) # 二进制转换为8进制
# 我是%s
print('大家好,我是%%s,我今年%d岁了' % 22)
P74 字符串format方法的使用
# 格式化字符串输出还是format方法用的比较多一些
# {}里什么都不写, 会读取后面的内容,一一对应填充
x = '大家好,我是{},我今年{}岁了'.format('zhangsan', 18)
print(x)
# {数字}根据数字的顺序来进行填入,数字从0开始
y = '大叫好,我是{1},我今年{0}岁了'.format(20, 'tom')
print(y)
z = '大叫好,我是{name},我今年{age}岁了,我来自{addr}'.format(age=18, name='jack', addr='江苏')
print(z)
# 列表
a = ['张三', 18, '上海', 188]
b = '大家好,我是{},我今年{}岁了,我来自{},身高{}'.format(a[0], a[1], a[2], a[3])
print(b)
c = '大家好,我是{},我今年{}岁了,我来自{},身高{}'.format(*a)
print(c)
# 字典
a1 = {'name': 'lisi', 'age': 23, 'addr': '北京', 'weight': 66}
c1 = '大家好,我是{name},我今年{age}岁了,我来自{addr},身高{weight}'.format(**a1)