2019-04-23day7总结

print("hello world")

"""
pycharm中三种波浪号:红色 - 语法错误! 灰色 - 格式错误 绿色 - 单词错误!
"""

1.python是解释性语言

2.变量 例如:n = 1, age, sex = 17, '男', a = b = 10

3.运算符

数学运算符,逻辑运算符(and, or not),赋值运算符,比较运算符(结果都是布尔值)

4.if分支结构

"""
if 条件语句:
代码块
elif 条件语句
代码块2
"""

5.循环结构

"""
for 变量 in 序列:
循环体

while 条件语句:
循环体
"""

6.数字类型:int, float, bool, complex

0b010101(二进制),0o23424(八进制),0x324234sadad(十六进制)

bin()转换成二进制,oct()转换成八进制,hex()转换成十六进制

1e2 = 1 * 10 **2 = 100 1e-2 = 0.01

True == 1, False == 0

1+10j

for i in range(1, 10):

for j in range(1, i + 1):

print(j, "*", i, "= ", j * i, end='')

print(end='\n')

for i in range(1, 10):
for j in range(1, i + 1):
print("%s*%s=%s\t" % (j, i, i * j), end="") # \t == tab
print()

1.什么事字符串(str)

字符串是python提供的容器型数据类型(序列), 不可变、有序

不可变 - 不支持增删改;有序 - 支持下标操作

2)

python中的字符串是用单引号或者双引号引起来的字符集;引号里面的每个基本单元叫字符

str1 = 'hello'
print(str1)

2.字符

python中只有字符概念,没有字符类型

1)普通字符:数字、字母、普通符号,中文、日语...

str2 = "123 a and 你好!"
print(str2)

2)转义字符:

在特定的符号前加\来表示特殊功能或者特殊意义的字符,

\n - 换行(相当于回车)

' - 单引号字符(不是字符串开头/结尾标志)

" - 双引号本身(不是字符串开头/结尾标志)

\ - 反斜杠本身(让反斜杠失去转义的功能)

\t - 制表符(相当于tab)

str3 = "12'3\na"bc\no\r111"
print(str3)

阻止转义:在字符串的最前面加r/R,能够阻止字符串中所有的转义字符转义

str4 = r"\t1, \n2, \n3, 4, 5, 6, 7"
print(str4)
'\tabc\n123' # 长度:8
r'\tabc\n123' # 长度:10

3)编码字符: 在字符串中'\u四位的十六进制数'来表示一个字符

\n字符编码值的16进制数

a - 97

b - 98

print("==============")
str5 = 'abc\u1234'
print(str5)

3.1)字符编码:

"""
计算机本身只有直接存储数字的能力(存数字的二进制的补码),为了能够存储数字以外的符号,
开发人员给每个字符对应一个固定的数字用来对字符进行存储,每个字符对应的固定的数字就是字符的编码
每个字符和数字的一一对应关系就是字符编码表,常见的编码表有两种:ASCII,Unicode编码表
ASCII码表采用一个字节对字符进行编码:0-127
Unicode编码表采用2个字节对字符进行编码,包含了ASCII码表

chr函数:char(编码值) - 获取编码值对应的字符
ord函数:ord(字符) - 获取指定字符对应的编码
"""
print('---------')
print(chr(100))

a-97 b-98 c-99 d-100

print(chr(0x5e00))
print(ord('刘'), ord('畅'))

练习:查看日语所有的片假名

print("-----11-----")
for code in range(0x30A0, 0x30FF):
print(chr(code), end="")

2.字符串操作:查

1)获取字符字符

"""
语法:字符串[下标] - 获取指定下标对应的字符
说明:字符串 - 结果是字符串的表达式(字符串值、字符串变量、运算结果是字符串)
[] - 固定写法
下标 - 又叫索引,字符串确定后,字符串中的每个字符都有一个确定的下标/索引表示这个字符在字符串中的位置
python中下标有两种,位置从前往后是0 ~ 字符串长度-1;位置从后往前是 -1 ~ 字符串的长度
注意:获取单个字符的时候下标不能越界
"""
str1 = 'hello'
print(str1[-1]) # o
print(str1[0], str1[3]) # h l

str2 = '\tabc 123'
print(str2[2], str2[5]) # b 1

print(str2[100]) IndexError: string index out of range

print(str2[-20]) IndexError: string index out of range

2)获取部分字符(字符串切片)

"""
语法:字符串[开始下标:结束下标:步长] - 从开始下标获取,每次增加步长取到结束下标前为止(结束下标对应的值取不到)
说明:字符串 - 结果是字符串的表达式(字符串值、字符串变量、运算结果是字符串)
[] - 固定写法
开始下标 - 下标,整数。能取到对应的字符
结束下标 - 下标,整数。对应的字符取不到
步长 - 整数。如果步长是正数,从前往后取;如果步长是负数,从后往前取

注意:1.字符串切片的结果都是字符串
2.如果步长是正数,那么开始下标对应字符要在结束下标对应的字符的前面,才能取到值
如果步长是负数,那么开始下标对应的字符要在结束下标对应的字符的后面,才能取到值
3.切片的时候下标可以越界
"""

str3 = 'abc+123'
print(str3[0:3:1]) # abc
print(str3[0:3:2]) # ac
print('hao are you'[2])
print(str3[2:-2:1]) # c+1
print("结果:", str3[2:2:-1], '结束') # 结果: '' 结束

print(str3[0:-1:1]) # abc+12
print(str3[-1: 2:-1]) # 321+
print(str3[-1:1:-2]) # 31c
print(str3[2:100:1]) # c+123
print(str3[-100:100:1]) # abc+123

3)获取部分字符的简写

"""
1.省略步长 - 步长为1
语法:字符串[开始下标:结束下标] <==>字符串[开始下标:结束下标:1]
"""

str4 = 'hello world'
print(str4[3:-2]) # lo wor
"""
2.省略开始下标和结束下标 - 步长为正从字符串开头往后获取;步长为负从字符串最后往前获取
语法:字符串[:结束下标:步长]、字符串[:结束下标:]
"""
print(str4[:5]) # hello
print(str4[:5:-1]) #dlrow

"""
3.省略结束下标 - 步长为正,取到字符串最后一个字符;步长为负取到第一个字符为止
语法: 字符串[开始下标::步长]、字符串[开始下标:]
"""
str4 = 'hello world'
print(str4[1:]) # ello world
print(str4[1::-1]) # eh
print(str4[:]) # hello world
print(str4[::-1]) # dlrow olleh
print(str4[:-5:-1]) #dlro

4)便利字符串 - 将字符串中的字符一个一个的取出来

"""
for 变量 in 字符串:
循环体
"""

直接遍历,变量取到的就是字符

for char in str4:
print(char, end="")

间接遍历,通过遍历下标遍历字符

for index in range(11):
print(str4[index])

print("--------")
for index in range(-1, -11, -1):
print(index, str4[index])

练习:统计输入的字符串中,字母'a'出现的次数

例如:输入'how are you! fine, thanks. and you' 打印:3

str5 = "how are you! fine, thanks. and you"
i = 0
for a in str5:
if a == "a":
i += 1
print(i)

字符的对象方法

字符串.函数名()

1.capitalize() - 将字符串中的第一个字符转换成大写字母

str1 = 'abc'
print(str1.capitalize()) # Abc
print(str1)

2.设置对齐方式

"""
字符串.center(width, filchar) - 让字符串在新字符串中居中,width控制新字符串中的宽度,fillchar是填充字符
字符串.rjust(width, filchar)
字符串.ljust(width, filchar)
字符串.zfill(width) <==> 字符串.rjust(widh, '0')
"""
str1 = 'abc'
print(str1.center(7, '*'))
print(str1.ljust(7, '%'))
print(str1.rjust(7, "="))

num = 5 # 005
print(str(num).rjust(3, "0"))# py1902 py1902013 py1902101
print(str(str1.rjust(7, "=")))

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容